Benutzer-Werkzeuge

Webseiten-Werkzeuge


heiko:tipps:cms:tipp_zope_zms_01

Dies ist eine alte Version des Dokuments!


Tipps => CMS

letzte inhaltliche Überarbeitung: 01.01.2008

Tipps => Zope => ZMS - Zope(Content)ManagementSystem) (1)

1. Beschreibung

1.1 Was ist ZMS?

ZMS ist ein OpenSource-Content-Management-System für den Application-Server Zope. Es ist als „Product“ von der Homepage der Urheber Homepage für ZMS Fa. Hoffman+Liebenberg, Gesellschaft für Informationsmanagement downloadbar. Als „Product“ bezeichnet man ein sehr einfach in den Zope-Server integrierbares komplettes Softwarepaket, mit dem man die Funktion des Zope-Servers erweitern kann. Diese modulare Erweiterbarkeit ist auch gleichtzeitig einer der Vorteile, die für den Einsatz von Zope sprechen.

==== 1.2 Was kann ZMS? ===0 ZMS wurde im bzw. für den medizinischen, wissenschaftlichen Bereich entwickelt. Es dient u.a. als E-Learning-, Wissensmanagement- und Intranet-Plattform.

ZMS ist in mehreren Sprachen (u.a. auch deutsch) verfügbar und beherrscht das Verwalten von mehrsprachigen Sites.

ZMS kann die dynamischen Seiten zur Präsentation auf einem statischen Webserver komplett exportieren. Diese Funktion ist für mich sehr wichtig, da ich vorhabe, nachdem ich mich umfassend eingearbeitet habe, meine private Site und die HP und das Intranet meines AG's auf das ZMS umzustellen. </p>

    <a name="beschreib_03"><h3>1.3 Welche Version?</h3></a>

<p>

    Da es f&uuml;r SuSE 8.1 nur eine etwas &auml;ltere Zope-Version 2.5.1 und dazu entsprechend
    Python in Version 2.1.3 gibt, benutze ich diese auch. So erhalte ich mir die
    automatische Einbindung von Zope in den Apache-Webserver und das (meist mit Problemen
    verbundene) Selbstkompilieren des Zope-Servers.

</p> <p>

    <span class="kursiv">"ZMS"</span> ist zur Zeit in der stabilen Version 2.1.2.1-final f&uuml;r
    Zope 2.6 (funktioniert aber auch mit meinem Zope 2.5.1) und
    2.2.-Beta f&uuml;r Zope 2.7, Python 2.3, UTF-8.

</p>

    <a name="install"><h2>2. Installation</h2></a>
    <a name="install_01"><h3>2.1 Auspacken und Kopieren</h3></a>

<p>

    Nach dem Download des <span class="kursiv">"ZMS"</span> entpackt man das Archiv und
    kopiert das entstandene Verzeichnis <span class="kursiv">"ZMS"</span> mitsamt den
    Unterverzeichnissen in den <span class="kursiv">"Product"</span>-Pfad des Zope-Home-Verzeichnisses (bei mir
    unter SuSE 8.1: /opt/zope/lib/python/Products). Ein eventuell vorhandenes
    <span class="kursiv">"ZMS"</span>-Verzeichnis sollte vorher gel&ouml;scht werden, da man
    nicht ausschlie&szlig;en kann, dass einige der alten Dateien nicht mehr im neuen
    <span class="kursiv">"ZMS"</span> enthalten sind und somit nicht &uuml;berschrieben werden.

</p>

    <a name="fehlerbehebung"><h2>3. Kleine Probleme beseitigen</h2></a>
    <a name="fehlerbeh_01"><h3>3.1 Fehlende Icons:</h3></a>

<p>

    Nach dem erfolgreichen Einf&uuml;gen einer "ZMS-Instanz" (oder -site) wechselt man in das
    neu angelegte Verzeichnis (hier als Beispiel "myzms2" genannt). Durch klicken auf das
    Verzeichnis <span class="bold">"content"</span> gelangt man zur Management-Ansicht
    der neu angelegten "ZMS-Site".

</p> <p>

    Hier fehlt als erstes (was man gar nicht gleich bemerkt) das "ZMS-Logo"
    <span class="kursiv">banner.gif</span> in der Kopfzeile. Die fehlenden Management-Icons
    rechts oben auf den "Karteikarten" bemerkt man hingegen gleich. Auf den folgenden Seiten
    kommen weitere Icons hinzu, die teilweise als "Funktionstr&auml;ger" f&uuml;r Links benutzt
    werden, hinzu. Sobald hier die Icons nicht gefunden werden kann man die zugeh&ouml;rige
    Funktion nicht aufrufen (speziell bei
    <span class="kursiv">"Zugriff->Rollen->Einf&uuml;gen"</span> bemerkt).

</p> <p>

    Der Fehler wird in der Datei
    <span class="bolditalic">$ZMS-BASE/zmsobject.dtml</span> in Zeile 119 bis 121
    verursacht (bei meiner Installation ist
    <span class="bold">$ZMS-BASE = /opt/lib/zope/python/Products/zms</span>).

