Coding Guideline aktualisiert
parent
26d430202e
commit
e6b0ae9a28
@ -17,4 +17,32 @@
|
||||
- Anzahl der Kollektionen gering halten, da
|
||||
- viele Verknüpfungen mehrere Anfragen im tibi-server benötigen (Performance)
|
||||
- Datensätze verteilt auf mehrere Kollektionen dem Benutzer mehr Klicks abverlangen (Usability)
|
||||
- mongoDB im Gegensatz zu relationalen Datenbanken sehr gut mit eingebetten Daten innerhalb von Objekt-Strukturen zurecht kommt
|
||||
- mongoDB im Gegensatz zu relationalen Datenbanken sehr gut mit eingebetteten Daten innerhalb von Objekt-Strukturen zurecht kommt
|
||||
- jedoch, Daten auf nötige Kollektionen aufteilen um Backend-Masken nicht zu überladen
|
||||
|
||||
### Definition von Modulen
|
||||
|
||||
- Festlegen was statische Template-Elemente sind und was Module sind, die in Seiteninhalten wiederverwendet werden können
|
||||
- Einteilen der Module nach Typen, z.B.
|
||||
- Mitarbeiterliste
|
||||
- News-Teaser-Liste
|
||||
- zu den jeweiligen Modulen Ausprägungen und die damit verbunden Einstellmöglichkeiten festhalten, z.B.
|
||||
- Anzahl der Einträge in einer Liste
|
||||
- Darstellungsart der Liste
|
||||
- Filterung der Einträge
|
||||
- Sortierung der Einträge
|
||||
|
||||
### Beispiel
|
||||
|
||||
- **Navigation** als eigene Kollektion
|
||||
- **Inhalte** der Website alle zusammen in ein Kollektion, da
|
||||
- über Pfad ansprechbar, welcher als Feld innerhalb der Kollektion gespeichert wird und somit beim Aufruf nur 1 eine Kollektion durchsucht werden muss
|
||||
- viele Felder wiederverwendet werden über verschiedene Inhaltstypen (z.B. Meta-Titel, Keywords, Veröffentlichungsdatum)
|
||||
- Inhalte-Kollektion kann unterschiedliche Arten von Inhalten trennen durch
|
||||
- Typ-Feld
|
||||
- Verwendung der Unternavigationsfunktion mit Vorfilterung des Types, dabei kann ebenso das Tabellenlayout je Inhaltstyp definiert werden
|
||||
- **Mediathek**-Kollektion als Sammelbecken für alle Uploads
|
||||
- Dateien können kann über Foreign-Key-Beziehung in anderen Kollektionen verknüpft und wiederverwendet werden
|
||||
- **Module**-Kollektion zur Verwaltung der Einstellungen benötigter Frontend-Module, z.B.
|
||||
- ein Modul kann z.B. eine Teaser-Liste des Inhaltstyps "News" sein, welcher in der Inhalte-Kollektion gespeichert ist
|
||||
- Einstellungen zu einem Modul könnten z.B. Filterkriterien und die Sortierung für das Listing sein
|
Loading…
Reference in New Issue
Block a user