Project

General

Profile

Idee

{{important(The following content was migrated from the old Wiki. The content needs to be updated and is not fully reliable.)}}

Abstract

Für die Verwaltung der Mitgliederdaten soll ein Frontend geschaffen werden. Dieser Artikel dient der Erarbeitung des Pflichtenheftes für eine solche Applikation.

Grundlagen

Die Mitgliederdaten sind in einer LDAP-Datenbank hinterlegt und wie unter LDAP Database Fields beschrieben strukturiert.

Es gibt vier Datensatztypen zu verwalten

  • Mitglieder
  • Gruppen
  • Rollen
  • Container

Die Berechtigungen für Schreib- und Leserechte sind bis auf Feldebene in der Datenbank hinterlegt.

Funktionalität

Allgemein

Alle Benutzereingabe werden verifiziert. Zum einen wird überprüft, ob die Eingabe in diesem Feld erlaubt ist, zum anderen soll überprüft werden, dass die Eingabe keinen Schadcode enthält.

Mitglied erstellen

Für die Erstellung eines Mitgliedereintrages gibt es zwei Szenarien.

  1. Die Eintragung wird durch eine autorisierte Person getätigt
  2. Über ein Formular kann sich jeder eintragen lassen.

Besteht bereits ein Datensatz unterhalb von "ou=dormant,ou=people,dc=piratenpartei,dc=ch" so wird dieser verwendet, wenn folgende Angaben übereinstimmen.

  • Nickname und E-Mailadresse

oder

  • Name und Adresse

Nach dem erstellen muss ein Workflow gestartet werden können (Information an vor definierte Personen)

Mitgliederdaten manipulieren

Die Mitgliederdaten können zum einen von Autorisierten Personen bearbeitet werden und zum anderen kann jeder seinen eigenen Datensatz verändern. Autorisierte Personen sollen zudem die Möglichkeit haben Benutzer durch verschieben zwischen den entsprechenden Containern als Aktiv oder Inaktiv zu kennzeichnen. Inaktive Benutzer können sich nicht mehr anmelden.

Gruppen und Rollen

Autorisierte Benutzer können neue Gruppen und Rollen erstellen und wieder löschen. Dabei sind sie in Abhängigkeit ihrer Autorisation auf bestimmte Teilbäume beschränkt. In gleicher Abhängigkeit können die Mitglieder den Gruppen oder Rollen zugewiesen werden oder von diesen wieder entfernt werden.

Datenexport

Für den Export sollen die Formate CSV sowie PDF zur Verfügung stehen.

Sicherheit

Die Verbindung zum Frontend ist mittels SSL geschützt. Für den Zugang zum Self-Service reicht eine Autentifikation mittels Passwort. Für alles andere ist zusätzlich ein SSL-Client-Certificate notwendig.

Ansatz

phpLDAPadmin stellt grundsätzlich all geschilderten Funktionalitäten zur Verfügung. Dessen Frontend ist aber nicht für den Endbenutzer geeignet. Die Idee ist nun aufgesetzt auf phpLDAPadmin ein eigenes Frontend zu gestalten und wo immer möglich auf dessen Funktionen zurück zu greifen.

Also available in: PDF HTML TXT