heute, 3,8 und länger

Die beliebte Suchfunktion nach Dokumenten aus verschiedenen Zeiträumen:

In einer Dependance unserer Firma hat es sich eingebürgert, dass Mitarbeiter, die öfter und länger auf Dienstreise waren, in der Sammlung der Hausmitteilungen eine Vorsortierung nach Zeiträumen (siehe Titel) bereitgestellt bekommen.

Wie kann man dass mit WISE realisieren? Hier einige Gedanken, wenn auch noch nicht die fertige Lösung. Um es vorwegzunehmen, das Ergebnis wird soetwas wie ein Bookmarklet:

Die Suche bezieht sich zunächst mal auf ein Bulletinboard oder Notices oder Container, der die gesuchten Mitteilungen enthält und auf einer SITE im Firmen-Portal lebt:

Damit kann man auch die SiteSearch (advanced Search) mit einer entsprechenden Suche beauftragen.

Entsprechend gefüttert enthält das Suchergebnis nur Dokumente, die eine gewisse Zeichenfolge wie z..B. Hausmitteilung Nr. im Titel haben und einem Datumskriterium entsprechen.

Einen entsprechenden Suchbefehl kann man über einen Link auf die SiteSearch mit Parameterübergabe ausstossen. Die Datenrahmen kann man dabei mit javascript: in dem entsprechenden Suchfeld festlegen (heute-3 usw.) Wie das im einzelnen in einer Zeile zu erledigen ist bleibt zu recherchieren.

So ein Link kann entweder über ein URL Objekt irgendwo aus der SITE (global Menue) oder aus dem html Beschreibungsteil eines beliebigen Objektes gestartet werden, oder vielleicht als Favorit in der Linkleiste des Internet Explorers bereitstehen.

Die angefügte Textdatei gibt einen Anhalt, in welche Richtung das geht. leider kann man unbenötigte Tags (zumindest die entsprechenden _wformat-Parameter) nicht weglassen um das ganze übersichtlicher zu gestalten.

Kommentare und Diskussion und sachliche Beiträge sind erwünscht:

www.maassnet.org/blog3

…… WISE things to do….. 

Datei:
SiteSearch mit URL Parametern aufrufen

Posted in deutsch, DTML-Stuff, Suchen | 1 Comment

WISE 1.3 ZEO Installation

siehe auch  http://tide.act.nato.int/mediawiki/index.php/ZEO

  1. WISE 1.3 installiert
  2. In den Ordner c:\programme\wise\zope wechseln, dort python.exe c:\programme\wise\zope\zope\bin\mkzeoinstance.py c:\programme\wise\zope\zeoserver 8888
    eingeben
  3. In der Systemsteuerung den zope/wise Dienst stoppen
  4. Die data.fs von
    C:\Programme\WISE\data\var nach C:\Programme\WISE\zope\zeoserver\var
    kopieren
  5. Die Datei
    C:\Programme\WISE\zope\zeoserver\bin\runzeo
    in
    runzeo.bat umbenennen und editieren:

    • Den Eintrag INSTANCE_HOME ersetzen durch $ZEOINSTANCE
    • Unter ZOPE_RUN den Eintrag Zope\Startup\run.py durch ZEO\runzeo.py ersetzen
    • Unter CONFIG_FILE den Pfad anpassen c:\zope\instance\zeoserver\etc\zeo.con
  6. Die Datei c:\Programme\wise\zope\bin\zopeservice.py in zeoservice.py umenennen und anpassen
    • Den Eintrag INSTANCE_HOME anpassen (C:\Programme\WISE\zope\zeoserver)
    • Den Eintrag ZOPE_RUN anpassen
    • Zope2 in ZEO ändern
    • Startup löschen
    • run.py in runzeo.py umbenennen
    • Im Abschnittt CONFIG_FILE zope.conf in zeo.conf ändern 
    • Unter servicename Zope in Zeo umbenennen
    • Unter _svc_display_name_ Wise in Zeo umbenennen
  7. In der DOS-Box wird der Zeoservice initialisiert
    c:\programme\wise\zope\bin\python.exe c:\programme\wise\zope\zeoserver\bin\zeoservice.py –startup auto install (zeo1.jpg)
    c:\programme\wise\zope\bin\python.exe c:\programme\wise\zope\zeoserver\bin\zeoservice.py start (zeo2.jpg)

