next up previous contents
Nächste Seite: Vorlesungs-Seiten Aufwärts: Erstellung von Prototypen Vorherige Seite: Bearbeitungsmaske für Professoren   Inhalt

Professoren-Übersichtsseite

Die Übersichtsseite über alle eingetragenen Professoren und andere Mitarbeiter kann nun anhand der erfassten Daten automatisch generiert werden.

Wie bei den anderen Dokumenten auch, muss auch hier zunächst ein Page Template-Dokument angelegt werden, das das Layout der Seite enthält. Das Dokument ist im Anhang D.3 abgedruckt.

Es gibt auf der Übersichtsseite folgende Personengruppen:

Für die Unterscheidung der Personen ist es notwendig, in die Erfassungsmaske ein Auswahlfeld zu integrieren, in dem man den Personentyp auswählen kann. Diese ist in Abbildung 11 ganz unten als ,,Kategorie`` zu sehen.

Für die Auflistung der Professoren auf der Seite wird ein Script benötigt, das alle anzuzeigenden Namen für eine Kategorie ermitteln kann. Scripte werden in Zope in der Regel mit Python realisiert. Es kann aber auch Perl verwendet werden. Mit folgenden Python-Script kann man die Personen zu einer gewählten Kategorie ermitteln.




Python-Script: /fha/informatik/professoren/getPersonList

# get all folder objects
my_data = container.objectValues('Folder')

# create empty result
result = []

for x in my_data:

    # add this item to result?
    add_to_data = 0

    # go through all PropertyObjects
    for y in x.objectValues('PropertyObject'):

        # is A_stammdaten available?
        if y.getId() == "A_stammdaten":
            my_vorname = y.getProperty('Vorname')
            my_property = y.getProperty('Kategorie')
            if my_vorname != 'mein_vorname' and my_property == person_type:
                add_to_data = 1
                break

    # append to result
    if add_to_data:
        result.append(x)

return result

Die Variable ,,person_type`` muss dem Script als Parameter übergeben werden. Die zusätzlich abgeprüfte Bedingung my_vorname != 'mein_vorname' stellt sicher, dass keine Objekte angezeigt werden, die noch nicht abgespeichert worden sind45.

Das gezeigte Script hat in der gezeigten Form noch eine Schwachstelle: die Objekte werden in der Reihenfolge angezeigt, in der sie in der zweiten Zeile im Beispiel-Code von der Funktion objectValues('Folder') zurückliefert. Die Sortierung nach Nachname und Vorname ist etwas komplex, da sie anhand von Attributen eines Objektes, das in dem Verzeichnis enthalten ist, sortieren muss. Aus Zeitmangel wurde diese Funktion nicht mehr implementiert.

Auf der Professoren-Übersichtsseite werden neben dem Namen und dem Titel auch noch Tätigkeitsschwerpunkte angezeigt. Für diesen Inhalt ist das PropertyObjekt C_taetigkeiten zuständig, das lediglich über eine Eingabezeile verfügt, die diese Information aufnehmen kann.


next up previous contents
Nächste Seite: Vorlesungs-Seiten Aufwärts: Erstellung von Prototypen Vorherige Seite: Bearbeitungsmaske für Professoren   Inhalt
Reinhard Holler 2003-04-12