dutch german
  Hoofdpagina Projecten Elektronica Meubelbouw Recepten Corgies Over mij
  Projecten Wandhouder Vereniging 2.0
Vereniging 2.0
Bibliotheken
Database
Menu's

Menu's

Menusysteem

Principe

Het menusysteem baseert op een XML-bestand, waarin de structuur van de menu's is vastgelegd. Om te garanderen, dat het XML-bestand correct is, heb ik een XML-schema gedefinieerd, waarmee het XML bestand gevalideerd kan worden, bijvoorbeeld met Eclipse.

Elk hoofd- en submenu heeft de volgende structuur:

<MainMenuEntry> / <SubMenuEntry> 
  <LinkName>my_data</LinkName>
  <PageTitle>edit_my_data</PageTitle>
  <URI>main.php</URI>
  <UserRight>edit_own_values</UserRight>
</MainMenuEntry> / </SubMenuEntry> 
Element Betekenis
LinkName  Link tekst in het menu
PageTitle  Titel van de pagina die met de link opgeroepen wordt
URI  Link naar de te openen pagina
UserRight  Gebruikerrecht dat nodig is zodat deze menutekst zichtbaar te maken

Database-menu's

Naast vast gedefinieerde menu's kunnen ook menu's uit de inhoud van database-tabellen gegenereerd worden. Hiermee wordt het bijvoorbeeld mogelijk om menu's voor elke commissie of voor elke status te genereren.

<DatabaseEntry>
  <DatabaseTable>committee</DatabaseTable>
  <DatabaseField>name</DatabaseField>
  <URI>view_persons.php</URI>
  <UserRight>committee.*</UserRight>
</DatabaseEntry>
Element Betekenis
DatabaseTable  Naam van de databasetabel
DatabaseField  Naam van het database veld, waarvan de elementen als menuëlementen getoond worden
URI  Link naar de te openen pagina. Deze pagina wordt opgeroepen met de tabel- en veldnaam en de veldinhoud als parameter. In dit geval zou bijvoorbeeld de link link view_persons.php?committee.name=board getoond worden.
UserRight  Er zijn twee mogelijkheden, hier de rechten voor deze menu's te definiëren. De eerste mogelijkheid is net zoals bij alle andere menu's: het recht om alle uit deze databasetabel gegenereerde menuvelden te zien, wordt hier ingevuld. Het is echter ook mogelijk, per menuveld een recht te definiëren. Hiervoor moet hier DatabaseTable.DatabaseField.*, dus in dit geval committee.name.* ingevuld worden. Dan wordt gekeken, of het recht DatabaseTable.DatabaseField.Value voorhanden is, in dit geval bijvoorbeeld committee.name.board. Alleen dan wordt dit menu getoond.

Om de navigate te vereenvoudigen, wordt niet altijd de complete menustructuur getoond. Te zien zijn alle hoofdmenu's, maar alleen die ondermenu's van de afdeling waar de gebruiker actueel is.

Menustructuur

Actueel zijn de volgende hoofdmenu's gedefinieerd:

  • Startpagina
  • Mijn gegevens
  • Personen bekijken
  • Verenigingsinformatie
  • Beheer

Startpagina

Op deze pagina is direct te zien, welke rechten de gebruiker heeft.

Mijn gegevens

Hier kan de gebruiker zijn informatie inzien en ook direct veranderen.

Personen bekijken

Hier befinden zich alle lijsten met leden, niet-leden en andere personen, gesorteerd naar functie, status, enz.

Verenigingsinformatie

Twee pagina's met informatie voor leden en informatie voor bestuursleden.

Beheer

In dit menu kunnen alle instellingen van Vereniging 2.0 bekeken en veranderd worden.

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