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.
|