Installationsfortschritte

Ein Fortschritt war es schon.
Die Installation von BRITE wurde nach Aussage des Installers erfolgreich abgeschlossen. Der Bonjour Browser (BonjourFoxy) findet jede Menge Dienste. Ein Aufruf der Website ohne BRITE bringt leider nur ein …. It Works zustande. /BRITE (Name der ersten SITE) wird leider nicht gefunden. ….. hm…. Der Apache geht also, der BRITEwise  Dienst ist gestartet…. aber die SITE kommt noch nicht.
Nochmal starten warten. im Zweifel eine neue saubere VM bauen und nochmal.

Posted in Allgemein, deutsch, WISE/BRITE | Leave a comment

Installing BRITE

What

After several attempts to install BRITE 1.1.2, failing into an error proclaiming that postgres RDBMS Service was not started, I ended up working on a WinXP Pro Virtual Machine trying it again.

Inadvertadly I found out that the Installer sets up a Postgres User to Windows (the Badge showed after Restarting…)

I restarted the Installation hoping… and bingo it went through …. at least that bottleneck.

Now I converted/copied the VM to a larger Medium and increased hard-disk Size.
Try again.

But befor i do. I´ll delete the remainders of BRITE Services. With the Tip brian cryer from http://www.cryer.co.uk/brian/windows/howto_nt_das.htm pointed out.

I´ll report back.

Posted in WISE/BRITE | Leave a comment

Setting up shared Folders (VM-Workstation)

What

this is a Notepad Version for later documentation containing an Extract from VM Workstation Help

Why

 I am working on setting up a BRITE on a VM  hosted on (sorry) Vista. Due to circumstances out of my control……;-) 

HowTo

Transferring Files and Text Between the Host and Guest : Using Shared Folders : Set Up Shared Folders

Set Up Shared Folders
Shared folders provide an easy way to share files among virtual machines, and between virtual machines and the host. The directories you add as shared folders can be on the host computer or they can be network directories accessible from the host computer.
Before you begin, make sure the following prerequisites are satisfied:

  • Make sure the virtual machines use a guest operating system that supports shared folders. For a list of supported guest operating systems, see Using Shared Folders. 
  • Verify that the current version of VMware Tools installed in the guest operating system. See Installing VMware Tools.
  • Check permission settings. Access to files in the shared folder is governed by permission settings on the host computer. For example, if you are running Workstation as a user named User, the virtual machine can read and write files in the shared folder only if User has permission to read and write them. For information about how permission setting are mapped between Linux and Windows, see Improved Handling of Permissions.

To set up a folder for sharing between virtual machines, configure each virtual machine to use the same directory on the host system (or on the network).

To set up shared folders 

  1.  Start Workstation and select a virtual machine.  
  2. Choose VM > Settings.  
  3. Click the Options tab and select Shared Folders.
  4. (Optional) For easy access, select the Map as a network drive in Windows guests check box to map a drive to the Shared Folders directory.
    This directory contains all the shared folders you enable. The drive letter is selected automatically.
  5. Click Add
    On Windows, clicking Add starts the Add Shared Folder wizard. On Linux, it opens the Shared Folder Properties dialog box.
  6. Use the following information to complete the wizard or Properties dialog box:
    • Name – Name that appears inside the virtual machine. 
      Characters that the guest operating system considers illegal in a share name appear differently when viewed inside the guest. For example, if you use an asterisk in a share name, you see %002A instead of * in the share name on the guest. Illegal characters are converted to their ASCII hexadecimal value.
    • Host folder – Path on the host to the directory that you want to share.
      If you specify a directory on a network share, such as D:\share, Workstation always attempts to use that path. If the directory is later connected to the host on a different drive letter, the shared folder cannot be located.
    • Enabled or Enable this share – Deselect this option to disable a shared folder without deleting it from the virtual machine configuration. You can enable the folder by selecting the check box next to its name in the list. 
      To enable a folder at a later time select its name in the list, click Properties, and enable the folder in the Properties dialog box.
    • Read-only – Select this option to prevent the virtual machine from changing the contents of the shared folder in the host file system. Access to files in the shared folder is also governed by permission settings on the host computer.
    • To change these properties, use the Properties dialog box. On Windows, after you select Shared Folders on the Options tab, click Properties.
  7. (Optional) To enable shared folders for a virtual machine after a shared folder is created, on the Shared Folders settings panel, use the Folder Sharing section:
  8. Select Enabled until next power off or suspend to enable folder sharing temporarily, until you power off or suspend the virtual machine. If you select Enabled until net power off or suspend and restart the guest or use the guest operating system to shut down, shared folders are not disabled when you restart the virtual machine.
  9. Select Always enabled to enable or disable specific folders in the Folders section.

