Anwenderfragen
Konkrete Fragen zur Umsetzung von Aufgaben beim Einsatz von Plone
Wie kann man die Texte im Plone UI updatesicher anpassen?
Wie kann die individuelle Anpassung einer Plone Seite im Pool der Uni-Bonn erfolgen, wenn die Standard Texte zur Benennung eines Objektes im konkreten Kontext irreführend sind?
Situation
Die konkrete Situation besteht aus einer gegebenen Inkonsequenz der aktuellen Plone Systeme der Universität.
- Auf den übergreifenden Seiten der Universität ist das ein Suchfeld für die Suche über alle Systeme der Universität hinweg mit Google realisiert. (Nicht alle Webseiten der Institute laufen derzeit unter Plone)
- Auf den Plone Instanzen der Institute und z.B. der Hochschulbibliothek wird ein Suchfeld abgeboten, dass ausschließlich die Suche in dieser Instanz ermöglicht.
- Beim schnellen Wechsel zwischen den Angeboten nehmen nicht alle Benutzer sofort diese Unterscheidung wahr. Hierdurch werden Benutzer-Rückfragen generiert. Durch aussagekräftigere Texte in der Benutzungsoberfläche (UI=User Interface) soll eine bessere Verständlichkeit erzeugt werden.
Anwenderfrage: Wie sieht die "Best Practice" für eine solche Anpassung des UI aus, damit die Änderung unabhängig von Updates bestand hat?
Hintergrund
Die besagten Texte zur Benennung der Suchfelder liegen in der universellen Übersetzung des UI im Kern von Plone vor. Der Mechanismus nennt sich "PlacelessTranslationService" (PTS) und wird systemweit für ähnlich an vielen Stellen auftauchende Übersetzungen verwendet. Ist die Übersetzung spezifisch für ein Modul oder Ort, wird diese explizit vorgehalten. Dazu gibt es im Internationalisierungs-System (kurz i18n) sogenannte i18n-Domains, die den Geltungsbereich der Übersetzungen definieren. Die Auswahl der Überstzung erfolgt durch das "PloneLanguageTool" (PLT).
Umsetzung der Aufgabe
Um die Aufgabe isoliert zu lösen, empfiehlt sich die Erstellung eines im Kontext der Anpassung des Instituts installierbaren Moduls mit angepassten Übersetzungen, die ausschließlich genau die Anpassungen zu den sogenannten Message-ID's der besagten Texte enthalten und diese in den gewünschten i18n-Domains überlagern. Sind die entsprechenden i18n-Domains nicht vorhanden, müssen diese ggf. über overwrite rules definiert werden.
Vorteile der Vorgehensweise
Die Auslagerung der Änderung in ein Modul, macht die Anpassung offensichtlich und ermöglicht die perfekte Dokumentation der vorgenommenen Anpassung. Durch die separate Handhabung als Modul können Wechselwirkungen durch simple Deinstallation ausgeschaltet werden. Mehrere Anpassungen im selben Kontext können im Modul zusammengefasst werden, solange die Übersicht gewahrt bleibt. Eine negative Beeinflussung der Stabilität der Anwendung ist durch eine solche Anpassung nicht zu erwarten.
Umsetzung
Zur Umsetzung des Moduls ist ein Entwickler mit grundlegenden Kenntnissen der aktuellen Plone Versionen erforderlich. Anpassungen der Übersetzungen können nach Einrichtung der Übersetzungs-Datei (.po Datei) nach Einweisung von Redakteuren vorgenommen werden. Das Einspielen der Übersetzung und die Versionsverwaltung sollte wieder ein erfahrener Entwickler vornehmen.
Erforderliche Kenntnisse:
- Erstellen eines Plone3 Add-on Produkt Moduls z.B. mit dem ZopeSkel Template plone_app im Namespace der Anwendung
- Ermitteln der i18n Domain und der Message-ID's bzw. Anpassung
- Konfiguration der durch das Modul zu überschreibenden Bereiche im Modul
- Erstellen einer angepassten Basis-Übersetzung (sog. "*.pot" Datei) und der darauf basierenden Übersetzungen (sog. ".po" Dateien je Sprache).
- ggf. Anpassungen im CSS falls die Anpassungen sich im Layout auswirken.
- Möglichst Veröffentlichung des Plone Add-on Produkt Moduls als sog. Python Egg
Weiterführende Informationen (engl., für Entwickler und interessierte Anwender)
Entwickler Dokumentation
Tools


