Screenshot kinderkrebsinfo.de
Projektdokumentation Kompetenznetz Pädiatrische Onkologie und Hämatologie - KPOHAutor: R. Herold, F. Hoffmann, 23.07.2003 Das KPOH-Projekt ist einer der wichtigen Ausgangspunkte von ZMS 2.0. Die bedeutsamsten Merkmale sind die LDAP-Integration, der defaultmässige EPOZ-Editor, ein angepasstes Metaset und diverse, teilweise sehr komplexe Spezielle Objekte (Kalender). Zudem existiert eine ZMS-Aktion zum Erzeugen von DOI-Codes. In der folgenden Dokumentation werden die wichtigsten Eckpunkte der Konfiguration genannt.
Screenshot kinderkrebsinfo.de
LDAP-Authentifizierung
Die User werden über das ZMS-Root-Menü "Zugriff" erreicht; in diesem Menü werden Nutzer und Rollen separat generiert. Auf der Übersichtsseite wird jeder "Nutzer" wird zunächst ohne Rolle initialisiert (Login-Name, Passwort, E-Mail, Hyperlink auf Profildaten). In einem Nutzer-spezifischen Sub-Menü werden beliebig viele Content-Knoten ausgewählt, auf denen der Nutzer unterschiedliche Rechte bzw. Rollen haben kann. Für das Zuweisen der Zugriffs-Knoten ('local roles') sind folgende Eigenschaften obligatorisch zu definieren: Sprache(n), URL des Content-Knotens (über ein Sitemap-Popup) und zugehörige Rolle(n). Per default existieren die bekannten Rollen: Admin, Redakteur, Autor und Abonnent.
ZMS-Zugangsverwaltung mit LDAP-Interface; als Authentisierungs-Name wird derjenige verwendet, der in der Zope-LDAPUserFolder-Konfiguration als 'Login Name Attribute' spezifiziert ist.
Spezifikation der individuellen Rechte; für jeden Konten können Rollen und Sprachen zugewiesen werden.
Konfiguration des LDAPUserFolders für die Kommunikation mit dem LDAP-Service; das Produkt ist unbedingt erforderlich.
Suche
Zur Indexierung von Binärformaten kommt das Zope-Produkt TextIndexNG 2.0 zum Einsatz und erweitert ZCatalog. In die Entwicklung von TextIndexNG 2.0 wurde ausgenommen, das zukünftig die ZMS-Objekte stets mitindexiert werden (so daß Anpassungen bei Update entfallen). Weiterhin wurde eine 'CatalogAware'-Funktion eingeführt, die eine inkrementelle Indexierung für jede Objektmodifikation erlaubt; damit ist der Index stets aktuell.
Layout
<dtml-with "getSelf(['ZMSRubrik'])">
<dtml-in "filteredChildNodes(REQUEST,['ZMSRubrik'])">
<dtml-if
"getObjProperty('attr_dc_type',REQUEST)!='Resource'">
<p><i><a
href="<dtml-var "getHref2IndexHtml(REQUEST,deep=0)">"
style="text-decoration:none">
<dtml-var "getTitle(REQUEST)"></a></i></p>
<ol>
<dtml-in "filteredChildNodes(REQUEST,PAGES)">
<li>
<a href="<dtml-var "getHref2IndexHtml(REQUEST,deep=0)">"
><dtml-if "getObjProperty('attr_dc_date',REQUEST)">
[<dtml-var
"getLangFmtDate(getObjProperty('attr_dc_date',
REQUEST),lang,'DATE_FMT')">]
</dtml-if>
<dtml-var "getTitle(REQUEST)"></a>
<br /></li>
</dtml-in>
</ol>
</dtml-if>
</dtml-in>
</dtml-with>
Startseite
Da die initiale Seite unter einem der primären Channel-Knoten liegt exitiert eine start.dtml, die Apache adressiert, wenn der Rquest auf das Root geht:
Mehrsprachigkeit
Die Website ist bilingual (ger, eng) konfiguriert; für die Sprachvarianten exitiert ein Dictionary, der die Mehrsprachkeit der Navigations-Strings gewährleistet. Der Sprachselektor in bodyContent_FunctionTranslate funktioniert ohne JS.
Kapiteldruck
Neben der normalen Druckversion von Einzelseiten mit der üblichen Funktion: <!-- BO index_print.pdf -->
<dtml-call "REQUEST.set('l',[])">
<dtml-call "l.append('<html>\n')">
<dtml-call "l.append('<body>\n')">
<dtml-call "REQUEST.set('obs',[getSelf()])">
<dtml-call "obs.extend(getTreeNodes(REQUEST))">
<dtml-let level="obs[0].getLevel()">
<dtml-in obs>
<dtml-if "isPage()">
<dtml-call "l.append('<h%i>'%(getLevel()-level+1)+
getTitle(REQUEST)+'</h%i>'%(getLevel()-level+1)+'\n')">
<dtml-elif "isPageElement()">
<dtml-call "l.append(getBodyContent(REQUEST)+'\n')">
</dtml-if>
</dtml-in>
</dtml-let>
<dtml-call "l.append('</body>\n')">
<dtml-call "l.append('</html>\n')">
<dtml-call "RESPONSE.setHeader('Content-Type',
'application/pdf')">
<dtml-return "html2pdf(''.join(l))">
<!-- EO index_print.pdf -->
RSS-Feed: KPOH Veranstaltungs-Termine
Das zentrale DTML-Template newsfeed.xml erzeugt einen RSS-Strom mithilfe der Attributwerte aus den Kalendereinträgen. Die Referenzierung des Kalenders geschieht über die DTML-Methode 'objMap'; dort sind diverse IDs in Form einer Mapping-Tabelle hinterlegt:
Eingesetzte Zope-Produkte
Konfigurationen, Spezielle Objekte
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Home |
Sitemap |
Druckversion |
Seitenanfang |
Impressum |
pressinfo
© 2001-2008 Hoffmann+Liebenberg GmbH, SNTL Publishing GmbH & Co KG
|
ZMS is a partner project of medvalue.net