Access the enabled shared folder:

  • For Windows guests, see View Shared Folders in a Windows Guest.
  • On Linux guests, shared folders appear under /mnt/hgfs. 
  • On Solaris guests, shared folders appear under /hgfs. 
Posted in Allgemein, english, WISE/BRITE | Leave a comment

BRITE proceedings

Yes, I did it…… I downloaded the current Version of BRITE (as of Nov. 4th) version 1.1.1 with the 1.1.2 Patch and started to Install it onto a VM hosting Win 23K Server.

Due to the fact that I didnt´t have an english language Version of the OS at my disposal, I tried to cheat by changing the regional settings to us – english.

so far it worked.

35 Minutes (the installation routine told me) after I double-clicked the brite.exe, I was able to connect to a Brite WISE from the Host to the VM.

So far so good.

I will go into further detail next thursday…

still WISE things to do……….

Posted in Allgemein | Leave a comment

automatisches Einloggen über Scripte vs. single-sign-on mit cookies

Wir möchten gern eine Möglichkeit schaffen, bei der der Nutzer sich nicht auf jeder Site des WISE neu identifizieren muss. Dazu haben wir uns überlegt, mit Hilfe eines eindeutigen Nutzernamens die Berechtigung des Nutzers aus einer Datenbank zu filtern. Dazu bietet sich bei Windowssystemen geradezu der WinLogon-Name an. Diesen will Windows aber von sich aus partout nicht preisgeben. Nach mehreren Fehlversuchen habe ich erfolgreich ein Apachemodul zur Identifizierung des WinLogon-Namen des Clientusers beim WISE-Apache eingebunden. Das Modul heisst mod_SSPI und ist nur in Intranets einsetzbar. Im Grunde verwendet das SSPI die NTLM-Authentifizierung von Windows für ein in der httpd.conf des Apache angegebenes Verzeichnis. Wird dieses nun angesurvt, so muss der Client sich am Apachen im 3-Wege-Handshake (u.a. auch mit dem eingeloggten Windowsnutzer) identifizieren.

Mit Hilfe dieses Moduls wollte ich nun den Anmeldenamen einfach in einem Cookie speichern und so bei Bedarf verfügbar machen. Bei meinen ersten Lösungsansätzen zum Ausprogrammieren eines Single-Sign-On für WISE mittels Cookies, bin ich sehr schnell an den Sicherheitsdirektiven von Cookies gescheitert. Es verhält sich so, dass Cookies nur durch Vererbung Gültigkeit haben. D.h. um ein Cookie auf allen Sites eines WISE-Portals ferfügbar zu machen, muss es in der obersten Strukturebene erzeugt werden (www.test.abc). Sobald es auf einer Site (www.test.abc/beispiel) erzeugt wird, ist es auch nur auf dieser Site und allen darunter liegenden Objekten verfügbar. Da ich keine Lösung fand und auch nicht die Motivation hatte noch länger nach einer Lösung zu suchen, habe ich mir ein anderes Konzept zur ständigen Verfügbarkeit des WinLogon überlegt.

