Search the FirstSpirit Knowledge Base
Hallo zusammen
ich habe grade mal eine grundsätzliche Frage zu mehrsprachigen Seiten / Sections.
Folgendes Szenario:
Mein Projekt verfügt über 2 Sprachen (DE - Mastersprache / EN).
Ich lege in den Inhalten eine neue Seite an. Der Sprachkanal DE wird automatisch als "vollständig übersetzt" markiert, EN nicht. (dh. der Haken ist nicht gesetzt) --> Soweit alles richtig
Lege ich nun in den Inhalten einen neuen Absatz an, ändert sich ja mehr oder weniger die Funktionalität des "Sprachreiters" (auf Absatzebene). Wir reden nun nicht mehr von einer vollständigen Übersetzung, sondern ob die Section in der Ausgabe generiert wird.
Beim Anlegen der Section werden nun aber beide Sprachreiter angecheckt.
Das Problem was ich jetzt habe bezieht sich auf Formularfelder die sowohl sprachabhängig, als aber auch Pflichtfelder sind.
Befülle ich das Feld in DE, aber nicht in EN komme ich nicht durch die Validierung, obwohl ich auf Seitenebene ja schon gesagt habe das ich EN nicht übersetzen möchte.
Spätestens aber doch wenn ich den Haken bei EN auf Absatzebene entferne möchte ich doch an der Validierung "vorbei"...
Stehe ich hier auf dem Schlauch oder verstehe ich lediglich die grundsätzliche Idee hinter dem Vorgehen nicht?
Was ist hier best practice?
Gibt es eine Möglichkeit global zu definieren, ob Absätze standardmäßig akiviert sind oder nicht?
Den Redakteur zu zwingen beide Sprachen zu pflegen ist hier für mich keine Option, wenn die Sprache nicht generiert werden soll.
Ich hatte die Community bereits durchsucht, alelrdings nichts gefunden was mit direkt weitergeholfen hat. Wenn ich hier etwas übersehen habe bitte ich das zu entschuldigen....
Danke und Gruß,
Florian
FS 5.2R5
Hallo Florian,
wie machst Du denn aktuell die Validierung? Per allowEmpty oder Regel? Bei mehrsprachigen Projekten empfehlen wir unbedingt die Nutzung von Regeln.
Der "ist übersetzt"-Haken an der Seite ist ja erstmal nur ein Flag. Wie das behandelt wird kann man in den Projekt-Optionen im ServerManager einstellen.
Wenn Felder nur Pflichtfelder sein sollen wenn die Seite als "Übersetzt" markiert ist, muss das mit in die Regel rein. Bei mehrsprachigen Projekten macht es übrigens je nach Anzahl der Sprachen ggf. Sinn, hier für andere Sprachen als die Mastersprache nur scope="release" zu nutzen.
Wichtig in diesem Zusammenhang auch: Die Prüfung auf "übersetzt" (Seite) oder auch "Absatz erzeugen" (Absätze) darf nicht in die Vorbedingung (<IF>) der Regel sondern muss mit in das <WITH> integriert werden, siehe z.B. auch hier.
Eine Möglichkeit das Standardverhalten der Haken zu definieren gibt es nicht.
Viele Grüße
Michael
Hallo Florian,
wie machst Du denn aktuell die Validierung? Per allowEmpty oder Regel? Bei mehrsprachigen Projekten empfehlen wir unbedingt die Nutzung von Regeln.
Der "ist übersetzt"-Haken an der Seite ist ja erstmal nur ein Flag. Wie das behandelt wird kann man in den Projekt-Optionen im ServerManager einstellen.
Wenn Felder nur Pflichtfelder sein sollen wenn die Seite als "Übersetzt" markiert ist, muss das mit in die Regel rein. Bei mehrsprachigen Projekten macht es übrigens je nach Anzahl der Sprachen ggf. Sinn, hier für andere Sprachen als die Mastersprache nur scope="release" zu nutzen.
Wichtig in diesem Zusammenhang auch: Die Prüfung auf "übersetzt" (Seite) oder auch "Absatz erzeugen" (Absätze) darf nicht in die Vorbedingung (<IF>) der Regel sondern muss mit in das <WITH> integriert werden, siehe z.B. auch hier.
Eine Möglichkeit das Standardverhalten der Haken zu definieren gibt es nicht.
Viele Grüße
Michael
Hallo Michael,
danke für die schnelle Antwort.
Wir haben das Projekt erst übernommen und migrieren grade von FS 4.2 auf FS 5.2, daher findet die Validierung hier per allowEmpty statt.
hier für andere Sprachen als die Mastersprache nur scope="release" zu nutzen.
Du meinst hier Scope der Validierung in den Regeln oder?
Das ist zwar schon die richtige Antwort oben, ich lasse das aber noch so lange offen bis ich es auch implmentiert habe. Entsprechende Rückfragen würde ich dann hier mit aufnehmen.
Danke schon mal!
Gruß,
Florian
Hallo Florian,
hier für andere Sprachen als die Mastersprache nur scope="release" zu nutzen.
Du meinst hier Scope der Validierung in den Regeln oder?
Ja, genau. Kommt aber immer auf die konkrete Anforderung an. Seitdem es die Regeln gibt, macht es Sinn die Eigenschaft "Pflichtfeld" im jeweiligen Kontext genauer zu definieren, also auch das "wann" (Sofort, erst beim Release) und "unter welchen Voraussetzungen" (übersetzt, aktiv usw.). Da gibt es die unterschiedlichsten (in ihrem Kontext jeweils sinnvollen) Ausprägungen je nach gewünschtem Workflow, Anzahl der Sprachen (auch in Verbindung mit "wer pflegt welche Sprachen") usw.
Viele Grüße
Michael
Hallo Michael,
Eine Möglichkeit das Standardverhalten der Haken zu definieren gibt es nicht.
gibt es mittlerweile die Möglichkeit das Standardverhalten für die Haken auf Absatzebene zu definieren?
Viele Grüße
Julia
Hallo Florian,
das Geheimnis ist vermutlich ein weiteres Attribut zur Validierung:
<RULE>
<WITH>
<NOT>
<AND>
<PROPERTY name="TRANSLATED" source="#global"/>
<PROPERTY name="INCLUDED" source="#global"/>
<PROPERTY name="EMPTY" source="st_items"/>
</AND>
</NOT>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_items"/>
<MESSAGE lang="*" text="At least one accordion element must be maintained."/>
<MESSAGE lang="DE" text="Mindestens ein Akkordeonelement muss gepflegt sein."/>
</VALIDATION>
</DO>
</RULE>
Property TRANSLATED prüft ob die Seite übersetzt ist.
Property INCLUDED prüft ob der Absatz inkludiert. (Siehe: https://docs.e-spirit.com/odfs/vorlagenentwick/regeln/formulareigensc/eigenschaft-inc/index.html)
Ich denke, dass das dein Problem lösen. 🙂 - So kannst du die Validierung nur anschalten, wenn der Absatz auch inkludiert ist.
Beste Grüße
Sandro