Wie beim programmieren üblich, zumindestens bei mir, schleichen sich Fehler ein, die einen total unlogisch und irrsinnig erscheinen. Um so mehr Funktionen die GroupWare bekam, um so seltsamer wurden die Fehler.
Ich erinnere mich daran, das sich Mitglieder beschwerten, sie hätten auf einmal die Daten von einem ganz anderem Mitglied. Ich konnte dies - wie sollte es auch anderst sein - auf meinem Testsystem nicht rekonstruieren. Irgendwann wurde mir klar, warum auch immer, das ich die Session Variablen nicht gleich normaler benutzter Variablen nennen durfte. Wenn also im Quellcode irgendwo $_SESSION['uid']
verwendet wurde, so gab es Probleme, wenn irgendwo im Quellcode ein $uid
auftauchte. Somit wurde die Session Variable überschrieben, was ich nicht lustig fand. Also gewöhnte ich mir an, den Session Variablen einen eindeutigen Namen wie $_SESSION['sid_uid']
zu geben. Fortan beschwerte sich keiner mehr über eine fremde Identität.
Neben zahlreichen Änderungen und Verbesserungen baute ich nun mein zweites Modul, das Adressbuch. Ich orientierte mich am Jahrestagemodul, baute also die Möglichkeit ein, sowohl öffentliche, als auch private Einträge erstellen zu können. Auf diese Idee brachte mich eine Datei, welche bei uns in der Familie umging. In dieser Datei standen die Adressdaten eines Großteiles der Familie. Jedes Mal wenn Änderungen vorgenommen wurden, machte die veränderte Datei per E-Mail einen Rundgang. Dieses Adressbuch sollte es also möglich machen, das man gemeinsam die Adressen pflegen und verwalten konnte. Jeder aus der GroupWare sollte die Möglichkeit haben, die öffentlichen Einträge zu ändern und neue hinzuzufügen.
Es folgten Kleinigkeiten wie das ändern der Benachrichtigungsfunktionen. Dies gab jedem User die zu entscheiden, ob und wann er an Jahrestage erinnert werden soll. Ich stellte die GroupWare auf CSS um, erweiterte die Accessbox, beseitigte Fehler und schuf neue, baute neue Funktionen für die Accountverwaltung ein, suchte mir ein kleines Beta-Test-Team, baute eine Demo Version, erstellte ein E-Mail Modul und noch einiges mehr.