Kompatibilität
Inhaltsverzeichnis |
Crownpeak ist bestrebt, dass einzelne FirstSpirit-Versionen untereinander in hohem Maße kompatibel sind und Kunden höchstens bei einem Wechsel auf eine neuere Major-Version nur geringe Migrationsaufwände entstehen. Bei einem Wechsel innerhalb einer Major-Version sollen prinzipiell keine Migrationsaufwände entstehen.
Um trotzdem innerhalb einer Major-Version neue nutzbringende Funktionalitäten in FirstSpirit integrieren zu können, die ggf. auch einmal wesentlichere Auswirkungen auf die Benutzerführung und / oder Änderungen der Datenstruktur/-haltung haben können, die potenziell bei einem Versionswechsel zu Migrationsaufwänden führen, wurde der Bereich „Kompatibilität“ eingeführt.
Hier hat der Kunde die Möglichkeit, selbst zu entscheiden, ob er potenzielle Migrationsaufwände in Kauf nehmen möchte, um so in den Genuß neuer Funktionalität zu kommen, bzw. er kann den Zeitpunkt der Funktionsumstellung selbst bestimmen.
Einstellungen in diesem Bereich beeinflussen das Systemverhalten. Die Veränderung einer Einstellung kann zu Datenverlust führen. Die Auswirkungen im Projekt sollten daher im Vorfeld auf einem Entwicklungs- oder Test-System sorgfältig geprüft und die entsprechende FirstSpirit Dokumentation konsultiert werden. |
FS_CATALOG: Verschachtelung sprachabhängiger Eingabekomponenten
In früheren FirstSpirit-Versionen war es technisch möglich, FS_CATALOG und alle inneren Formulare sprachabhängig zu konfigurieren (entspricht useLanguages="yes", dies ist die Standardeinstellung für alle Eingabekomponenten-Typen). Dies führte allerdings häufig zu Problemen hinsichtlich Übersetzungsprozessen, der Bedienbarkeit („Usability“) der Eingabekomponenten für Redakteure allgemein, der Wartbarkeit in der Entwicklung und auch zu Performance-Beeinträchtigungen. Inhalte, die der Redakteur eingibt, können beispielsweise (speziell auch in Kombination mit einer Verwendung der Übersetzungshilfe) in verschachtelten sprachabhängigen FS_CATALOG-Konstrukten potenziell nicht ausgegeben (z. B. Generierung) oder nachträglich bearbeitet werden.
Empfohlen wird daher die Verwendung von sprachunabhängigen Komponenten innerhalb einer sprachabhängigen FS_CATALOG-Komponente. Als Folge davon mussten Absatzvorlagen, die innerhalb einer FS_CATALOG-Komponente genutzt werden sollen, potenziell doppelt angelegt werden, einmal sprachunabhängig (zur Verwendung in einer sprachabhängigen FS_CATALOG-Komponente) und einmal sprachabhängig (zur Verwendung in allen anderen Fällen).
Für Projekte, die mit FirstSpirit-Version 5.2R5 oder höher neu erstellt werden, wird standardmäßig die Verwendung sprachabhängiger Eingabekomponenten auf Ebenen innerhalb einer sprachabhängigen FS_CATALOG-Komponente unterbunden. Sprachabhängige Eingabekomponenten in Vorlagen, die innerhalb einer ebenfalls sprachabhängigen FS_CATALOG-Komponente verwendet werden, werden von FirstSpirit automatisch als sprachunabhängig behandelt. Somit werden die Nachteile des alten Verhaltens ausgeräumt.
Das alte Verhalten ist nicht empfohlen und wird in Zukunft wahrscheinlich nicht mehr unterstützt. Eine Migration wird empfohlen. |
Für Projekte, die bei einem Upgrade des Servers von einer früheren Version auf FirstSpirit-Version 5.2R5 übernommen werden oder die per Projektimport von einem Server mit einer früheren Version von FirstSpirit auf einem Server mit FirstSpirit-Version 5.2R5 importiert werden, wird das alte Verhalten bis auf Weiteres weiterhin unterstützt.
Um Projekte aus früheren FirstSpirit-Versionen auf eine Verwendung des neuen Verhaltens vorzubereiten, bietet FirstSpirit zwei Kompatibilitätseinstellungen an, die eine schrittweise Migration ermöglichen.
Die Datenhaltung zwischen altem und neuen Verhalten ist unterschiedlich. Werden in einem Projekt sprachabhängige Komponenten innerhalb einer sprachabhängigen FS_CATALOG-Komponente verwendet, müssen die Daten der FS_CATALOG-Komponente geprüft und ggf. gesichert bzw. angepasst werden, bevor das neue Verhalten projektweit verwendet werden kann. Ohne Prüfung und Sicherung kann ein Wechsel zu Datenverlust im Projekt führen: Sind bereits Inhalte in einer FS_CATALOG-Komponente bzw. in inneren Formularen dieser Komponente vorhanden, so werden nach dem Speichern der FS_CATALOG-Komponente die Inhalte in der Sprache beibehalten, die gerade vom Redakteur bearbeitet wurde (Fallback: Mastersprache); waren Inhalte in anderen Sprachen vorhanden, so entfallen diese. |
Beide Kompatibilitätseinstellungen haben folgende Auswirkungen:
- Kompatibilitätseinstellung „inaktiv“: In einer sprachabhängigen FS_CATALOG-Eingabekomponente werden innere Eingabekomponenten, die in der jeweiligen Vorlage als sprachabhängig konfiguriert sind, als sprachunabhängig behandelt (neues Verhalten).
- Kompatibilitätseinstellung „aktiv“: In einer sprachabhängigen FS_CATALOG-Eingabekomponente werden innere Eingabekomponenten, die in der jeweiligen Vorlage als sprachabhängig konfiguriert sind, als sprachabhängig behandelt (altes Verhalten).
Die Kompatibilität für einzelne FS_CATALOG-Komponenten kann über einen Parameter (forbidPolyglotDataHierarchy) in Vorlagen abgeschaltet werden. Dies erlaubt die Anwendung des neuen Standardverhaltens für einzelne FS_CATALOG-Eingabekomponenten, während andere FS_CATALOG-Komponenten, für die dieser Parameter nicht gesetzt ist, weiterhin kompatibel zu früheren FirstSpirit-Versionen behandelt werden.
Entsprechen alle FS_CATALOG-Komponenten im Projekt dem neuen Verhalten, kann die Kompatibilitätseinstellung projektweit deaktiviert werden, und zwar im Bereich "FS_CATALOG: Verschachtelung sprachabhängiger Eingabekomponenten":
Zugelassen (Kompatibilitätseinstellung „aktiv“, "altes" Verhalten): Die Verwendung sprachabhängiger Eingabekomponenten innerhalb einer sprachabhängigen FS_CATALOG-Komponente wird erlaubt.
Dies kann zu Problemen beim Datenzugriff führen (s.o.), diese Einstellung ist daher nicht empfohlen. Sie ist ausschließlich zur Sicherstellung der Abwärts-Kompatibilität zu älteren Projekten vorgesehen.
Dies ist die Standardeinstellung für Projekte, die mit einer Version unterhalb von 5.2R5 erstellt wurden. Um zur empfohlenen Einstellung „Unterbunden“ (s.u.) zu wechseln, kann dies mit einem Klick auf die Schaltfläche Unterbinden erreicht werden.
Unterbunden (Kompatibilitätseinstellung „inaktiv“, „neues“ Verhalten): Mit dieser Option wird projektweit für sprachabhängige Eingabekomponenten innerhalb einer sprachabhängigen FS_CATALOG-Komponente eine einsprachige Pflege erzwungen. Innere Vorlagen werden automatisch als sprachunabhängig (useLanguages="no") interpretiert. Inhalte in inneren Eingabekomponenten können dann nur noch einsprachig eingegeben und gespeichert werden.
Dies ist die Standardeinstellung für Projekte, die mit einer FirstSpirit-Version 5.2R5 und höher erstellt wurden. Diese Einstellung wird empfohlen.
Auch wenn ein Wechsel zu "Unterbunden" empfohlen wird, kann dieser zu einem Datenverlust im Projekt führen: Sind bereits Inhalte in einer FS_CATALOG-Komponente bzw. in inneren Formularen dieser Komponente vorhanden, werden nach dem Speichern der FS_CATALOG-Komponente die Inhalte in der Sprache beibehalten, die gerade vom Redakteur bearbeitet wurde (Fallback: Mastersprache), waren Inhalte in anderen Sprachen vorhanden, entfallen diese. Die Auswirkungen im Projekt sollten daher im Vorfeld sorgfältig geprüft und potenziell entfallende Inhalte gesichert werden. |
Zu weiteren Informationen siehe auch
- FirstSpirit Release-Notes zu Version 5.2R5
- CATALOG (→Online Dokumentation FirstSpirit)
ExternalSync/ContentTransport: Mapping basierten Schema Import nutzen
Über die Funktionalitäten FirstSpirit „External Synchronization“ und FirstSpirit „Content Transport“ können Projektinhalte und Eigenschaften eines FirstSpirit-Projekts (Quellprojekt) exportiert und in weitere FirstSpirit-Projekte (Zielprojekte) importiert werden (zu weiteren Informationen siehe Einleitung (→Dokumentation „External Synchronization“) und Dokumentation zu FirstSpirit ContentTransport.
Unterscheiden sich die Projektsprachen zwischen Quell- und Zielprojekt, werden bei einem Transport von Datenbank-Schemata standardmäßig im Ziel fehlende, sprachabhängige Tabellenspalten nicht ergänzt und sprachabhängige, nur im Ziel vorhandene Spalteninhalte, überschrieben.
Dieses Verhalten kann mithilfe der Option „ExternalSync/ContentTransport: Mapping basierten Schema Import nutzen“ beeinflusst werden:
Mit Aktivieren werden beim Import eines Datenbank-Schemas
- im Datenbank-Schema des Zielprojektes fehlende, sprachabhängige Tabellenspalten ergänzt,
- das Mapping von Eingabekomponente auf Tabellenspalte vorgenommen und
- sprachabhängige, nur im Ziel vorhandene Spalteninhalte, nicht überschrieben.
Dies ist die empfohlene Einstellung.
Voraussetzungen und Hinweise:
- Es werden im Zielprojekt nur Tabellenspalten erzeugt (und gemapped), für die auch im Quellprojekt ein Mapping vorhanden ist.
- Es werden im Zielprojekt nur Tabellenspalten für Sprachen erzeugt (und gemapped), die im Quellprojekt nicht vorhanden sind.
- Es werden im Zielprojekt nur Tabellenspalten erzeugt (und gemapped), wenn sie im Quellprojekt sprachabhängig sind (aktivierte Option „Für alle Sprachen erzeugen“ beim Anlegen einer Tabellenspalte).
- Die Funktionalität nutzt das FirstSpirit-Namensschema für sprachabhängige Spalten als Basis, Schema: Spaltenname+_Sprachkürzel (also z. B. „Spalte_DE“, „Spalte_EN“, „Spalte_FR“ usw.). Bei Projekten, die nicht dieses Schema verwenden, kann dies potenziell zu unerwartetem Verhalten führen.
- Die Mastersprache des Ziel- bzw. Quellprojektes wird (als Fallback) als Basis für den Mechanismus genutzt.
- Struktur und Inhalte von externen Datenbanken dürfen nicht verändert werden: Daher findet im Falle von externen Datenbanken kein Mapping statt.
Das Aktivieren dieser Option stellt eine Optimierung im Vergleich zum Standardverhalten dar. Gleichzeitig handelt es sich aber um eine wesentliche Änderung im Software-Verhalten (z. B. im Vergleich zu früheren Releases). Ein Wechsel bzw. die Aktivierung sollte zuvor möglichst auf einem Testsystem ausgeführt und erprobt werden. Potenziell vorhandene Projektlösungen, die die Funktionalität dieses Features imitieren, müssen gegebenenfalls angepasst oder entfernt werden. Ansonsten kann es zu unerwartetem Verhalten kommen (z. B. Datenverlust oder fehlschlagende Skripte). |
Welche Option für das Projekt aktuell gewählt ist, kann links im Text abgelesen werden (Aktiviert bzw. Deaktiviert):
Aktiviert: (empfohlen) Ist diese Option aktiviert, werden beim Import eines Datenbank-Schemas im Ziel fehlende, sprachabhängige Datenbankspalten ergänzt und sprachabhängige, nur im Ziel vorhandene Spalteninhalte, werden nicht überschrieben.
Deaktiviert: (nicht empfohlen) Dies ist die aktuelle Standardeinstellung. Ist diese Option aktiviert, werden beim Import eines Datenbank-Schemas im Ziel fehlende, sprachabhängige Datenbankspalten nicht ergänzt und sprachabhängige, nur im Ziel vorhandene Spalteninhalte, werden überschrieben.
Eine Umstellung ist per Klick auf den Button möglich („Deaktivieren“ bzw. „Aktivieren“) und muss per Sicherheitsabfrage bestätigt werden.
Vereinfachtes Beispiel
- Quellprojekt: Sprache DE
- Zielprojekt: Sprachen DE, EN
1) Ausgangssituation:
Quellprojekt: Datenbankschema enthält eine Tabelle mit einer Spalte (DE):
In der zugehörigen Tabellenvorlage ist die Spalte auf DE gemapped:
2) Export
Im Quellprojekt z. B. über „Content Transport“ / „Datenbankschema hinzufügen“ Feature mit obigem Datenbankschema erstellen.
3) Import
Im Zielprojekt z. B. über „Content Transport“ / „Feature installieren“ das Feature aus 2) importieren.
4a) Ergebnis mit deaktivierter Option „ExternalSync/ContentTransport: Mapping basierten Schema Import nutzen“
Datenbankschema im Zielprojekt enthält lediglich Tabellenspalte DE (nicht EN):
Es erfolgt kein Mapping in der Sprache EN:
4b) Ergebnis mit aktivierter Option „ExternalSync/ContentTransport: Mapping basierten Schema Import nutzen“
Datenbankschema im Zielprojekt enthält Tabellenspalte EN:
Die Tabellenspalte EN ist korrekt auf die Sprache EN gemapped:
Erfahren Sie hier mehr zu Datenbanken in FirstSpirit:
Bilder als Datei erkennen
Bilder und Dateien in FirstSpirit
Die Medien-Verwaltung von FirstSpirit dient der Verwaltung aller verwendeten Medien eines Projektes. Dies können
- Bilder (Type Picture) beliebiger Grafikformate sein (z. B. PNG , JPG, WebP) oder
- andere Medienformate (Type File) (z. B. PDF-, MP3- oder Video-Dateien).
Verwendung nicht unterstützter Grafikformate
FirstSpirit unterstützt nicht alle verfügbaren Grafikformate.
Nicht unterstützte Grafikformate werden nach dem erfolgreichen Upload in der Medien-Verwaltung des Projekts nicht als Medien vom Typ Picture angelegt, sondern als Medien vom Typ File.
Diese Medien können in FirstSpirit zwar verwendet bzw. referenziert werden. Funktionalitäten, wie z. B. der Bildzuschnitt oder ein Vorschaubild sind für nicht unterstützte Grafikformate aber nicht verfügbar.
Kompatibilitätsmodus - Bilder als Datei erkennen
Bestehende Medien ändern ihren Typ nicht automatisch von File auf Picture:
Wird ein Grafikformat (z. B. SVG) in einer neueren FirstSpirit-Version unterstützt, bleibt die Zuordnung von bereits vorhandenen Medien in den Projekten aus Kompatibilitätsgründen bestehen.
Dazu wird für bestehende Projekte bei der Aktualisierung auf eine neue FirstSpirit-Version die Kompatibilitätseinstellung „Bilder als Datei erkennen“ mit der entsprechenden Dateierweiterung gesetzt (z. B.: „svg“).
Für das Projekt gilt dann:
- Die nun unterstützten Grafikformate werden im Projekt weiterhin als Medien vom Typ File verwaltet.
- Neu angelegte Medien werden in diesem Projekt ebenfalls als Medium vom Typ File erkannt.
Für alle neuen Projekte bleibt die Kompatibilitätseinstellung leer. Hier gilt:
- Bei neu angelegten Medien wird ein SVG jetzt automatisch als Medium vom Typ Picture erkannt und ein Vorschaubild berechnet.
Ist der automatisch gesetzte Kompatibilitätsmodus für ein Projekt nicht gewünscht, kann die Konfiguration hier manuell geändert werden. |