Schritt 3) Modifizieren der Inhalte in der lokalen Entwicklungsumgebung
Projektinhalte anlegen, verändern, löschen
Inhaltsverzeichnis |
In diesem Schritt werden die Projektinhalte bearbeitet.
Dazu kann der lokale Entwicklungsstand:
- intern über die lokale FirstSpirit-Projektinstanz (empfohlen) oder
- extern direkt im Dateisystem (mit Einschränkungen)
verändert werden.
Vergleiche Abbildung Schritt 3) Modification.
Ausgangssituation
Vorbereitung
Das lokale Repository des Entwicklers wurde zuvor über das Versionskontrollsystem aktualisiert (siehe 1) Update). Dabei wurde der zentrale Entwicklungsstand aus dem Remote-Repository übernommen. Die Projektinhalte und ggf. Projekteigenschaften liegen anschließend im Sync-Verzeichnis (Dateisystem) und sind bereit zum Import.
Vor der Weiterentwicklung wurden alle Inhalte in die lokale FirstSpirit-Projektinstanz importiert (siehe 2) Import).
Projektinhalte bearbeiten
Im FirstSpirit-Projekt (intern)
Die Vorlagenentwicklung wird direkt in der lokalen FirstSpirit-Projektinstanz durchgeführt.
Hier können
- Objekte angelegt,
- Objekte geändert,
- Objekte verschoben,
- Objekte gelöscht
werden.
Jeder Entwickler arbeitet dabei in seiner eigenen, lokalen Umgebung. Alle Änderungen zwischen der (lokalen) Projektinstanz und dem Entwicklungsstand im (lokalen) Dateisystem erfolgen über die Export und Import-Funktionalität von „External Synchronization“:
Im Dateisystem (extern)
Auf Dateisystem-Ebene liegen Projektinhalte und -eigenschaften, die über External Synchronization angelegt werden, in einem „für Menschen lesbaren“ Format vor. Projektinhalte, wie z. B. eine CSS-Datei aus der Medien-Verwaltung des Projekts, werden auch im Dateisystem als CSS-Datei abgelegt. Die Ordnerstrukturen aus dem Projekt werden im Dateisystem abgebildet. Dateinamen und weitere Informationen aus dem Projekt werden ebenfalls berücksichtigt.
Die Projektinhalte können damit auch im Dateisystem einfach wiedergefunden und bearbeitet werden – außerhalb der FirstSpirit-Projektinstanz – müssen aber anschließend wieder in das Projekt importiert werden (siehe Weiteres Vorgehen).
Auf Dateisystem-Ebene dürfen
- Objekte geändert
- Objekte verschoben
werden.
Einschränkungen (externe Bearbeitung)
Kein Kopieren von Elementen im Dateisystem! Auf Dateisystem-Ebene dürfen keine Kopien von Elementen angelegt werden. Hintergrund: Interne Informationen (z. B. IDs, GIDs) würden in diesem Fall ebenfalls kopiert. Das führt beim Importieren zu doppelten IDs im FirstSpirit-Projekt. |
Kein Anlegen von Elementen im Dateisystem! Auf Dateisystem-Ebene dürfen keine Elemente angelegt werden. Hintergrund: Die internen Metainformationen, die benötigt werden, um Inhalte zurück in ein FirstSpirit-Projekt zu importieren, können nicht manuell generiert werden. Die fehlenden Informationen führen anschließend beim Importieren zu Problemen. |
Kein Löschen von Elementen im Dateisystem! Auf Dateisystem-Ebene dürfen keine Elemente entfernt werden. Hintergrund: Auch in diesem Fall genügt es nicht, das jeweilige Objekt zu entfernen. Auch die internen Metainformationen müssten manuell angepasst werden. |
Interne Metainformationen dürfen nicht verändert werden! (Ordner „.FirstSpirit“ ) Der Ordner „.FirstSpirit“ enthält interne Metainformationen für die erfolgreiche Synchronisierung der externen Inhalte mit dem FirstSpirit-Projekt. Diese internen Daten dürfen nicht geändert werden. Exportierte Projektinhalte mit der Bezeichnung FS_ dürfen ebenfalls nicht extern bearbeitet werden. Hintergrund: Beim Export von FirstSpirit-Inhalten über External Synchronization werden auch technische Dateien mit exportiert. Diese enthalten z. B. Informationen zum MIME-Type einer Datei, CRC-Checksummen, Referenztabellen oder andere allgemeine, internen Informationen. Diese Dateien dürfen nicht verändert werden. |
Das Verschieben von Elementen im Dateisystem sollte sehr umsichtig ausgeführt werden. Hintergrund: Auf Dateisystem-Ebene können Inhalten auch in Projektstrukturen verschoben werden, in denen diese Inhalte nicht gültig sind (z. B. ein Ordner aus der Medien-Verwaltung in einen anderen FirstSpirit-Bereich, z. B. "Inhalte"). Diese fehlerhaften Verschiebe-Operationen führen anschließend zu Fehlern beim Importieren ins Projekt. |
Weiteres Vorgehen
Projektinhalte erneut importieren (bei externer Änderung)
Für alle externen Änderungen gilt: Wurden Projektinhalte extern (also außerhalb der FirstSpirit-Umgebung) geändert, sollten die Inhalte vor einem Export und der Übernahme in den zentralen Stand zuerst in die lokale FirstSpirit-Projektinstanz importiert und erst im Anschluss daran in das lokale Dateisystem exportiert werden.
Warum ist das wichtig? Neben den eigentlichen Projektinhalten werden beim Exportieren über External Synchronization zusätzliche, interne Informationen angelegt. Diese sorgen beim Importieren der Inhalte in eine FirstSpirit-Projektinstanz dafür, dass alle Inhalte im Projekt richtig zugeordnet und angelegt werden können, Abhängigkeiten berücksichtigt werden usw.
Durch Änderungen der Inhalte auf Dateisystemebene (bspw. ein unerlaubtes Löschen von Objekten) können inkonsistente Zustände im Projekt auftreten, weil die internen Metainformationen nicht mehr zu den tatsächlich vorliegenden Inhalten passen.
Damit ein fehlerhafter Entwicklungsstand nicht versehentlich in den zentralen Entwicklungsstand übernommen wird, sollten externe Änderungen vor der Übernahme in den zentralen Entwicklungsstand (Commit/Push) immer erst in die lokale Projektinstanz importiert werden. |
Ist der Import der externen Änderungen fehlerfrei möglich, können die Projektinhalte anschließend exportiert werden.
Projektinhalte exportieren
Ist nach Abschluss der Arbeit an einem Arbeitspaket ein stabiler Stand erreicht, muss der Entwickler die Projektdaten aus seiner FirstSpirit-Projektinstanz exportieren.
Weiter zu Schritt 4) Export.