Folgenede Anpassungen sind am zeo-client notwendig

  1. C:\Programme\WISE\wise\etc\zope.conf
    • Define INSTANCE
      C:\Programme\WISE\zope\zeoserver
      (zeile 26 sonst wird nicht instance_home auf zeoserver gelegt)
    •  b.) Den Abschnitt zodb_db main auskommentieren
          #<zodb_db main>
         # Main FileStorage database
        #    <filestorage>
        #      path $DATA/var/Data.fs
        #    </filestorage>
        #    mount-point /
        #</zodb_db>
    • b.) Die Kommentarzeischen im Abschnitt ZEO client storage löschen
    • c.) Die Portnummer ggf. anpassen
         # ZEO client storage:
        <zodb_db main>
        mount-point /
        # ZODB cache, in number of objects
        cache-size 5000
         <zeoclient>
         server localhost:8888
         storage 1
         name zeostorage
         var $INSTANCE/var
         # ZEO client cache, in bytes
         cache-size 20MB
         # Uncomment to have a persistent disk cache
         #client zeo1
         </zeoclient>
        </zodb_db>
  2. Den Ordner products von C:\Programme\WISE\zope\Zope\lib nach C:\Programme\WISE\zope\zeoserver kopieren
  3. Kopiere site.zcml von C:\Programme\WISE\zope\Zope\skel\etc nach C:\Programme\WISE\zope\zeoserver\etc
  4. Die Datei access von C:\Programme\WISE\wise nach C:\Programme\WISE\zope\zeoserver kopieren (emergency passwort
  5. Jetzt den ZEO CLient über die Command-Line starten.
    c:\programme\wise\zope\bin\runzope.bat -X “debug-mode=on”
Posted in Clustering, deutsch, WISE 1.3 | Leave a comment

I’ve been looking for…….

latest news over our efforts to please the searchengine of our Company wide intranet search.

Flashback:

We are trying to make things easy on our companies big search engine.
The Spider, called Collector here, does have heavy problems to get sense out of a dynamicaly generated WISE Site.

Since we do have the requirement to search for information across our 150 somewhat sites, and I want to free my team from becomming search engine experts and get all the sh…. because a search does not report links that make sense to the user, we decided to talk to our companies search expert.

We learned, that the best way for him would be, if we produced a flat ContentMap for him to send his collector on with search depth 1

With help from Nic from wonderful southern California, we produced a SearchList that lists all the Rootwebs (aka SITES) in our installation and produces a Link to the on SITE SiteSearch Object, passing parameters for an advanced search.

How it´s done

The SearchList will be offered to the collector in syntax: SERVER_URL/SearchList

Search depth =2 should build an Index over all selected content.

The hip thing is, that a Contentmanager can control, what of his Sites Content will be available to search by adjusting the meta-data of their Objects.

Now we are facing a new aera of content discovery….

Here is the Source of the SearchList generator

<dtml-var standard_html_header>
<h2><dtml-var title_or_id> <dtml-var document_title></h2>
<p>
This is the <dtml-var document_id> Document
in the <dtml-var title_and_id> Folder.
</p>
<ul>
<dtml-in “objectValues(‘Rootweb’)”>
<li><a href=”<dtml-var SERVER_URL>/<dtml-var id>/SiteSearch/formSubmit
?waction=advancedSearchResults
&d_title=
&d_title_wformat=string
&d_content=
&d_content_wformat=string
&d_creator_wformat=multiple+selection
&d_subject_wformat=multiple+selection
&d_description=
&d_description_wformat=string
&d_publisher=
&d_publisher_wformat=string
&d_dateIssuedmin=
&d_dateIssuedmin_wformat=date
&d_dateIssuedmax=
&d_dateIssuedmax_wformat=date
&d_dateAvailablemin=
&d_dateAvailablemin_wformat=date
&d_dateAvailablemax=
&d_dateAvailablemax_wformat=date
&d_identifier=
&d_identifier_wformat=string
&d_language_wformat=multiple+selection
&d_format_wformat=multiple+selection
&d_source=
&d_source_wformat=string
&d_type_wformat=multiple+selection
&d_functionalArea_wformat=multiple+selection
&d_classification_wformat=multiple+selection
&d_releasability=IntranetBw
&d_releasability_wformat=multiple+selection
&d_fileSizemin=
&d_fileSizemin_wformat=int
&d_fileSizemax=
&d_fileSizemax_wformat=int
&d_poc=
&d_poc_wformat=string
&d_emailAddress=
&d_emailAddress_wformat=string
&d_wiseType_wformat=multiple+selection
&d_siteId=
&d_siteId_wformat=string
&d_dateModifiedmin=
&d_dateModifiedmin_wformat=date
&d_dateModifiedmax=
&d_dateModifiedmax_wformat=date
&d_dateExpiresmin=
&d_dateExpiresmin_wformat=date
&d_dateExpiresmax=
&d_dateExpiresmax_wformat=date
&enter.x=39
&enter.y=5″>
<dtml-var id>
</a>
</li>
</dtml-in>
</ul><dtml-var standard_html_footer>

An .zexp (Searchlist zum importieren)file is attachted for import into your site

A follow up will be posted, once we get feedback from our searchmaster.

Posted in DTML-Stuff, english, Suchen | 2 Comments

Nachtrag zum Setzen von Cookies……

Im Rahmen einer Besprechung haben wir herausgefunden, dass es unter Umständen Sinnvoll sein kann, den momentanen Usernamen in einem Cookie zu speichern um Ihn anderswo wieder auszuwerten.

Hier die dtml Anweisung:

<dtml-call “RESPONSE.setCookie(‘CURRENTUSER’,current_user)”>

Current_user ist im Heaer <dtml-let> definiert und bekommt die ID des eingeloggten Nutzers aus der Authentisierungsroutine zugewiesen.

das cookie kann bei onload gesetzt werden und wird so wieder gelöscht:

<dtml-call “RESPONSE.expireCookie(‘CURRENTUSER’)”>

KEEEEKKKKSSSSEEEEE……..

Posted in deutsch, DTML-Stuff, Product Hacks | Leave a comment

Container Bugs 2

Michael

I think that the current “capability” of the container is probably a mistake, the sort order shouldn’t be changed.

But to your question. The reason that you have a smaller pyc file is that the container is a Wise product which is actually producted by a product we call the wise compiler. You will need to set up a development environment as documented in the developers guide (install wise with the development option). You have to run the wise compiler on the directory containing the dtml, gif and py files.

Posted in english, Issues, Product Hacks | Leave a comment

Die To-Do Liste

Heute Morgen mal keine Materialsammlung im üblichen Sinne, sondern eine kleine “Gedankensammlung” über Projekte die im WISE 1.2 bei uns noch verwirklicht werden sollen. Die Auflistung ist noch nicht priorisiert.

  • Meta Tags in den HTML Header
    Zur besseren Indizierung durch externe Suchmaschinen. Besonders sollen hier die Subject/Keywords und die Kurzbeschreibung des Content erscheinen, die von einigen Suchmaschinen auch als Kurztext bei der Ergebnisanzeige genutzt wird (so vorhanden)
  • redaktionell geführter Site-Tree
    Als Krabbelanleitung für spidernde Suchmaschinen, der dann mit Suchtiefe 1 abgelaufen werden kann. Dies ist eine der Taktiken damit sich die Konzernsuche nicht auf dem Portalsystem verläuft. Durch die Natur der dynamischen Seitenerstellung, sowie dem Mix aus dynamischen und statischen Links, die auf jeder Seite wiederkehren, gibt es einige schwarze Löcher für einen Searchrobot bei uns.
  • Metatag für robots
    Wenn wir das Sitemap objekt für den Robot nehmen, müssen wir ihm bei einigen Objekten sagen, dass er da besser nicht weiterkriecht. (Kalender) wie wir das im einzelnen regeln, ist noch zu klären. weil: Kalendereinträge für Termine zu einem Thema sind ja auch ein sinnvolles Suchergebnis
  • DTML Umsetzung der Verlaufsnavigation (sog. Breadcrumbs)
    Existiert bereits aus den Arbeiten an Version 1.3 A1 und läuft auf der Testumgebung. Muss nur noch in das Produktivsystem übernommen werden.
    Vorteil: Angabe der Titel , nicht der URL Segmente, damit auch keine Parameter mehr in der Verlaufsleiste.
  • Anmeldung der SITE bei der Konzernsuchmaschnine.
    Nach der Beschäftigung mit lokalen, Siteübergreifenden Suchen, sind zwar noch nicht alle Möglichkeiten ausgeschöpft, aber der Aufwand für ein vernünftiges Suchergebnis ist einfach zu hoch für eine Filiale.
    Telefonische Rücksprache mit der redatktionellen Betreuung der Konzernsuche (FAST) haben ergeben, das besonders in der Zusammenarbeit mit dem WISE ein erheblicher Klärungsbedarf auf beiden Seiten besteht. Daher werden wir mit einer kleinen Delegation Anfang Mai in Dresden einfallen und versuchen, die Laune des Verantwortlichen und unsere Suchergebnisse zu verbessern.
  • Metatags:
    Das befüllen der Metatags durch die Nutzer (Inhaltsverantwortliche wie auch Konsumenten) müsste noch verbessert werden. Dazu brauchen wir aber entsprechende Felder in der Ansicht der Objekte.
    Die Besprechung mit der Leitering FIS Marine hat ergeben, dass eine kumulierende Schlagwortvergabe sinnvoll ist. Der so entstehende Katalog muss natürlich redaktionell um Tippfehler, und Gross-Kleinschreibungs Doppel bereinigt werden.

Wenn is die o.a. Einträge so sehe, stelle ich fest, dass die Beschäftigung mit der Suche und die thematischen Nachbarn einen grossen Teil der verbleibenden Zeit in Anspruch nehmen werden.

Ein weiteres Feld ist die Analyse des Nutzerbedarfs.
Mein aktueller Lesestoff zu diesem Thema, Webanalytics an hour a day von …hab ich vergessen.. hat auf den ersten Seiten klargestellt, dass die Auswertung von Logfiles (war ich bisher ein großer Fan von) und Clickstreams (php-my-visite) zwar ganz nett ist, uns aber nicht die eigentliche Frage über das Infoportal beantwortet.

Was braucht der Nutzer von dem was wir ihm hier auf einem Silberteller präsentieren.

Wir müssen also nach alter Väter Sitte wieder mit Bleistift und Fragebogen zum Nutzer, dem störrischen Kind und Ihn Fragen, was er denn so mit dem Infoportal anstellt, wie er es benutzt und was er von der Maschine an Ergebnissen erwartet.

Danach können wir dann den Kopf beleidigt in den Sand stecken, neue Anwendungsmöglichkeiten entdecken, neue Funktionalitäten einführen oder unsere Marketingbestrebungen bestehender Möglichkeiten verbessern.

Flensburg Weiche… Speichern …. logoff.

Posted in Allgemein, deutsch, DTML-Stuff, Metadaten, Pläne, Product Hacks | 1 Comment

Clustering is not trivial – latest forthcommings

As mentioned before, we are trying to cluster 2 (rendering) WISE Servers working onto one central ZODB. The tool in use to enable this on the ZOPE Level is Zope Enterprise Objects.

Just before I take of: If you try this and follow the How2, do yourself a favor and start of with:

  • a. a clean database to begin with
  • b. a sound WISE installation that works stable on your Database.

Why I highlight this? Guess.

As far as it goes, I can tell you, ZEO generally works, and everything the ZOPE Book (in the Development Installation Option) says about clustering is well true.

On the ZEO Server Side, timing is an Issue to give you a smooth ride on your data.
So for starters, it is not a good Idea to move out the data portion (aka Instance_home) of the WISE Server to a network attached storage device at the same time as you are trying to produce a stable clustering between two (or more) Rendering Machines and a database server.

Secondly: if you start out with a flaky ZODB i.e. with loads of broken links on the WISE Pages, or a ZODB that didn´t pack easyly on your old Installation. you can not tell, wether your DB or the way it is set up does pose any problems you are facing.

The above about tells you where we are after a weeks worth of work both on migrating content from two servers, and working out all the Link issues. (remember my Performance Issues on the TIDEPEDIA?)

Not that it is all that bad……. If it runs it is really hot. But unfortunately we didn´t get it to run stable, due to the above dont´s.

What now?

Since we are somehow committed to success, we are back at square one, starting out with a virgin ..\var\ filling it up with the data from the old Installation Site by Site and checking the Links at the same time with a free profiler called funnel web profiler by QUEST.

The Instance is now moved back to the ZEO Server local Raid storage (which helps a lot)

I keep you posted……..

Posted in Allgemein, Clustering | Leave a comment

Archivierung als Infomanagementaufgabe

Was

Hat man erstmal einen Fundus an Dokumenten und Informationen in Seinem Bereich eines Informationsportals deponiert (und ich habe das Wort bewusst gewählt), muss man als verantwortungsvoller Contentmanager seine Bestände regelmäßig auf zu archivierenden Bestand überprüfen und gegebenenfals ausmisten.

Für den Umfang und die Form der Archivierung gibt es gesetzliche Vorgaben. Arbeitet man in einer Einrichtung öffentlichen Rechtes, ist dieser Sachverhalt garnicht stark genug zu betonen.

Als Aufgabe merke ich mir hiermit vor, die Quellen für die Grundlagen der Archivierung zu recherchieren und hier zu veröffentlichen.
Gleiches gilt für die Form des an das Bundesarchiv abzugebene Material.

Auch hier hat man sich auf elektronische Formate eingerichtet und ein XML Format für Metadatensammlungen als Referenz für die entsprechenden elektronischen Akten/Dokumente definiert.

Warum
jetzt soviel metaphysische Baumwolle?

Im WISE fehlt uns ein entsprechender Mechanismus zur Unterstützung einer Archivierung und damit einhergehender reinigender Aufräumarbeiten bislang gänzlich.

Wie

Bei einer Koordinierungstagung mit unserer Schwestereinrichtung haben wir u.a. mit unserer Bibliothekarin über das Thema “reflektiert” und halten generell folgende Vorgehensweise für sinnvoll.

  1. Die Metadatensammlung wird um einen boolschen Eintrag über die Archivierungswürdigkeit eines Objektes erweitert.
    Dadurch kann man in einer erweiterten Suchabfrage eine Liste von Objekten erzeugen, die demnach einer Archivierung würdig sind und ggf. ein bestimmtes Alter haben.
  2. Auf dem Server wird ein Archivverzeichnis eingerichtet
  3. Aus den Metadaten der Objekte einer solchen Liste wird ein XML Dokument generiert und dort gespeichert
  4. Die Objekte werden entweder (Fileobjekt) analog zur Struktur im Fileobjectstore in das archivverzeichnis verschoben,
    oder als PDF gedruckt alternativ als statisches (m)html in dem Archivverzeichnis gespeichert
  5. Anschliessend werden alle Objekte der Liste über einen Delete aus dem laufenden System entfernt.

Beim nächsten Packen der ZODB ist der Datenbestand entgültig bereinigt.

Das Archivverzeichnis verbleibt bis zur weiteren Speicherung auf CD-ROM/ DVD auf dem Server

Ich habe diese Idee bereits gegenüber der NATO skizziert und warte auf Feedback bezgl. Realisierungsmöglichkeiten.
Letztendlich ist dieser Workflow eine Sammlung bestehender Funktionalitäten (abgesehen vom pdf Druck / (m)html Speicherung)

Neben den grundsätzlichen Vorteilen eines Werkzeuges zum Informationsmangement dient das Aufräumen / Archivieren natürlich auch zur quantitativen bereinigung des Bestandes und damit zur Verbesserung der Stabilität einer WISE Datenbank

Kommentare??……

Posted in deutsch, Metadaten, Pläne, Suchen | Leave a comment

Teilen von Programm und Daten

Was

Die Speicherorte des Daten und Programmanteils von WISE sollen auf getrennte Partitionen gelegt werden.

Warum

Nach der “aus der Tasche” Installation von WISE hat man auf dem Ziellaufwerk ein …WISE Verzeichnis, das alles aus dem Rundum-Sorglos-Packet der CD enthält. So auch die Datenbasis der zukünftigen Websites.

Da bei einer Installation auf Windows, der Logik des Systems folgend, die Anwendungen meist auf c:\Programme installiert werden, liegen hier nun auch die Datenverzeichnisse des WISE in c:\programme\wise\var .

Für zukünftige Softwareupdates und bei Problemen mit dem hochperformanten multimedialen Betriebssystem ist das von Nachteil, da eine neuinstallation von WISE in der Regel alle Daten ins Nirwana verschiebt.

Wie

1. Schritt, alles auf einer Maschine:

Ausgangslage:

  • 2 Partitionen, von denen
    • eine (c:) das Betriebssystem und die Anwendungen beherbergt,
    • die andere (d:) für die Datenhaltung vorgesehen ist.
  1. Verzeichnisse:
    ..\wise\var und ..\wise\etc
    sowie die Datei access
    aus dem Verzeichnis c:\programme\wise auf die Datenpartition kopieren
  2. Registry Key:
    HKey_local_machine\software\Digital Creations\Zope\wise\instance_home
    Wert von c:\programme\wise ändern auf d:\wise
  3. Registry Key:
    Hkey_local_machine\System\currentControlSet\Services\wise\parameters\start\
    Den Wert ergänzen um: INSTANCE_HOME=D:\WISE
  4. Restart WISE (net stop wise….. Net start wise) oder über Verwaltung Dienste

Der WISE SERVER nutzt nun die Datenbasis auf der Datenpartition

2. Schritt, verteilt über das Netzwerk

kommt noch

Was noch

Packen nie vergessen

Posted in deutsch, Product Hacks | Leave a comment

Favicon

Was

Ein Favicon ist ein kleines Bild (16×16) das der Adresse bei Favoriten und in der Adresszeile vorangestellt ist.

Warum

Bei Analyse der WebServerLogFiles fallen oft Fehlermeldungen auf, bei denen ein Browser aus nicht erfindlichen Gründen ein Favicon anfordert. Da die nichtbeantwortung dieses Ansinnens einem toten Link gleichkommt, der auf die Performance des Portals dückt, ist es sinnvoll ein Icon bereitzustellen.

Wie

Ein WISE Nutzer hat ein Favicon eingeführt indem Sie die im wise_html_Header.dtml im Bereich <head> die Zeile

<link href=”URL auf das FAVICON.icon” rel=”shortcut icon” type=”image/x-icon” />

eingefügt haben.

Posted in deutsch, DTML-Stuff | Leave a comment