Im Header wird mittels JavaScript und zur Verfügung stehenden dtml-Variablen ausgelesen, ob der Nutzer aus einem bestimmten IP-Adresskreis kommt und bei zutreffender Bedingung ein automatisches Logon als angegebener WISE-Nutzer(Rolle) durchgeführt. Somit habe ich ein scheinbares Single-Sign-On für diese Rolle erzeugt. Weiter wird im Header geprüft, ob der angemeldete WISE-Nutzer gleich einem bestimmten WISE-Nutzer ist. Ist dies der Fall, so wird ein Button angezeigt zum Anmelden auf der Site mit der maximal zur Verfügung stehenden Rolle. Wenn dies nicht der Fall ist wird kein Button angezeigt. Bei Betätigung des Button wird ein PHP-Script geöffnet und die Herkunfts-URL mit übergeben. In dem Script wird geprüft, ob es eine Datei gibt, in der der WinLogon des Clientusers steht. Ist dies nicht der Fall, so wird ein weiteres PHP-Script aufgerufen, welches in dem Verzeichnis steht, das der Apache mit SSPI authentifiziert. Dieses Script erstellt die geforderte Datei und speichert diese mit der Session-ID als Namen. Danach wird wieder das vorherige PHP-Script aufgerufen. Nun ist die Datei vorhanden und kann ausgelesen werden und der WinLogon in einer Variable abgelegt werden. Diese Prüfung gleich zum Anfang des Scriptes habe ich eingebaut, um die Authentifizierung des Clientnutzers über das 3-Wege-Handshake so wenig wie möglich zu nutzen. Mit dem WinLogon und der Herkunfts-URL wird jetzt ein Select auf eine Datenbank ausgeführt. In dieser Datenbank sind alle Sites des WISE, die Rollen und alle Nutzer enthalten, die höhere Berechtigungen haben sollen. Der Select liefert einen Zahlenwert für die Rolle zurück. Dieser Wert und die Herkunfts-URL werden an ein weiters PHP-Script übergeben.

In diesem Script wird zum einen der Login protokolliert um später eindeutig nachvollziehen zu können, wer wann angemeldet wurde und zum anderen wird ein Aufruf des letzten erforderlichen PHP-Scripts durch ein Switch auf den Zahlenwert der Rolle erzeugt, um den Nutzer mit der richtigen Rolle anzumelden. Das so gestartete letzte PHP-Script bindet die richtigen Anmeldedaten zur Laufzeit ein und logt den Nutzer so im WISE ein.

Letztendlich kann ich keine Garantie für Funktionalität an anderen Standorten geben, da die NTLM-Athentifizierung nicht überall vom Browser durchgeführt wird und auch nur innerhalb einer Domäne funktioniert. Diese mehrfach angesteuerten verschieden Scripte sind notwendig um zum einen die Sicherheit zu maximieren sowie die Verfolgbarkeit der Verlinkungen zu minimieren und zum anderen, damit die Nutzerdaten mit übertragen werden. So würde z.B. ein “include() ” des 2. PHP-Scriptes nicht funtionieren, da ein “include()” nicht mit den Berechtigungen des Nutzers durchgeführt wird, sondern als “SYSTEM”.

Eine Funktionsdarstellung in Bildform folgt.

Gorden

Posted in Allgemein, deutsch | Leave a comment

Mehr Kekse zu Weihnachten

Die Weihnachtszeit rückt unhaltbar näher. Bei Aldi gibt es seit langem schon wieder Dominosteine, Lebkuchen usw.

 Auf der ständigen suche nach einer Verknüpfung zwischen der Windowsanmeldung und dem WISE Login hat Gorden einen Lösungsweg mit mod sspi für den Apache eingeschlagen.

Dafür benötigt er noch etwas Hintergrund zum setzen und auslesen von Cookies in DTML

Hier stehen einige meiner ungefilterten Rechercheergebnisse zum Thema. die aufzählung wird ständig erweitert…..

 Hier die Info aus den ZOPE Labs:

Using Cookies with Zope

Submitted by: grifter
Last Edited: 2004-10-14Category: DTML

Average rating is: 3.33 out of 5 (3 ratings)

Description:
What is a Cookie? Cookies are strings of text that webservers
(like Zope) can store on the client browser to record small
bits of data like user names, current positions, last visits,
etc. They are written to client file system either in one
long cookies.txt file for Netscape or in a directory for I.E.