</p> <p>

    In diesen Zeilen muss jeweils nur der f&uuml;hrende Schr&auml;gstrich vor "misc_" entfernt werden.
    Voila - nach dem n&auml;chsten Neustart von Zope sind die wichtigen Icons vorhanden.

</p>

    <a name="fehlerbeh_02"><h3>3.2 Fehlende Linktips an Management-Icons:</h3></a>

<p>

    Beim Benutzen st&ouml;rte mich als Anf&auml;nger, dass an den Icons der Management
    Benutzer-Oberfl&auml;che keine Linktips auftauchten, wenn man mit der Maus dar&uuml;berf&auml;hrt.
    Ich suchte also in den Verzeichnissen des ZMS nach Dateien in denen die jeweiligen
    Bildnamen der Icons vorkamen. An der jeweiligen Stelle in der Datei kopierte ich
    den <span class="bold">"alt=..."-Befehlsstring</span>, &auml;nderte an dieser Kopie
    <span class="bold">"alt" in "title"</span> - und siehe da
    ich hatte meine gew&uuml;nschten Linktips.

</p> <p>

    Dabei stellte ich aber fest, dass nicht alle "alt=..."-Werte konsequent mit
    "Language"-Variablen (getLangStr(...)) versehen sind (z.B. System). Dadurch kann es vorkommen, dass
    bei Ver&auml;nderung der Managementsprache, die betroffenen Icons weiterhin mit dem englischen
    Linktip versehen werden.

</p> <p>

    Nur als Orientierung hier die betroffenen Dateien (es sieht viel aufw&auml;ndiger aus als
    es eigentlich war):
    <ul>
        <li>$ZMS-BASE/dtml/object/managetabs.dtml</li>
        <li>$ZMS-BASE/dtml/metapattern/manage_customizeform.dtml</li>
        <li>$ZMS-BASE/dtml/zms/manage_main.dtml</li>
        <li>$ZMS-BASE/dtml/zmscontainerobject/manage_main_btn.dtml</li>
        <li>$ZMS-BASE/dtml/zmssysfolder/manage_importexport.dtml</li>
    </ul>

</p>

    <a name="fehlerbeh_03"><h3>3.3 Fehlendes Rollen-Icon:</h3></a>

<p>

    Nach dem erfolgreichen Einf&uuml;gen einer "ZMS-Instanz" (oder -site) wechselt man in das
    neu angelegte Verzeichnis (hier als Beispiel "myzms2" genannt). Durch klicken auf das
    Verzeichnis <span class="bold">"content"</span> gelangt man zur Management-Ansicht
    der neu angelegten "ZMS-Site".

</p> <p>

    Im Management-Dialog <span class="bold">"Zugriff"</span> zur Verwaltung der
    Benutzer und Rollen, fehlt im Bereich der Rollen
    das Icon im Kopf der Spalte, welches in der Benutzerspalte vorhanden ist. Dies hat
    keine negativen Auswirkungen. Es ist nur ein Layout-Fehler.

</p> <p>

    In der Datei <span class="bolditalic">$ZMS-BASE/dtml/zms/manage_users.dtml</span> muss
    die Zeile 701 (hier nur wegen der Fensterbreite mit Zeilenbr&uuml;chen dargestellt)

<pre class=„code“> &lt;dtml-call „REQUEST.set('extra',&lt;img src=%sicon_roles.gif \ align=absmiddle border=0 alt&gt'%MISC_ZMS)&gt; </pre>

     vor die Zeile 698 verschoben werden.<br>
     Die jetzige Zeile 699 (vorher Zeile 698) ist folgenderma&szlig;en um ein
     <span class="bolditalic">extra=extra</span> zu erg&auml;nzen (auch wieder ohne
     Zeilenumbruch!):

<pre class=„code“> &lt;dtml-var „f_headline(_,_,headline=getLangStr('ATTR_ROLES',\ manage_lang),extra=extra)“&gt&lt;br /&gt; </pre> </p> <p>

    Nach einem Neustart des Zope-Servers sollte das fehlende Symbol angezeigt werden. Das
    Fenster sieht gleich viel ausgeglichener aus;-))

</p>

    <a name="fehlerbeh_04"><h3>3.4 Navigationsleiste - Link-Problem:</h3></a>

<p>

    In der waagerechten "Channel"-Navigationsleiste wurden bei mehreren Elementen in einer
    Rubrik die Links so erstellt, dass der Link immer bis zum letzten Element im diesem
    Pfad zeigte.

</p> <p>

    Zum Beispiel diese Rubrik mit den Unterrubriken/-elementen:<br>
    <span class="bold">Tips -> Linux -> Meine Erfahrungen</span><br>
    In diesem Fall zeigte der Link auf das Element
    <span class="bold">"Meine Erfahrungen"</span>.

