Aufbau und Konfiguration des FirstSpirit-Projekts
1) Zentrales FirstSpirit-Projekt anlegen
Initial wird ein FirstSpirit-Projekt angelegt, mit allen Inhalten und Projekteigenschaften, die für die Entwicklung des Projekts erforderlich sind, z. B.:
- Benutzer
- Präsentationskanäle
- Sprachen
- Auflösungen
- Module
- usw.
2) Aufbau des FirstSpirit-Projekts (empfohlen)
Das Exportieren und Importieren von FirstSpirit-Projektinhalten über External Synchronization sollte vollständig und möglichst übersichtlich nach definierten Abläufen erfolgen. Auf diese Weise können Probleme durch unvollständige Projektinhalte (in den lokalen Entwicklungsumgebungen) und dadurch verursachte Konflikte bereits im Vorfeld vermieden werden.
Es wird empfohlen, immer die gesamte Vorlagen-Verwaltung zu exportieren.
Damit referenzierte Elemente ebenfalls bequem synchronisiert werden können, sollten diese in einem eigenen Ordner in der jeweiligen Verwaltung gesammelt und Teil des Synchronisierungsprozesses werden. Das bedeutet, diese Ordner müssen bei jedem Synchronisierungslauf ebenfalls ex- bzw. importiert werden. Bei Verwendung von Datenbank-Inhalten müssen auch die entsprechenden CS2-Objekte ex- bzw. importiert werden.
Welche Objekte abhängig von den Vorlagen sind und mit synchronisiert werden sollten, kann über Strg+R (bzw. Kontextmenüeintrag „Extras / Abhängigkeiten anzeigen“) auf der jeweiligen Vorlage ermittelt werden. |
Daher ist ein Projektaufbau nach folgendem Schema empfohlen:
Inhalte:
Ordner, der alle Seiten enthält, die mit den Seitenreferenzen verbunden sind, die als Vorschauseiten für die Vorlagen (Register „Eigenschaften“) verwendet werden.
Der Ordner kann auch Unterordner enthalten.
Datenquellen:
Alle Datensätze eines Projekts, die für die Vorlagenentwicklung benötigt werden. Zu jedem Datensatz muss darüber hinaus auch eine passende Datenquelle exportiert werden.
Medien:
Ordner, der alle Medien enthält, die für die Entwicklung erforderlich sind. Eine Referenz zu diesen Medien wird in der Regel auf den Ausgabekanal-Registern hergestellt (z. B. über $CMS_REF(media:"...")$):
- Bild-Dateien für Icons
- Bild-Dateien für Buttons
- Bild-Dateien für Navigationselemente
- CSS-Dateien
- JavaScript-Dateien
Siehe z. B. Ordner Layout auf der Seite „Einfaches Szenario“. Der Ordner kann auch Unterordner enthalten.
Struktur:
Ordner, der alle Seitenreferenzen enthält, die als Vorschauseiten der Vorlagen (Register „Eigenschaften“) verwendet werden.
Globale Inhalte:
Ordner, der alle Globalen Inhalte enthält, die auf den Ausgabekanal-Registern der Vorlagen referenziert sind (z. B. über $CMS_VALUE(#global.gca("..."))$).
Der Ordner kann auch Unterordner enthalten.
3) Lokale FirstSpirit-Projekte anlegen
Im Umfeld der Verteilten Entwicklung arbeitet jeder beteiligte Entwickler in einer eigenen, lokalen Entwicklungsumgebung. Jeder Entwickler verwendet dazu einen eigenen, lokalen FirstSpirit-Server und ein eigenes, lokales FirstSpirit-Projekt.
Das lokale Projekt kann zunächst „leer“ sein. Die Inhalte und Einstellungen können im Anschluss über External Synchronization aus dem zentralen FirstSpirit-Projekt (bzw. dem Remote-Repository) übernommen werden.
Alternativ kann das zentrale Projekt über die Funktionen „Projekt exportieren“ / „Projekt importieren“ (ServerManager - Menü „Projekt“) auf den lokalen Servern der Entwickler angelegt werden.
Alle am Projekt beteiligten Entwickler und Systeme müssen ein einheitliches Setting verwenden. Das bedeutet: Die lokalen Projekte müssen einen einheitlichen Aufbau und identische Projekteinstellungen besitzen! |
Warum ist das wichtig? - ein Beispiel:
In einer Verteilten Entwicklungsumgebung arbeiten mehrere Entwickler an einem FirstSpirit-Projekt. Die geänderten Projektinhalte und -einstellungen werden über ein Versionskontrollsystem auf mehrere Systeme verteilt, z. B.:
- auf weitere, lokale Entwicklungsumgebungen („Development“)
- auf ein Testsystem („Test“)
- auf ein Produktivsystem („Productive“)
Haben in diesem Szenario die einzelnen Systeme z. B. unterschiedliche Sprachmengen, wird das immer dann zu Konflikten führen, wenn zusätzlich die Projekteigenschaft projectproperty:LANGUAGES über External Synchronization transportiert wird (also ein Bestandteil der Export- bzw. Import-Operation ist).
In diesem Fall führt ein „Check-in / Export“ vom Entwicklungssystem (Sprachmenge: 2) ins VCS und ein anschließender „Check-out / Import“ auf dem Testsystem (Sprachmenge: 10) dazu, dass die Inhalte der nicht berücksichtigten 8 Sprachen entfernt werden.
4) Rechte konfigurieren
Für den Export bzw. Import von Projekt-Inhalten sind die entsprechenden Benutzerrechte zum Ausführen der jeweiligen Aktionen erforderlich.
Beispiel: Werden beim Import Objekte im Projekt angelegt, benötigt der Benutzer das Recht „Objekt anlegen“ und / oder das Recht „Ordner anlegen“. Sollen bei einem Import Objekte gelöscht werden, sind die Rechte „Objekt löschen“ und / oder „Ordner löschen“ erforderlich.
Einige Aktionen können Administratoren-Rechte erfordern. Für den Export bzw. Import von Servereigenschaften (Benutzer, Fonts usw.) sind die Rechte eines Server-Administrators erforderlich. Für den Export bzw. Import von Projekteigenschaften mindestens die Rechte eines Projekt-Administrators. |