(Note: This is not my material. My footnote says it was
originally created by BwanaZulia)


Source (Text):

Set cookie: <dtml-call "RESPONSE.setCookie('favorite_language', 'Python', expires='Wed, 19 Feb 2020 14:28:00 GMT')">  Read cookie: <dtml-if "REQUEST.has_key('favorite_language')">   <dtml-var favorite_language> </dtml-if>

Explanation:
Example One

Say you want to set a cookie that stores the name of your favorite
programming language (this is not supposed to be useful, just an
example). Copy and paste this into a DTML Document, view it,
shutdown your browser, find your cookies and see if it worked.

<dtml-call “RESPONSE.setCookie(‘favorite_language’, ‘Python’, expires=’Wed, 19 Feb 2020 14:28:00 GMT’)”>

Note:The expiration date can be any date you want but if you do not set one the cookie will expire when the browser is shutdown.

Now, if you wanted to get it back you need to check for it and call
it.

<dtml-if “REQUEST.has_key(‘favorite_language’)”>
<dtml-var favorite_language>
</dtml-if>

Example Two

Now you want to store some user name and email address (like I do
in ZUBB). The user name and email address are set in a form the
posts to this example so we can skip the dtml-call step.

<dtml-call “RESPONSE.setCookie(‘user_name’, user_name, expires=’Wed, 19 Feb 2020 14:28:00 GMT’)”>

<dtml-call “RESPONSE.setCookie(’email_address’, email_address, expires=’Wed, 19 Feb 2020 14:28:00 GMT’)”>

Note: notice that the second email_address, the actually zope
variable, is not in single quotes.

Now in ZUBB I want to check for the cookie (user name/email address)
and insert it into the post/reply form if it is there.

Tips for Working with and Testing Cookies

Find your cookie file and get ready to open it (you might have to
close your browser first).

Keep two different browsers open (IE, Netscape), leave one as the
test and the other to code in Zope.

Set the test browser to “warn before accepting cookies” (or
whatever it says).

Be ready to shutdown and reboot your brower every five seconds.

You can create a DTML Method called “cookies” or some such thing
and call it from your standard_html_header.

1. Formular zum Cookie setzen

<FORM NAME=”formular” METHOD=”POST” ACTION=”report”><P>
Name: <INPUT TYPE=”TEXT” NAME=”qkey” SIZE=30 MAXLENGTH=30><BR>
Value: <INPUT TYPE=”TEXT” NAME=”qvalue” SIZE=30 MAXLENGTH=30><BR>
<INPUT TYPE=”submit” VALUE=”Submit”>
</Form> 

2. Formular auswerten  Cookie setzen

<p>
Das Cokie ist plaziert !!!
<dtml-call “RESPONSE.setCookie(_[‘qkey’],_[‘qvalue’],
expires=’Wed, 19 Feb 2020 14:26:00 GMT’)”>
</p>

3. Cookie lesen

<p>
das Cokie heisst:<BR>
<dtml-in expr=”REQUEST.cookies.keys()”>
<dtml-var sequence-item> –> <dtml-var expr=”REQUEST.cookies.get(_[‘sequence-item’])”><br>
</dtml-in>
</p> 

Beispiele sagen mehr als tausend worte…..

Mickey

Posted in Allgemein | Leave a comment

…aufdatieren….

War ich doch fast 3 Monate quasi offline.

Nicht das das Studieren so stressig sei, ich möchte es eher  als interessant bezeichnen…… und anspruchsvoll.

Was uns Erstsemestlern da z.B. in Mathematik so vor die Füße geworfen wird ist mitnichten trivial. Und diese Ansicht ist nicht geprägt von der Tatsache, daß mein Abitur schon 25 Jahre zurückliegt.

Aber genug davon……