</p> <p>

    In der Datei <span class="bold">$ZMS_Root/bodyTop_Channels</span>
    <span class="bolditalic">($ZMS_Root = Zope-Management-Interface/diese-zms-site)</span> in
    <span class="bold">Zeile 9</span> ist der erste
    <span class="bold">"REQUEST"-Aufruf zum Erzeugen des Links</span>
    mit <span class="bold">",deep=0"</span> zu erg&auml;nzen. Dann werden die richtigen Links
    (nur zum n&auml;chsten untergeordneten Element/Rubrik) erzeugt.

</p> <p>

    Die gleichen Schritte m&uuml;ssen nun auch in der Datei
    <span class="bold">$ZMS_Root/bodyContent_Micronavigation</span> in
    <span class="bold">Zeile 11</span> ausgef&uuml;hrt werden, da auch die "Micronavigation"
    (zum schnellen Zur&uuml;ckwechseln in &uuml;bergeordnete Ebenen):<br>
    <span class="bold">ersten "REQUEST"-Aufruf</span> zum Erzeugen des Links
    mit <span class="bold">",deep=0"</span> zu erg&auml;nzen. Dann werden die richtigen Links
    (nur zum n&auml;chsten untergeordneten Element/Rubrik) erzeugt.

</p> <p>

    Da hier die Linktips durch das Element "title" fehlen, habe ich auch diese nachgepflegt.
    Dazu muss man in der gleichen Zeile <span class="bold">hinter dem String
    <span class="kursiv">class="navMicro"</span></span> ein Leerzeichen und das folgende
    "title"-Element einf&uuml;gen:<br>
    <span class="bold">title="&lt;dtml-var "getTitle(REQUEST)"&gt;"</span>.

</p> <p>

    Diese Funktion (Link-Tips) habe ich auch noch in der Datei
    <span class="bold">$ZMS_Root/bodyContent_Macronavigation</span> hinter den
    <span class="kursiv">"REQUEST"-Aufrufen zur Erstellung der Navigations-Links</span>
    auf der linken Seite des Fensters (Hauptnavigation) auf die gleiche Weise "nachger&uuml;stet".

</p>

    <a name="sicherg_konfig"><h3>3.5 Sicherung der &Auml;nderungen</h3></a>

<p>

    Die in Punkt 3.4 gemachten &Auml;nderungen gelten leider immer nur f&uuml;r das jeweils aktuelle
    ZMS-Projekt (oder ZMS-Site). Wird ein neues Projekt mit Hilfe der mitgelieferten
    Designvorlagen erstellt muss man diese Anpassungen (Pkt. 3.4) immer wieder von neuem
    durchf&uuml;hren.

</p> <p>

    Will man diese sowie auch andere Layoutelemente an die eigenenen W&uuml;nsche anpassen und sie
    in einem weiteren Projekt/Site benutzen, muss man die ver&auml;nderte Site
    <span class="bold">im *.zexp-Format exportieren (kompiliertes Zope-Export-Format)</span> und als
    <span class="bold">neue Designvorlage</span> benutzen.
    Ich habe das aber selbst noch nicht versucht, wei&szlig; also nicht genau wie das ausgeht.

</p> <p>

    Im Zope-Management-Interface kann man &uuml;ber den Punkt Import (u.a. auch *.zexp-)Dateien
    importieren. Diese m&uuml;ssen im <span class="bold">$ZOPE_BASE/import-Verzeichnis</span>
    liegen. Wenn man dies mit der
    gerade exportierten Datei des ver&auml;nderten "Designs" macht erh&auml;lt man Fehlermeldungen, dass
    die Adresse bereits benutzt wird. Erst nach dem L&ouml;schen der voerherigen ZMS-Site mit
    gleichem (urspr&uuml;nlichem) Namen und einem Zope Neustart gelingt dieser Import. Man hat aber
    kein blo&szlig;es Design importiert sondern die komplette ZMS-Site.

</p> —————??????————————— <p>

    Zum Anzeigen des exportierten "Designs" in der Vorlagen-Auswahl muss man die Datei mit
    der Endung <span class="bold">".zexp"</span> aus dem Verzeichnis
    <span class="bold">$ZOPE_BASE/var</span> (wohin sie beim Export standardm&auml;&szlig;ig
    gelegt wird) in das Verzeichnis <span class="bold">$ZMS_BASE/import</span> kopieren.
    Der Dateiname muss der Vorgabe aus dem ZMS folgen und folgende
    <span class="bold">Form aufweisen: myZMStheme%NR%.zexp</span>.
    %Nr% soll eine fortlaufende Nummer sein (Achtung keine &Uuml;berschneidung mit schon vorhandenen
    Designs). Zus&auml;tzlich muss ein <span class="bold">Screenshot</span> des Designs im
    <span class="bold">$ZMS_BASE/images-Verzeichnis</span> abgespeichert werden. Der Name muss
    folgendes <span class="bold">Format benutzen: Screen_myZMStheme%NR%.jpg</span>, da anhand
    dieser Bildernamen die Links zur Auswahl erzeugt werden.
heiko/tipps/cms/tipp_zope_zms_01.1533947333.txt.gz · Zuletzt geändert: 2018/08/11 02:28 von Heiko Teichmeier