4. Einfache Anpassungen vornehmen
Einfache Anpassungen vornehmen
Nachdem Sie nun wissen, wie Sie Inhalte erstellen und bearbeiten, werden Sie anfangen wollen, Ihre Site anzupassen. In diesem Kapitel erfahren Sie, wie Sie mit den Möglichkeiten eines Systemadministrators einfache Anpassungen in Plone vornehmen können. Zu diesem Zweck muss ein Benutzer mit Manager-Rechten angemeldet sein (siehe dazu auch Kapitel 2).
All diese Anpassungen sind Optionen bei der Konfiguration, die Sie über das Web einstellen können. Anstatt sie alle im Detail einzeln zu erklären, soll dieses Kapitel Ihnen einen Überblick über viele Themenbereiche geben und erklären, wie man gewisse Aufgaben löst. Währenddessen sollen Sie einen Blick unter die Haube werfen können. Diese Themen werden dann im weiteren Verlauf des Buches noch erweitert und erklärt.
Am Anfang bringt es am meisten, ins Plone-Control Panel (den Konfigurationsbereich von Plone) zu schauen. Alle Teile einer Plone-Site sind so entworfen, dass sie sich leicht ändern und anpassen lassen. Die blauen Reiter, die Sie am oberen Rand der Seite sehen können, sind leicht hinzuzufügen und zu entfernen. Andere Beispiele hierfür sind die Kästen in der linken und rechten Spalte, die auch Portlets genannt werden. Plone enthält mehrere Portlets, und Sie können ganz leicht angeben, wo diese angezeigt werden sollen.
Am Ende dieses Kapitels erfahren Sie, wie Sie auch Cascading Style Sheets (CSS) und Bilder in Plone anpassen können. In einer Plone-Site wird alles durch CSS beinflusst. Tatsächlich werden Sie in diesem Kapitel sehen, dass alle Farben, alle Positionsangaben und viele der Bilder, die Sie sehen können, dadurch bestimmt werden. Wenn Sie in der Lage sind, CSS-Code zu verändern, dann können Sie fast das komplette Look-and-Feel einer Plone-Site ändern. Alle in diesem Kapitel behandelten Optionen zeigen Ihnen, welch große Gestaltungsmöglichkeiten Sie in Ihrer Plone-Site haben.
Sites verwalten
Als Erstes sollten sich Systemadministratoren das Plone-Control Panel anschauen. Hiermit hat man Zugriff auf einige der Verwaltungsfunktionen einer Site, z.B. auf den Namen und die Beschreibung Ihrer Plone-Site, die Benutzer- und Gruppenverwaltung sowie auf irgendwelche eventuellen Fehler in Ihrer Site.
Der Begriff Control Panel wird sehr häufig benutzt, daher sollten Sie ihn nicht mit dem Control Panel im Zope Management Interface (ZMI) verwechseln, das die unteren Schichten der ZMI-Optionen anzeigt. Das Plone-Control Panel wird kontinuierlich weiterentwickelt, um eine benutzerfreundlichere Schnittstelle zu den Funktionen im ZMI zu bieten. Das da Projekt sehr aktiv ist, kann man nur schwer voraussagen, welche Funktionalität in Zukunft vorhanden sein wird. Daher empfehle ich, dass Sie einfach ins Control Panel gehen und sich anschauen, welche Funktionen momentan verfügbar sind. Wenn Sie Ihre Aufgabe dort nicht lösen können, müssen Sie ins ZMI gehen.
Um auf das Control Panel zuzugreifen, melden Sie sich bei Plone als Benutzer mit Manager-Rechten an. Wenn Sie keinen solchen Benutzer haben, aber selbst Site-Administrator sind, sollten Sie schnell in Kapitel 9 nachsehen, wie Sie das machen. Wenn Sie kein Site-Administrator sind, aber einen solchen Zugriff haben möchten, sollten Sie Ihren Site-Administrator darum bitten. Um zum Control Panel zu gelangen, klicken Sie auf Plone Konfiguration oben auf der Seite (siehe Abbildung 4.1).
Abbildung 4.1. Zugriff auf das Control Panel
Danach wird das Control Panel geöffnet (siehe Abbildung 4.2).
Abbildung 4.2. Das Plone-Control Panel
Im Control Panel sind folgende Funktionen verfügbar:
- Produkte hinzufügen/löschen: Mit einem Klick auf diesen Link können Sie die Installation von Produkten automatisieren (das wird detailliert in Kapitel 10 behandelt).
- Fehlerprotokoll: Mit diesem Link gelangen Sie zum Fehlerprotokoll der Plone-Site.
- E-Mail Einstellungen: Hiermit können Sie den SMTP-Server (Simple Mail Transfer Protocol) ändern, mit dem Plone E-Mails verschickt.
- Portal Einstellungen: Hiermit können Sie Portal-Einstellungen ändern (siehe den Abschnitt "Titel, Beschreibung und E-Mail-Adressen ändern" in diesem Kapitel).
- Aussehen: Hiermit können Sie die aktuelle Skin (in der deutschen Lokalisierung auch Aussehen genannt) ändern (siehe Kapitel 7).
- Benutzer- und Gruppenverwaltung: Hiermit können Sie Benutzer und Gruppen verändern (siehe Kapitel 8).
- Zope Management Interface: Mit diesem Link gelangen Sie zum ZMI.
Im weiteren Verlauf dieses Buchs beziehe ich mich auf das Plone-Control Panel, wann immer die jeweilige Eigenschaft dort verfügbar ist. Ansonsten wird das ZMI verwendet, um Eigenschaften zu verändern.
Tipp
Bei der Arbeit mit dem ZMI finde ich es sehr hilfreich, zwei verschiedene Browser gleichzeitig geöffnet zu haben. Ich zum Beispiel verwende Mozilla und Firefox. Nebenbei bemerkt empfiehlt es für Site-Administratoren immer, zwei verschiedene Browser zu haben, damit man testen kann, ob Änderungen in mehr als einem Browser funktionieren.
Titel, Beschreibung und E-Mail-Adressen ändern
Titel, Beschreibung und E-Mail-Adressen werden als Objekteigenschaften in einer Plone-Site gespeichert. Auf diese Felder können Sie zugreifen, indem Sie im Plone-Control Panel auf Portal Einstellungen klicken (siehe Abbildung 4.3).
Abbildung 4.3. Portal-Einstellungen
Folgende Portal-Einstellungen sind vorhanden:
- Name des Portals: Dies ist der Name der Site, der im Titel von Browsern, der Pfadnavigation, der Navigation, E-Mails usw. erscheint. Der voreingestellte Wert lautet Portal.
- Beschreibung des Portals: Dies ist die Beschreibung des Portals, die im Momement nur bei der Syndizierung verwendet wird.
- Absendername des Portals: Dieses Feld wird in mehreren Zusammenhängen verwendet, z.B. bei einem verlorenen Passwort oder bei der Funktion "Einem-Freund-empfehlen". Plone verschickt E-Mails unter diesem Namen, dessen Vorgabewert Portal Administrator lautet.
- Absenderadresse des Portals: Unter dieser Adresse verschickt Plone seine E-Mails. Die Voreinstellung lautet postmaster@localhost.
- Voreingestellte Sprache: Dies ist die Standardsprache, die in den Eigenschaften eines Objekts verwendet wird.
- Passworteigenschaften: Neue Benutzer haben zwei Möglichkeiten: Entweder wählen sie ein Passwort selbst oder sie bekommen eines per E-Mail geschickt. Zwar müssen sie in beiden Fällen ein Passwort angeben, aber im zweiten Fall ist es schwerer, Scheinkonten einzurichten.
- Externe Editoren ermöglichen: Dies erlaubt es, externe Editoren, also ein fortgeschrittenes Bearbeitungswerkzeug, zu benutzen. Dazu muss das Produkt External Editor auf dem Rechner des Benutzers installiert sein. Kapitel 10 behandelt dies im Detail.
Nach der Auswahl der gewünschten Optionen klicken Sie auf Speichern, damit die Änderungen sofort wirksam werden.
Einen Mail-Server einrichten
Plone verschickt E-Mails mit Hilfe des Objekts MailHost, das eine Schnittstelle zum SMTP-Server bietet und es dem Entwickler ermöglicht, Formulare und Werkzeuge zu schreiben, mit denen E-Mails verschickt werden können. Diese Einstellung wird bei der Funktion "Einem-Freund-empfehlen" und zum Verschicken eines vergessenen Passworts verwendet.
Die Standardkonfiguration ist ein Mailserver auf dem lokalen Rechner auf Port 25. Falls der SMTP-Server sich anderswo im Netzwerk befindet, können Sie auf das Formular zugreifen, indem Sie auf Plone Konfiguration und E-Mail-Einstellungen klicken und dann den Server und den Port entsprechend ändern. In meinem Netzwerk befindet sich der Mailserver auf monty.clearwind.ca auf Port 1025, d.h., ich stelle den Server ein, wie es in Abbildung 4.4 zu sehen ist. In den meisten Fällen jedoch müssen Sie hier nichts ändern (solange man den Server nicht unter Windows betreibt, da hier standardmäßig kein SMTP-Server vorausgesetzt werden kann).
Abbildung 4.4. Einrichten des Mailservers
Hinweis
Das Objekt MailHost ist ein Zope-Objekt, auf das man mit dem ZMI zugreifen kann. Dieses Objekt kann momentan noch keine Identifizierung mit dem Server vornehmen. Wenn das nötig sein sollte, müssen Sie die Einstellungen auf dem Server ändern.
Fehlermeldungen protokollieren
Im Fehlerprotokoll werden Fehler festgehalten, die in einer Plone-Site möglicherweise auftreten. Dazu gehören Fehler wie Page Not Found (404), Autorisierungsfehler usw. Es dient nicht dazu, Fehler in Formularen abzufangen. Wenn z.B. jemand in einem Feld keinen Wert eingibt, wo einer eingegeben werden muss, so wird das hier nicht festgehalten. Das ist kein Fehler, denn es wird vom Validierungs-Framework abgefangen. Dieses Fehlerprotokoll soll nur mögliche interne Server-Fehler abfangen.
Klicken Sie in der Plone-Schnittstelle auf Plone Konfiguration und dann auf Fehlerprotokoll, um die Fehler auf der Plone-Site zu sehen. Klicken Sie auf den Fehler in der Liste (sofern es eine gibt), um den Fehler zu sehen. Abbildung 4.5 zeigt einen Fehler, der beim fehlerhaften Ausfüllen des Formulars für die E-Mail-Einstellungen auftrat. Es ist eine lange Seite, die einen kompletten Python-Traceback sowie die Eingangsabfrage enthält.
Abbildung 4.5. Ein Fehlerbeispiel
Im Fehlerlisten-Formular sehen Sie folgende Einstellungen:
- Anzahl der Fehler, die gespeichert werden: Dies ist die Anzahl der auf dem Bildschirm anzuzeigenden Fehler. Der Standardwert dafür beträgt 20.
- Fehler ins Event-Logfile kopieren: Hiermit werden alle Fehler in eine Fehlerprotokolldatei kopiert. Ohne diese Kopie wird nichts dauerhaft über diese Fehler festgehalten. Standardmäßig ist dies ausgewählt.
- Fehlertypen ignoriert: Dies ist eine Liste von Fehlertypen, die ignoriert werden sollen (einer pro Zeile). Voreingestellt sind Unauthorized, NotFound und Redirect.
Jeden Fehler können Sie protokollieren und auf dem Schirm anzeigen. Das bedeutet: Wenn ein Benutzer Ihre Site besucht und es tritt ein Fehler auf, dann können Sie im Fehlerprotokoll nachsehen, was passiert ist. Die Fehler bestehen aus den drei Komponenten Fehlertyp, Fehlerwert (der String, der erklärt, wann ein Fehler auftritt) und Traceback. Die beiden ersten werden dem Benutzer auf der Standardfehlerseite angezeigt (siehe Abbildung 4.6).
Abbildung 4.6. Ein Beispiel für eine Fehlermeldung
Wenn ein Benutzer einen Fehler meldet, enthält der Bericht oft eine Nachricht mit dem Fehlernamen und einem Fehlerwert darin. Wenn der Benutzer nichts tun darf und ein Unauthorized-Fehler oder ein Page Not Found (404) auftritt, dann bekommen Sie eine speziell angepasste Fehlerseite statt einer Standardseite angezeigt (siehe Abbildung 4.6). Folgende Standardfehlertypen kommen vor:
- Unauthorized: Dieser Fehler tritt ein, wenn ein Benutzer kein Recht hat, eine Funktion auszuführen.
- NotFound: Dieser Fehler tritt ein, wenn das Element, auf das ein Benutzer zugreifen möchte, nicht existiert.
- Redirect: Dies ist ein Fehler, der eine HTTP-Weiterleitung (Hypertext Transfer Protocol) auslösen kann.
- AttributeError: Dieser Fehler wird ausgelöst, wenn ein Objekt ein Attribut nicht besitzt.
- ValueError: Dieser Fehler tritt auf, wenn ein gegebener Wert nicht korrekt ist und vom Validierungs- oder einem anderen Framework nicht abgefangen wird.
Das Look-and-Feel von Plone anpassen
Die folgenden Abschnitte beschreiben weitere mögliche Anpassungen. Fast alle davon erfordern den Zugriff auf das ZMI.
Mehr über Portlets
Auf einer Plone-Site sehen Sie standardmäßig drei Spalten, links, in der Mitte und rechts. Die mittlere Spalte enthält den Inhalt des gerade angezeigten Objekts. Hier befindet sich die meiste Benutzerfunktionalität für das Hinzufügen, Bearbeiten, Formularerstellen usw. Die beiden Spalten links und rechts enthalten eine Reihe von Kästen, die Informationen anzeigen. Jeder davon ist ein so genanntes Portlet. Eine Variable bestimmt, welche Portlets zu einem gewissen Zeitpunkt angezeigt werden. Am besten versteht man diese Portlets, wenn man sich die Standard-Portlets anschaut, die auf einer Plone-Site vorhanden sind. Die Parameter für die Portlets finden Sie im Portal-Objekt. Darauf können Sie zugreifen, wenn Sie ins ZMI gehen und sicherstellen, dass Sie in der Plone-Wurzel-Site sind, und auf den Properties-Reiter klicken. Dann wird eine Liste von Eigenschaften geöffnet, darunter auch left_slots, right_slots und document_action_slots (siehe Abbildung 4.7).
Hinweis
In früheren Versionen von Plone wurden Portlets auch Slots genannt. Das ist jedoch ein häufig gebrauchter Begriff, der auch bei Seiten-Templates verwendet wird. Deswegen wurde er in Version 2 in Portlets geändert. An manchen Stellen im Code oder im Text wird vielleicht noch Slots verwendet. An diesen Stellen bedeutet der Begriff Slots dasselbe wie Portlets.
Abbildung 4.7. Standardeigenschaften von Portlets
Die left_slots- bzw. right_slots-Eigenschaften gelten für Portlets jeweils im linken bzw. rechten Teil der Seite. Die Portlets werden von oben nach unten in der Reihenfolge angezeigt, in der sie in diesen Eigenschaften aufgelistet werden. Allerdings verfügen die meisten Portlets über Code, der sicherstellt, dass sie nur dann angezeigt werden, wenn es Sinn macht. Ein Login-Portlet macht z.B. keinen Sinn, wenn der Benutzer schon angemeldet ist. In dem Fall ist das Login-Portlet zwar in der Portlet-Liste enthalten, wird aber nur bei Bedarf angezeigt.
Alle Portlet-Werte sind tatsächlich spezielle Werte, nämlich TALES-Pfadausdrücke (Template Attribute Languages Expression Syntax), die in Kapitel 5 detailliert behandelt werden. Site-Entwickler können eigene Portlets zu einer Site hinzufügen, indem sie einfache Makros und Seiten-Templates erstellen. Folgende Standard-Portlets gibt es:
- left_slots: Dazu gehören Portlets zur Navigation, zum Login und ähnliche.
- right_slots: Dazu gehören Portlets wie die Revisionsliste, Nachrichten, Termine, Aktuelle Artikel und der Kalender. Alle verfügbaren Portlets werden nicht standardmäßig in Plone konfiguriert. Die folgenden Abschnitte beschreiben Portlet-Slots in Plone. Jeder Abschnitt beschreibt ein Portlet und zeigt, wie es aussieht. Dann gebe ich den Pfadausdruck an, den Sie brauchen, um es zur slots-Eigenschaft hinzuzufügen, so dass es in Ihrer Plone-Site erscheint.
Um etwa links das Kalender-Portlet anzuzeigen, geben Sie in der left_slots-Eigenschaft here/portlet_calendar/macros/portlet ein und klicken auf Save Changes. Wenn Sie es aus der right_slots-Eigenschaft entfernen möchten, können Sie die gleiche Zeile aus der right_slots-Eigenschaft entfernen und wieder auf Save Changes klicken.
Kalender
Das Kalender-Portlet ist eines der Standard-Portlets. Es zeigt rechts auf einer Plone-Seite einen Kalender an. Dieses Portlet zeigt veröffentlichte Termine für den jeweiligen Monat in einem kleinen Kalender an. Das Kalender-Portlet erscheint auch dann, wenn es keine Termine gibt. Mit dem Werkzeug portal_calendar können Sie den Kalender im ZMI weiter konfigurieren (siehe Abbildung 4.8).
Abbildung 4.8. Kalender-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_calendar/macros/portlet.
Termine
Das Termine-Portlet zeigt eine Liste veröffentlichter kommender Termine an. Wenn Sie diesen Eintrag in der Portlet-Liste haben, wird das Portlet nur dann angezeigt, wenn es solche Termine gibt (siehe Abbildung 4.9).
Abbildung 4.9. Termine-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_events/macros/portlet.
Favoriten
In der oberen linken Ecke eines Plone-Dokuments sehen Sie ein Plone-Icon. Benutzer können darauf klicken, um einen Favoriten hinzuzufügen. Ein Favorit ähnelt einem Bookmark oder Link auf die Seite, die Sie aufrufen möchten. Dieser Favorit wird jedoch auf der Plone-Site gespeichert. Abbildung 4.10 zeigt das Icon, mit dem ein Favorit hinzugefügt wird.
Abbildung 4.10. Das Icon zum Erstellen eines Favoriten
Favoriten werden zum Benutzerordner eines Benutzers hinzugefügt und werden im Favoriten-Portlet angezeigt, zusammen mit einem Link, der dazu dient, sie zu organisieren (siehe Abbildung 4.11). Die gezeigten Favoriten sind solche, die der Benutzer gespeichert hat. Das heißt, selbst wenn Sie diesen Eintrag in Ihrer Portlet-Liste haben, wird das Portlet nur dann angezeigt, wenn Sie auch wirklich Favoriten haben.
Abbildung 4.11. Favoriten-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_favorites/macros/portlet.
Anmeldung
Das Einloggen-Portlet zeigt das Anmeldeformular an, über das sich ein Benutzer mit seinem Benutzernamen und Passwort anmelden kann. Wenn er sein Passwort vergessen hat, hat er die Möglichkeit, es sich per E-Mail schicken zu lassen. Auch wenn dieses Portlet in der Portlet-Liste ist, wird es nur dann angezeigt, falls der Benutzer noch nicht angemeldet ist (siehe Abbildung 4.12).
Abbildung 4.12. Einloggen-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_login/macros/portlet.
Nachrichten
Das Nachrichten-Portlet zeigt die Liste der letzten Nachrichten mit Links darauf an (siehe Abbildung 4.14). Auch dann, wenn Sie dieses Portlet in der Portlet-Liste haben, wird es nur dann angezeigt, wenn irgendwelche Nachrichten veröffentlicht wurden. Die Nachrichten einer Site sind auch über einen Klick im Nachrichten-Reiter verfügbar.
Abbildung 4.14. Nachrichten-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_news/macros/portlet.
Aktuelle Artikel
Das Aktuelle Artikel-Portlet listet die zuletzt auf der Site veröffentlichten Artikel seit dem Zeitpunkt auf, an dem Sie zum letzten Mal angemeldet waren (siehe Abbildung 4.15). Auch wenn es keine solchen Artikel gibt, wird es angezeigt.
Abbildung 4.15. Aktuelle Artikel-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_recent/macros/portlet.
Dazu passend
Das Dazu passend-Portlet zeigt eine Liste von Artikeln an, die zu dem Artikel passen, den Sie gerade sehen, was anhand der Stichwörter dazu bestimmt wird. Wenn ein passender Artikel ein Link auf eine andere Website ist, wird er in einer eigenen Liste externer Ressourcen angezeigt. Auch dann, wenn dieses Portlet in der Portlet-Liste ist, wird es nur dann angezeigt, wenn es passende Artikel gibt (siehe Abbildung 4.16).
Abbildung 4.16. Dazu passend-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_related/macros/portlet.
Revisionsliste
Das Revisionsliste-Portlet zeigt eine Liste von Artikeln an, die im Zustand Überprüfen sind und darauf warten, geprüft zu werden. Es wird nur dann angezeigt, wenn der angemeldete Benutzer die Rolle des Redakteurs hat und es zu prüfende Artikel gibt.
Abbildung 4.17. Revisionsliste-Portlet
Der Ausdruck, der hinzugefügt werden muss, lautet here/portlet_review/macros/portlet.
Verschiedene Portlets in verschiedenen Teilen Ihrer Site
Die Zope-Datenbank, auf der Plone basiert, verfügt über eine Eigenschaft namens Akquisition. In der einfachsten Form bedeutet das, dass bei der Suche nach einem Objekt wie right_slots Plone das nächstgelegene Objekt findet, das diese Eigenschaft enthält. Das heißt, dass Plone bei der Suche nach Portlets, die in der rechten Spalte angezeigt werden sollen, normalerweise das Wurzelobjekt findet und diese Portlets anzeigt.
Auf diese Weise können Sie die Eigenschaften im Portal-Wurzelobjekt ändern, um die ganze Site zu ändern. Sie werden vielleicht bemerken, dass es keinen Kalender gibt, wenn Sie auf den Link Mein Ordner klicken und zu Ihrem persönlichen Ordner gehen. Wenn Sie im ZMI auf Members und dann auf Properties klicken, werden Sie einen Eintrag für right_slots sehen. Für diesen Ordner besteht er aus einer leeren Liste. Wenn die Plone-Site nach einem Wert für die rechts anzuzeigenden Portlets sucht, bewegt sie sich in der Ordnerhierarchie so lange nach oben, bis sie den Ordner Members erreicht. Dort findet sie den Wert right_slots und benutzt ihn. Da der Wert von right_slot im Ordner Members leer ist, wenn Sie Inhalte aus Members sehen, wird der rechte Slot leer sein.
Durch das Hinzufügen und Entfernen von Ordnereigenschaften mit Hilfe des ZMI können Site-Administratoren genau anpassen, welche Portlets auf ihren Sites erscheinen. Zum Glück ist der Properties-Reiter einigermaßen einfach. Sie wählen einfach den Artikel im ZMI und klicken dann auf Properties. Um eine Eigenschaft zu den linken oder rechten Slots hinzuzufügen, benutzen Sie das untere Add-Formular und vergewissern sich, dass der Eigenschaftstyp lines lautet.
Datumsformate ändern
In allen Portlets und auf der gesamten Site stellt Plone Datumsangaben konsistent in einem Format dar, das intern bearbeitet werden kann. Immer, wenn in Plone ein Datum angezeigt wird, wird eines von zwei Formaten aufgerufen. Diese Formate finden Sie im ZMI, indem Sie auf portal_properties und site_properties klicken. Diese Formate lauten:
- localTimeFormat: Dies ist das Zeit-Format für Datumsangaben, die in Plone in einem Kurzformat erscheinen sollen.
- localLongTimeFormat: Dies ist das Zeit-Format für Datumsangaben, die in einem Langformat mit Sekundenangaben erscheinen sollen.
Das Datumsformat basiert auf dem time-Modul von Python. Die Referenz zu den Formaten finden Sie unter http://www.python.org/doc/current/lib/module-time.html. Beim Kurzformat lautet der Standardwert %Y-%m-%d, d.h. Jahr-Monat-Tag als Dezimalzahlen (z.B. 2003-10-26). Beim Langformat lautet der Standardwert %Y-%m-%d %I:%M %p, d.h. Jahr-Monat-Tag Stunden:Minuten am/pm (z.B 2003-10-26 07:32 PM).
Hier ist eine kurze Zusammenfassung der verfügbaren Optionen:
- %a: Abgekürzter Wochentagsname der aktuellen Lokalisierung (z.B. Mon)
- %A: Voller Wochentagsname der aktuellen Lokalisierung (z.B. Montag)
- %b: Abgekürzter Monatsname der aktuellen Lokalisierung (z.B. Jan)
- %B: Voller Monatsname der aktuellen Lokalisierung (z.B. Januar)
- %d: Tag des Monats als Dezimalzahl
- %H: Stunde (max. 24) als Dezimalzahl
- %I: Stunde (max. 12) als Dezimalzahl
- %m: Monat als Dezimalzahl
- %M: Minute als Dezimalzahl
- %S: Sekunde als Dezimalzahl
- %y: Jahr ohne Jahrhundert als Dezimalzahl
- %Y: Jahr mit Jahrhundert als Dezimalzahl
Wenn der Wochentagsname im Kurzformat enthalten sein soll, können Sie das einfach dadurch erreichen, dass Sie das Kurzformat auf %A, %b. %d, %y ändern. Dadurch entsteht z.B. Donnerstag, Okt. 24, 02. Diese Datumsangaben werden in den Kästen links und rechts auf dem Bildschirm, in Suchergebnissen, in den Verfasserangaben usw. verwendet.
Stichwörter und Terminarten hinzufügen
Mit einem der Werkzeuge in Plone, portal_metadata, kann der Site-Administrator einige Metadaten-Elemente definieren. Plone verwendet die mit portal_metadata definierten Metadaten an verschiedenen Stellen.
Wenn Sie z.B. einen Termin hinzufügen, erhalten Sie eine Liste möglicher Terminarten. Diese Liste können Sie erweitern, wenn Sie im ZMI auf portal_metadata klicken und dann auf elements und subject. Dann sehen Sie eine Wortliste (Vocabulary) für Termine mit den Themen für diesen Inhaltstyp. Diese Liste mit je einem Eintrag pro Zeile kann man ganz einfach erweitern oder bearbeiten, um die relevanten Terminarten zur Verfügung zu haben. Diese Terminarten erscheinen dann in den Formularen zum Hinzufügen und Bearbeiten von Terminen.
Mit portal_metadata kann man auch die auf einer Site verfügbaren Stichwörter angeben. In dem Formular unter portal_metadata/elements/subject sehen Sie auch ein Vocabulary-Formular für den Inhaltstyp <default>. Wenn Sie auf dieser Seite Einträge im Vocabulary-Feld hinzufügen und auf Update klicken, fügen Sie diese Einträge zur Liste der verfügbaren Stichwörter für alle Inhaltstypen hinzu.
Wenn Sie möchten, dass Stichwörter nur für, sagen wir, Dokumente erscheinen, dann benutzen Sie das Hinzufügen-Formular unten auf der Seite. Wählen Sie einen Inhaltstyp, und fügen Sie Wörter in die Vocabulary-Liste ein, und zwar eines pro Zeile. Daraus werden dann die einzigen Stichworte, die ein Benutzer für diesen Inhalt auswählen kann.
Wenn Sie als Benutzer mit Manager- oder Redakteursrechten angemeldet sind, erscheint, wenn Sie den Eigenschaften-Reiter eines Objekts in Plone anklicken, ein Kasten namens Neues Stichwort, in dem neue Stichwörter spontan hinzugefügt werden können. Diese erscheinen nicht in der Vocabulary-Liste von portal_metadata, aber in allen Inhaltstypen, die andere Benutzer eingeben können.
Standardseite ändern
Wie in Kapitel 3 beschrieben wurde, erscheint die Standardseite eines Ordners, wenn ein Benutzer diesen Ordner anzeigt und diese Seite existiert. In älteren Versionen von Zope und Plone lautete der Name dieser Standardseite index_html. Diesen können Sie sehr oft auf Plone-Sites sehen, wo in Website-Adressen oftmals index_html am Ende steht. Wenn Sie daraus eine Dateinamenserweiterung machen, die weiter verbreitet ist und leichter erkannt wird, z.B. index.html, dann ist es auch einfacher, die Seite mit vorhandenen Editoren und Website-Werkzeugen zu bearbeiten.
In Plone können Sie eine Liste von Seiten definieren, nach denen gesucht wird, wenn eine Standardseite angezeigt werden soll (siehe Abbildung 4.18). Diese Standardseiten heißen index_html, index.html, index.htm und FrontPage. Diese Liste setzen Sie in site_properties/portal_properties/default_page property, mit je einem Namen pro Zeile. Bei der Suche nach der Standardseite sucht Plone nach jeder Seite aus dieser Liste, wobei es vorne anfängt und so lange weitersucht, bis es eine passende findet. Wenn Sie den Wert für nur einen Ordner ändern möchten, können Sie mit dem ZMI auf den Ordner zugreifen, den Reiter Properties anklicken und dann eine neue Listeneigenschaft namens default_page hinzufügen.
Abbildung 4.18. Einstellen von index.asp als erste Standardseite
Reiter der Site ändern
In einer Plone-Site beziehen sich verschiedene Reiter auf verschiedene Site-Abschnitte oder -Teile. Die Verwendung von Reitern ist ein sehr gebräuchliches Mittel beim Design von Websites und wird auch auf den Sites von Amazon, MSN und auf Plone-Sites praktiziert.
Es gibt zwei Arten von Reitern: Portalreiter und Inhaltsreiter. Portalreiter sind blau und erscheinen oben auf der Plone-Site. Die Standardreiter heißen Startseite, Nachrichten und Mitglieder. In den folgenden Abschnitten sehen Sie, wie Sie diese Reiter anpassen können. Inhaltsreiter sind grün und erscheinen, wenn ein Artikel bearbeitet werden kann. Wie ihr Name schon sagt, beziehen sich Inhaltsreiter auf den Inhalt. Kapitel 11 zeigt, wie man diese Reiter ändern kann. Die Reiter auf einer Plone-Site entstehen aus einer Reihe von Aktionen. Das heißt, Sie müssen einen kleinen allgemeinen Abstecher zu Aktionen machen, um zu verstehen, wie Sie diese Reiter verändern können.
Einführung in Aktionen
In Plone können gewisse Personen bestimmte Aufgaben zu verschiedenen Zeiten und an verschiedenen Orten der Site ausführen. Diese Aufgaben werden Aktionen genannt. Plone übersetzt sie in Reiter, Links und andere Elemente. Aktionen sind eine hochgradig konfigurierbare Art, um Navigationselemente für eine Site zu erstellen.
Jede Aktion verfügt über folgende Eigenschaften, die im ZMI konfiguriert werden können. Wo sie genau konfiguriert werden, hängt davon ab, wo die Aktion gespeichert ist. Hier ist eine Liste von Eigenschaften für eine Standardaktion:
- Name: Dies ist ein benutzerfreundlicher Name für die Aktion. Er wird in der Benutzerschnittstelle oft verwendet. Wenn z.B. die Aktion als Reiter benutzt wird, entspricht dieser Wert dem Text im Reiter.
- Id: Dies ist eine eindeutige ID für die Aktion.
- Actions: Dies ist die auszuführende Aktion. Wenn die Aktion z.B. als Reiter definiert wird, wird diese Aktion beim späteren Klick auf diesen Reiter ausgeführt. Dieses Feld enthält einen TALES-Ausdruck (siehe weitere Informationen in Kapitel 5).
- Condition: Dies ist die Bedingung, die erfüllt sein muss, damit die Aktion ausgeführt wird. Wenn die Aktion z.B. als Reiter genutzt wird und diese Bedingung ist erfüllt, dann erscheint der Reiter. Dieses Feld enthält einen TALES-Ausdruck (siehe Kapitel 5).
- Permission: Dies sind die Rechte, die der Benutzer haben muss, damit er diese Aktion ausführen kann. Diese Rechte müssen gegeben sein, damit die Aktion genutzt werden kann (siehe Kapitel 9 für weitere Informationen zum Thema Sicherheit).
- Category: Hiermit werden die Aktionen kategorisiert. In Plone werden Aktionen damit voneinander unterschieden, d.h., sie werden in verschiedenen Abschnitten der Benutzerschnittstelle verwendet. Bei Portalreitern lautet der Kategoriewert portal_tabs.
- Visible: Das bestimmt, ob die Kategorie aktiv ist. Der Begriff visible wird verwendet, weil Aktionen normalerweise mit visuellen Elementen gekoppelt sind.
Einführung in die obersten Reiter
In den folgenden Abschnitten werden Sie als Beispiel die Portalreiter auf zwei verschiedene Weisen ändern. Sie werden den Reiter der Startseite so ändern, dass er Willkommen lautet, und Sie werden den Mitglieder-Reiter nach links neben den Nachrichten-Reiter verlegen. Die Aktionen für die Portalreiter werden in dem Werkzeug portal_actions gespeichert. Um sie also zu ändern, klicken Sie im ZMI auf portal_actions. Wie Sie in Abbildung 4.19 sehen, wird dabei eine lange Liste von standardmäßig vorhandenen Portalaktionen geöffnet. Manche dieser Aktionen werden Ihnen bekannt vorkommen, da sie für Teile der Plone-Site stehen.
Abbildung 4.19. Die Portal-Aktionen für Ihre Plone-Site
Scrollen Sie durch diese Aktionen, bis Sie den Eintrag Home finden, und ändern Sie das Namensfeld auf Willkommen. Scrollen Sie dann hinunter zum Seitenende, und klicken Sie auf Save. Zurück in der Plone-Schnittstelle werden Sie bemerken, dass der Reiter nun Willkommen heißt.
Die Reihenfolge der Reiter von links nach rechts auf der Seite wird durch die Reihenfolge von oben nach unten in der Liste der Aktionen bestimmt. Um einen Reiter zu verschieben, müssen Sie ihn in der Liste markieren und ans Seitenende zu den Buttons Move Up und Move Down scrollen. Es ist etwas umständlich, aber durch wiederholtes Markieren der Aktionen und Benutzen der Rauf- und Runter-Buttons können Sie die Reihenfolge ändern. Führen Sie das durch, und Sie werden bemerken, dass die Reiter nun in einer anderen Reihenfolge in Ihrer Plone-Site erscheinen.
Warum erscheint der Text in Kleinbuchstaben?
Plone ändert mit einem Stylesheet die Schreibweise von vielen Dingen, z.B. Reitern, in Kleinbuchstaben. Um das abzustellen, können Sie das Stylesheet ändern, was später in diesem Kapitel im Abschnitt "Bilder und CSS ändern" beschrieben wird.
Icons für ein Dokument ändern
Wenn Sie eine Liste von Links oder Optionen in einer Plone-Site betrachten, ist es sehr wahrscheinlich, dass diese Liste von einer Serie von Aktionen produziert wird. Und wenn es keine Aktionen sind, dann ist es Code; aber viele der wesentlichen Eigenschaften der Plone-Schnittstelle werden aus den Einstellungen im ZMI dynamisch generiert. Zwei weitere Beispiele für Aktionen sind Dokument- und Site-Aktionen.
Die Site-Aktionen erscheinen in der oberen rechten Ecke als Links zum Ändern der Schriftgröße. Diese Links könnten alles Mögliche sein, aber zufällig verweisen sie auf einige clientseitige Scriptfunktionen. Auch diese Links werden in portal_actions konfiguriert und sind nichts weiter als Aktionen, die zu einer anderen Kategorie gehören. Wenn Sie sich die Aktionen in portal_actions anschauen, werden Sie am unteren Seitenende diese drei Aktionen sehen. Sie haben die Kategorie site_actions. Wenn Sie sie entfernen möchten, müssen Sie lediglich die Visible-Option ausschalten. Die Icons stammen aus dem Werkzeug portal_actionicons, das lediglich ein weiteres einfaches Werkzeug ist, das das Icon auf die Aktion abbildet. Unter portal_actionicons sehen Sie eine Übereinstimmung bei normal_text für site_actions, das auf ein Icon passt (siehe Abbildung 4.20).
Abbildung 4.20. Site-Aktionen
Analog dazu befinden sich Dokumentationen in portal_actions. Sie haben die Kategorie document_actions. Auch hier können Sie die Reihenfolge, Icons und den Text ändern und Icons in der Schnittstelle hinzufügen oder entfernen, indem Sie diese Aktionen bearbeiten.
Bilder und CSS ändern
Das Look-and-Feel einer Plone-Site ist ein umfangreiches Thema, das drei Kapitel für sich in Anspruch nimmt, Kapitel 5 bis 7. Die folgenden Abschnitte behandeln die Grundlagen und zeigen, wie man schnell ein paar Änderungen vornimmt. Sie erklären aber nicht, wie alles funktioniert.
Eine Skin besteht aus einer Menge von CSS, Bildern, Templates und Scripts, die zusammen ein Look-and-Feel für den Benutzer bilden. Eine Skin dient dazu, das Aussehen und damit das Look-and-Feel einer Website ändern zu können, ohne den Inhalt ändern zu müssen.
Skins ändern
Sie können die Standard-Skin einer Site ändern, indem Sie das Formular Einstellungen des Aussehens benutzen, zu dem Sie vom Control Panel aus gelangen. Eine Plone-Site können Sie auf einige verschiede Weisen darstellen, indem Sie verschiedene Farben, Stylesheets und Templates auf einer Site benutzen.
Dieses Formular enthält folgende Optionen:
- Voreingestelltes Aussehen: Dies ist die Standard-Skin, wenn Benutzer auf die Site zugreifen. Es gibt nur eine standardmäßig vorgegebene Skin, nämlich Plone Default.
- Flexibilität des Aussehens: Damit bestimmen Sie, ob es Benutzern erlaubt ist, ihre eigene Skin auszuwählen. Wenn ja, dann kann ein Benutzer in seinen Voreinstellungen eine neue Skin wählen. Standardmäßig ist diese Option gewählt.
- Wirkungsdauer des Cookies für das Aussehen: Wenn ein Benutzer eine Skin wählen kann, dann sollten Sie diese Option wählen, damit das entsprechende Cookie beliebig lange gültig ist. Damit wird ein Benutzer immer diese Skin sehen, wenn er sich bei der Site anmeldet. Diese Option ist standardmäßig nicht gewählt.
Nehmen Sie die gewünschten Änderungen vor, und klicken Sie auf Speichern, um diese zu bestätigen. Um die Performance auf der Site zu verbessern, können Sie ein Caching von Bildern und Stylesheets verwenden. Um sicherzustellen, dass Sie die neue Skin auch wirklich so sehen, wie sie sein soll, löschen Sie den Cache Ihres Browsers (beim Internet Explorer drücken Sie dazu Strg+F5).
Ein anderes Logo einstellen
Das Logo einer Plone-Site zu ändern und statt des Plone-Logos ein anderes zu verwenden, ist eine leichte Übung, aber die einzelnen Schritte können ein wenig verwirrend sein. Daher sollten Sie sie sorgfältig befolgen.
Zuerst greifen Sie auf das ZMI zu, klicken auf portal_skins, dann auf plone_images und schließlich auf logo.jpg. Danach wird die Seite zu diesem Objekt geöffnet. Sie sollte in etwa so aussehen wie in Abbildung 4.21.
Abbildung 4-21. Das Standard-Logo
Dieses Objekt stellt das Logo dar, wie es in Zope benutzt wird. In Abbildung 4.21 können Sie deutlich Informationen zum Bild sehen, seine Größe, seinen Typ und seinen Platz im Dateisystem. In der Seitenmitte befindet sich der Customize-Button, den Sie nun anklicken. Dabei wird eine Kopie des Objekts namens logo.jpg im custom-Ordner erzeugt (siehe Abbildung 4.22).
Hinweis
Wenn Sie an dieser Stelle eine Fehlermeldung wegen einer fehlerhaften Anfrage erhalten, gehen Sie zurück zu portal_skins/custom. Sie werden ein Objekt namens logo.jpg sehen. Klicken Sie auf dieses Objekt. Es kann nur ein Objekt namens logo.jpg im custom-Ordner geben, und die Fehlermeldung warnt Sie davor, dass diese Prozedur bereits ausgeführt worden ist. Falls Sie das ursprüngliche Objekt anpassen möchten (mit anderen Worten, wenn Sie diese Schritte wiederholen möchten), müssen Sie das Objekt innerhalb von custom löschen.
Abbildung 4.22. Das angepasste Bild
Diese Seite sieht vielleicht ähnlich wie die vorherige Seite in Abbildung 4.21 aus, aber es gibt eine Reihe von Unterschieden. Erstens: Wenn Sie in die obere linke Ecke der Seite schauen, werden Sie bemerken, dass sich der meta_type und der Ort dieses Objekts verändert haben. Nun sind Sie sind nicht mehr in portal_skins/plone_images/logo.jpg, sondern Sie sind in portal_skins/custom/logo.jpg. Zweitens können Sie nun einen Browse-Button sehen, mit dem Sie ein Bild auswählen und hochladen können, d.h., Sie können dieses Bild ändern. Klicken Sie auf diesen Button, um Ihr neues Bild zu finden, und klicken Sie auf Save, um die Änderung zu bestätigen. In Abbildung 4.23 füge ich als Beispiel ein kanadisches Plone-Logo hinzu.
Abbildung 4.23. Das kanadische Plone-Logo
Wenn Sie nun zur Plone-Schnittstelle zurückgehen, sehen Sie, dass sich das Bild verändert hat. Um sicherzugehen, dass Sie das neue Bild sehen, sollten Sie den Cache Ihres Browsers löschen (beim Internet Explorer drücken Sie dazu Strg+F5).
Was tun Sie, wenn Ihr Bild nicht im JPEG-Format vorliegt?
Zope bestimmt den MIME-Typ (Multipurpose Internet Mail Extensions) nicht aus der Dateierweiterung, sondern aus dem Inhalt. Daher können Sie ein GIF-Bild unter logo.jpg hochladen, und es funktioniert trotzdem, weil der korrekte MIME-Typ image/gif angewendet wird. Um die Verwirrung in Grenzen zu halten, möchten Sie das Bild aber vielleicht doch logo.gif oder logo.png nennen.
CSS-Code ändern
CSS bestimmt einen Großteil des Look-and-Feel Ihrer Website, darunter die Reiter, Bilder, Kästen und das allgemeine Layout. Die Tatsache, dass Plones CSS durchgehend angepasst werden kann, bedeutet, dass die Benutzer viele Aspekte einer Site mit ein paar Stylesheets vollkommen umgestalten können.
Noch einmal: Kapitel 7 beschreibt, was die einzelnen Elemente bewirken. In diesem Abschnitt zeige ich Ihnen nur schnell, wie Sie den CSS-Code einer Plone-Site ändern können. Zuerst gehen Sie ins ZMI. Dort klicken Sie auf portal_skins, dann auf plone_styles und schließlich auf ploneCustom.css. Danach erscheint eine Seite zu diesem Objekt. Dieses Stylesheet ist ziemlich einfach, ja, es ist sogar leer. Plone macht nämlich Gebrauch von der Kaskadierungseigenschaft von CSS. Da der HTML-Code für Plone zuerst plone.css importiert und dann ploneCustom.css, überschreiben alle Änderungen in letzterem das Standard-Stylesheet. Warum ist das eine gute Idee? Weil es bedeutet, dass Sie kleine inkrementelle Änderungen an ploneCustom.css vornehmen können, ohne das Kern-Stylesheet kaputtzumachen oder zu verändern.
Um also das Objekt ploneCustom.css anzupassen, klicken Sie auf portal_skins, dann auf plone_styles und auf ploneCustom.css. Danach klicken Sie auf den Customize-Button. Wieder wurde dieses Objekt angepasst, und Sie bemerken, dass Sie nicht mehr unter portal_skins/plone_styles/ploneCustom.css, sondern nun unter portal_skins/custom/ploneCustom.css sind. Da Dateiobjekte nun über das Web bearbeitet werden können, können Sie das Stylesheet direkt über das Web bearbeiten.
Ändern Sie als Beispiel den Hintergrund so, dass er ein Bild in der Mitte enthält (das ist nicht unbedingt die beste Benutzerschnittstelle, aber ein klares Beispiel dafür, wie Sie den CSS-Code anpassen können). Zuerst müssen Sie ein Bild in Plone hochladen. Dazu klicken Sie auf portal_skins, auf custom und dann auf den Add-Button, und schließlich wählen Sie ein Bild aus, wie in Abbildung 4.24 zu sehen ist.
Abbildung 4.24. Ein neues Bild hinzufügen
Als Datei habe ich ein Bild gewählt, das ich im Web gefunden habe (und das auch auf der Website zum Plone-Buch verfügbar ist), aber Sie können ein beliebiges Bild nehmen. Vergewissern Sie sich, dass die ID des Bildes background.gif ist, wie in Abbildung 4.25 zu sehen ist.
Abbildung 4.25. Prüfen des neuen Bildes
Nun müssen Sie den CSS-Code ändern, damit er auf das neue Bild zeigt. Den CSS-Code haben Sie schon angepasst, gehen Sie also zu portal_skins/custom/ploneCustom.css zurück, und ändern Sie den Text von
/* DELETE THIS LINE AND PUT YOUR CUSTOM STUFF HERE */
in Folgendes:
body {
background-image: url(background.jpg);
background-repeat: no-repeat;
background-position: center;
}
Klicken Sie auf Save Changes, um die Änderungen an dieser Datei nicht zu verlieren. Gehen Sie dann zur Plone-Schnittstelle zurück. Wenn alles gut ging, sollten Sie das neue Bild sehen (siehe Abbildung 4.26).
Abbildung 4.26. Das neue Hintergrundbild
Andy McKay: Plone. Addison-Wesley 2005
Es wurde zuletzt von sichart am 2006-10-06 14:25 aus der cvs Quelle via
cvs -z3 -d:pserver:anonymous@plone-docs.cvs.sourceforge.net:/cvsroot/plone-docs co -P PloneBook aktualisiert.





