Was gibt es neues in Bezug auf unser Thema WISE.

  • Gorden beschäftigt sich mit der Sortierreihenfolge des Containerobjektes…. und verzweifelt langsam daran ?!
    Ging mir nicht anders, als ich mich mit dem Thema beschäftigt habe.Wenn ich die Einträge im Trac richtig deute, ist das Problem aber mit der 1.3 Version oder was immer der current Build des Objektes ist, behoben.

    Ich habe die Dateien aus dem Subversion System heruntergeladen. Nun müsste sich nur jemand erbarmen und mit der Developer Version des WISE eine Kompilierung wagen.

  • Das bringt mich zum nächsten Thema, WISE 1.3:Im Trac ist ein neuer Milestone (1.4 ) angelegt worden. Ein Release der Version 1.3A2 wurde für den 25.10. angekündigt.
    “Schön…”, dachte ich, “…ein spätes Geburtstagsgeschenk”. Leider ist die nightliy vom 17.07. bis heute das letzte zusammenhängende Stück Software diesbezüglich.

    … und das funktioniert nicht! Wie Jörg berichtete, lassen sich bei der Installation die Grunddnutzer (site- und wiseadmin , emergency) anlegen, bzw. die Passworte werden abgefragt. Ein Blick ins Install Log (details hilft da schon bei der Installation weiter) zeigt, daß der Installer die Nutzer im Zope, bis auf den emergency, nicht anlegen konnte. Folgerichtig wird beim Aufruf der Seite eine Windows Explorer Abfrage nach Login-daten gestartet (analog wie bei Einsatz von htaccess) und nur der emergency kan sich anmelden und mit seinen beschränkten Rechten arbeiten. Ein Blick in die Access Liste der Site zeigt, dass ein siteadmin angelegt wurde. Allerdings werden die notwendigen Verknüpfungen zum Zope warscheinlich nicht hergestellt.
    Ich schau nochmal ins Log und versuche zu verstehen was da läuft oder vielmehr ..”nicht”.

    Also Jörg……. Fehler bestätigt.

  • Diese Woche ist TIDE Sprint in Norfolk VA. Daher sind auch alle Entwickler ausgeflogen. Auch ansonsten ist man in San Diego z.Zt. mehr mit BRITE beschäftigt. Zwei größere Patches in den letzten 8 Wochen sprechen Ihre eigene Sprache.Auch ich werde mich beruflich weiter mit BRITE beschäftigen und an dieser Stelle davon berichten……
  • Frau Elste hat eine aktualisierte Version der Metadatenzuordnung herausgegeben, die auch Fragen des Archivierungsproblems berücksichtigt.
    Ich werde mich ASAP daransetzen und die Vorgaben in das MetaData.py einzubauen und die aktualisierte Version hier zu veröffentlichen.

Bis dann erstmal .

Bahnhof Flensburg…….Logoff

Posted in Allgemein, deutsch, Metadaten, Product Hacks, WISE 1.3, WISE/BRITE | Leave a comment

Collaboration mit dem Portal : hier CHAT

Was Vor einiger Zeit habe ich mal für eine Übung das ZRTChat Objekt aus dem WISE leicht modifiziert.Das Chatfenster mit der Eingabezeile hat in dem Mod auch eine Ausgabe, die automatisch aufdatiert wird (wie ein normales Chat – Tool also)

  • Der chat funktioniert aktiv nur wenn man “registered User” ist.
  • Der “current User” wird automatisch mit seinem Username beim chat angemeldet.

WarumIm Rahmen der Übung waren alle Nutzer mit ihrer jeweiligen Position / Dienstpostenbezeichnung beim WISE angemeldet.  Um unnötige Anmeldungen beim Chat (noch mal anmelden?…. muss das sein?) und ungewollte, nicht zuzuordnende Nicknames zu vermeiden habe ich die Anmeldung modifiziert. Was weiter

  • Das schwebende Chatfenster müsste jetzt etwas angehübscht werden.Ich habe es (im Bus) nicht mehr geschafft, das Eingabefeld für die Messages unter das Log zu stellen….,
  • ev. fehlen noch ein oder zwei Funktionen und ein Header in der Popupbox.

