You are here:   » Home » Documentation » Project Details » KPOH

Project Documentation Cancer Net KPOH

Author: R. Herold, F. Hoffmann, 2003/07/23

The KPOH project (Kompetenznetz Pädiatrische Onkologie und Hämatologie = Competency Net Pediatric Oncology and Hematology) is one of the important starting points of ZMS 2.0. The most meaningful characteristics are the LDAP-integration, the default EPOZ-editor, an adapted meta-set and diverse, partly very complex special objects (calendar). In addition a ZMS-action for generating DOI-codes exists. The following documentation mentions the most important vertices of the configuration.

www.kinderkrebsinfo.de

Screenshot kinderkrebsinfo.de

LDAP-Authentification

Users are reached via the ZMS-root-menu "access"; in this menu users and roles are generated separately. At the overview page each "user" first is initialised without role (login-name, password, e-mail, hyperlink to profile data). In a user-specific sub-sub-menu any number of content-nodes is selected on which the user can have different rights resp. roles. For assigning access-nodes ('local roles') the following characteristics must be defined mandatory: language(s), URL of the content-node (via a sitemap-popup) and related role(s). Per default the known roles exist: admin, editor, author and subscriber.
(Note: since CVS-version of the LDAPUserFolder 2.2+, newer than 08.08.03, the dn is transferred correctly; moreover security holes with certificate-conditional authentication are processed.)

Zoom (10KB)

ZMS-access administration with LDAP-Interface; as authentication name that one is used which is specified in the Zope-LDAPUserFolder-configuration as 'Login Name Attribute'.

Zoom (10KB)

Specification of individual rights; for each content node roles and languages can be assigned.

Zoom (9KB)

Configuration of the LDAPUserFolders for communication with the LDAP-Service; the product is absolutely neccessary.

Search

The Zope product TextIndexNG 2.0 is used for indexing binary formats and enhances ZCatalog. When developing TextIndexNG 2.0 the regular indexing of ZMS-objects was excluded (so that adaptions with updating do not apply). Furthermore a 'CatalogAware'-function was introduced allowing an incremental indexing for each object modification; so the index is always up-to-date.
The differentiated search-interface consists of a text section containing DTML-code (download see teaser top right) for the specification of the search.

Layout

  1. Colour modifications through the design defintion-metaelement: a special object consisting of a colour defintion and two image-elements provides the meta-declaration for the design of the channels. The element is integrated optionally into a folder node; the specified parameters define the colouring and image-presentation.
  2. Micronavigation: ends with a 'RedDot' for the mode change to the editorial system. The following DTML-code generates the link: <a title="Edit!" <dtml-if "REQUEST.get('preview','')=='preview'">target="_parent"</dtml-if> href="manage?lang=<dtml-var lang>" style="color:red;text-decoration:none">&nbsp;&middot;&bsp;</a>
  3. The channel navigation bodyTop-Channels generates a tabele with asymmetric cell widths so that it fits into the layout construction
  4. By default a content overview of the subordinate page elements appears below the folder object; via the dc:type-attribute 'FolderWithoutTOC' the mechanism can be stopped.
  5. Special content overview TOC-lists can be located individually via DTML-code at any place. Exemplary code:
<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>

Start page

Because the initial page is located under the primary channel node a start.dtml exists that addresses Apache if the request goes to the root:

<!-- BO start.html -->
  <dtml-call "RESPONSE.redirect(content.e1664.absolute_url())">
<!-- EO start.html -->

Multilingualism

The website is configured bilingual (ger, eng); a dictionary for the language variants exists ensuring the multilingualism of the navigation-string. The language selector in bodyContent_FunctionTranslate works without JS.
If the user does not call the final "index+morphem" in the URL, it will be directed to the language identified by the Browser.

Chapter print

RSS-Feed: KPOH event dates

The central DTML-template newsfeed.xml generates a RSS-steam by means of the attribute values from the calendar entries. The referencing of the calendar happens via the DTML-method 'objMap'; diverse IDs in form of a mapping-table are deposited there:
'calendar':content.e2331.e54,
'search':content.e2379,
Note: Find more about RSS here.

Used Zope-products

  1. MailDropHost
  2. LDAPUserFolder
  3. TextIndexNG
  4. EPOZ-Editor
  5. other: PIL - Python Imaging Library

Configurations, Special Objects

Print this Document   change language   Sitemap   Contact
BMBF-Promotion
The German Federal Ministry of Education and Research (BMBF) sponsors this and other competency nets. More...more