dutch english
  Hauptseite Projekte Elektronik Möbelbau Rezepte Corgies Über mich
  Projekte Wandhalter Vereniging 2.0
Vereniging 2.0
Bibliotheken
Datenbank
Menüs

Menüs

Menusystem

Prinzip

Das Menüsystem basiert auf einer XML-Datei, die die Struktur der Menüs definiert. Um sicherzustellen, dass die XML-Dateo korrekt ist, habe ich ein XML-Schema definiert, mit der die XML-Datei validiert werden kann, zum Beispiel mit Eclipse.

Jedes Haupt- und Untermenü hat die folgende Struktur:

<MainMenuEntry> / <SubMenuEntry> 
  <LinkName>my_data</LinkName>
  <PageTitle>edit_my_data</PageTitle>
  <URI>main.php</URI>
  <UserRight>edit_own_values</UserRight>
</MainMenuEntry> / </SubMenuEntry> 
Element Bedeutung
LinkName  Linktext im Menü
PageTitle  Titel der Seite die mit dem Link aufgerufen wird
URI  Link auf die zu öffnende Seite
UserRight  Benutzerrecht das benötigt wird um diesen Menüeintrag zu sehen

Datenbankmenüs

Neben den fest definierten Menüs ist es auch möglich Menüs aus dem Inhalt von Datenbanktabellen zu erzeugen. Hiermit wird es zum Beispiel möglich, Menüs für jede AG oder jeden Status zu erzeugen.

<DatabaseEntry>
  <DatabaseTable>committee</DatabaseTable>
  <DatabaseField>name</DatabaseField>
  <URI>view_persons.php</URI>
  <UserRight>committee.*</UserRight>
</DatabaseEntry>
Element Bedeutung
DatabaseTable  Name der Datenbanktabelle
DatabaseField  Name des Datenbankfeldes, dessen Elemente als Menüelemente angezeigt werden.
URI  Link auf die zu öffnende Seite. Diese Seite wird aufgerufen mit dem Tabellen- udn Feldnamen und dem Feldinhalt als Parameter. In diesem könnte zum Beispiel der Link link view_persons.php?committee.name=board aufgerufen werden.
UserRight  Es gibt zwei Möglichkeiten, hier die Benutzerrechte für diese Menüs zu definieren. Die erste Möglichkeit is genau so wie bij allen anderen Menüs: hier steht dann der Name des Benutzerrechtes, das benötigt wird um allle Felder aus dieser Tabelle zu sehen. Dies kann allerdings mit auch differenzierter festgelegt werden. Dafür muss hier DatabaseTable.DatabaseField.*, also in diesem Fall committee.name.* geschrieben werden. Dann wird geschaut, ob das Recht DatabaseTable.DatabaseField.Value in diesem Fall zum Beispiel committee.name.board, vorhanden ist. Nur wenn dies der Fall ist, wird der Menüeintrag angezeigt.

Um die Navigation zu vereinfachen, wird nicht immer die gesamte Menüstruktur angezeigt. Zu sehen sind alle Hauptmenüs, aber nur die Untermenüs des Abschnitts, in dem der Anwender sich gerade befindet.

Menüstruktur

Actuell sind die folgenden Hauptmenüs definiert:

  • Startseite
  • Meine Daten
  • Personen betrachten
  • Vereinsinformationen
  • Verwaltung

Startseite

Auf dieser Seite kann der Anwender sofort sehen, welche Benutzerrechte er hat.

Meine Daten

Hier kann der Anwender seine Daten einsehen und auch direkt verändern.

Personen betrachten

Hier befinden sich alle Listen mit Mitgliedern, nicht-Mitgliedern und andere Personen, sortiert nach Funktion, Status, usw.

Vereinsinformationen

Zwei Seiten mit Informationen für Mitglieder und Informationen für Vorstandsmitglieder.

Verwaltung

In diesem Menü können alle Einstellungen von Vereinging 2.0 eingesehen und verändert werden.

Valid XHTML 1.0 Transitional
Valid CSS!
14.11.2010 12:35u