Die Zip Datei ZRT Chat Mod mit meinen Modifikationen hängt hier an.Also Künstler, ran ans Werk.Sollten Sie diesen Auftrag annehmen, werde ich jegliche Beteiligung leugnen……;-)Diese Nachricht zerstört sich selbst in 5 Sekunden.Michael(Mickey) Maass

Posted in deutsch, Product Hacks | 3 Comments

WISE Workshop

Ho ho ho, was für eine Woche…..!

Was

Wir haben 3 Tage lang einen WISE Workshop in unserer Firma abgehalten.
Wir hatten konzernweit Interessierte eingeladen und waren zusammen schliesslich 23 Teilnehmer.
Größer geht noch… aber dann wird es organisatorisch erheblich aufwändiger.
Um es vorwegzunehmen, unser Ziel, eine bessere Vernetzung der WISE-Nutzer innerhalb des Konzerns herzustellen, haben wir erreicht.
Vielleicht findet sich der/die eine oder andere ja hier wieder zum Informationsaustausch ein.

Die Agenda war ursprünglich bewusst mit einem technischen Schwerpunkt versehen.
Über die Vorstellung der Erfolge im Bereich Meta-Daten und Suche sind wir aber abschliessend doch bei meta-physischen Gedanken zum Thema Web 2.0 Funktionalitäten und Informationserschliessung schlechthin gekommen.

In diesem Zusammenhang, quasi als Motivation, haben wir die Videoclips zu epic2015 (googeln, wenn mans nicht kennt) und “the machine is using us” von Prof Welch (siehe Link rechts unten) gezeigt.

Zugegebenermaßen sind wir natürlich nicht in der Lage an ein Produkt wie scuttle (auch ein hingucker) heranzureichen, aber die momentan implementierten Modifikationen zu Metadaten in Verbindung mit der IBM Omnifind Suchmaschine und dem Web-Directory Objekt lassen auch mit einem Low Profile Produkt wie unserem WISE gute Möglichkeiten zur weiteren Entwicklung in diese Richtung erkennen.

Bleibt letztendlich wie immer die Frage: stört der Nutzer? wenn ja, warum und können wir ihn gefälliger gestalten 😉

Eine interessante Frage für eine Studie wäre auch, wo die kritische Masse an Informationen liegt, ab der ein Informationsportal ein Selbstgänger wird. ……

Flensburg Bahnhof….. Ruhezustand……

Michael Maass

Posted in Allgemein | Leave a comment

Lösungsansatz zu “heute, 3, 8 und länger”

Als eine Lösung zu dem Problem der zeitlichen Vorsortierung haben wir eine JavaScript-Funktion entwurfen, die in den Header des Wise implementiert wird. Folgende Beschreibung soll dieses Vorgehen verdeutlichen:

Im head-Block wird die function “Datumsstring” in JavaScript definiert(wobei die if-Anweisung nur zur formatierten Ausgabe benötigt wird und im Anwendungsfall entsprechend optimiert werden kann):

function Datumsstring(differenz)
{

var datum = new Date();
datum.setDate(datum.getDate()-differenz);
var datumsstring = datum.getDate()+”.”+(datum.getMonth()+1)+”.”+datum.getYear();
if (differenz==0)
{
datumsstring = “Heute: “+datumsstring+”< br>”;
}
else
{
datumsstring = “vor “+differenz+” Tagen: “+datumsstring+”< br>”;
}
return(datumsstring);
}

Aufgerufen wird die Funktion dann im body-Block mit:javascript:”Datumsstring(x)” bei einer Aktion/Event, sonst: document.write(Datumsstring(8)); in einem JavaScript-Block

Für das “x” wird die Differenz vom momentanen Datum eingegeben.
z.Bsp.: javascript:”Datumsstring(5)” für das Datum von vor 5 Tagen.

Diese Funktion und Ihren Aufruf habe ich in einem ZIP-File(Datumsberechnung und -anzeige) hinterlegt.

Das benötigte Format des Datums kann im Script angepasst werden und je nach Suchoptionsvorgabe eingebunden werden.

Posted in deutsch, DTML-Stuff, Suchen | Leave a comment