Home    Beschreibung    Alles auf einer Seite

Alle Seiten

Auf dieser Seite werden alle Einzelseiten automatisch zu einer Seite zusammengefasst. Diese Seite enthält also keine zusätzlichen Inhalte.


Einleitung

Bei der Organisation von Kursen oder Veranstaltungen kommt es darauf an, dass die Mitarbeiter von überall schnell auf die Daten zugreifen, Auskunft über Kurse und freie Plätze geben und Buchungen vornehmen können.

Seit an praktisch allen Büroarbeitsplätzen PCs stehen und diese miteinander vernetzt sind, möchte man auch gerne von jedem PC aus die Informationen abrufen können. Der Internetzugang über mobile Geräte wie Laptops, Smartphones und Tablets erlauben den Zugang auch von unterwegs aus. Werden Daten geändert, soll der aktuelle Stand für alle Benutzer sofort sichtbar sein.

Früher funktionierte die Organisation über Listen recht gut, solange die Kursverwaltung von einer zentralen Stelle vorgenommen wurde. Diese Arbeit wird heute jedoch mehr und mehr dezentral erledigt.

Mit der Vernetzung der Computer haben sich auch die Erwartungen grundlegend geändert, und zwar nicht nur bei den Mitarbeitern, sondern auch bei den Interessenten.

Man ist es gewohnt, schnell und zuverlässig Auskunft zu bekommen und erwartet dies auch von Firmen, Behörden, Organisationen und Einrichtungen. Darüber hinaus bietet die Datenverarbeitung viele zusätzliche Möglichkeiten, die das Papierbüro nicht hat.

Voraussetzung dafür ist eine geeignete Software. Dieses Kursbuchungssytem ist eine Webanwendung. Webanwendungen laufen auf einem Server und können von jedem Gerät aus mit jedem Browser aufgerufen werden, ohne dass ein Programm auf dem Gerät installiert werden muss. Beliebig viele Benutzer können gleichzeitig auf das Kursbuchungssystem zugreifen.

Auf dieser privaten Website wird das Kursbuchungssystem vorgestellt.

In der Online-Demoversion können Sie das Kursbuchungssystem ausprobieren.

Alle Angaben wie Namen, Adressen, Telefonnummern, Kontodaten usw. in den Beispiel-Screenshots und in der Demoversion des Kursbuchungssystems sind frei erfunden.

Programmänderungen, die dem Fortschritt dienen, vorbehalten.


Übersicht

Mit dem Kursbuchungssystem können Sie Kurse anlegen und Buchungen vornehmen.

In der Kursliste sehen Sie mit einem Blick, wann und wo die Kurse stattfinden und ob noch Plätze frei sind.

Durch Auswahl eines Kurses bekommen Sie weitere Informationen wie die Kursbelegung, die Kursbeschreibung und die einzelnen Kurstermine.

In der Terminliste werden die Einzeltermine der Kurse aufgelistet.

Voraussetzungen

Das Programm ist eine webbasierte PHP-/MySQL-Applikation. Es kann mit jedem neueren Browser von jedem PC oder Mobilgerät mit Netzwerk- bzw. Internetzugang aus aufgerufen werden.

Server: Linux, Apache, PHP 5.4.0 oder höher, MySQL 5.1 oder höher.
Client: Jeder neuere Browser, Cookies und Javascript aktiviert.
Bei der Übertragung der Daten über das Internet ist eine verschlüsselte Übertragung (SSL bzw. VPN) aus Sicherheitsgründen notwendig.
Bei der Erstellung der Formulare für die Ausdrucke sind grundlegende HTML-Kenntnisse erforderlich.
Programmgröße (installiert) ca. 12 MByte.
Programmsprache: Deutsch.

Verfügbarkeit

Das Programm wird auf dieser privaten Homepage nur vorgestellt. Es ist noch nicht verfügbar.


Entstehung

Die Entwicklung des Kursbuchungssystems begann im Nov. 2004 im Rahmen einer ehrenamtlichen Tätigkeit in einem Arbeitskreis beim Deutschen Roten Kreuz.

Für einen Arbeitskreis, in dem Computerkurse für Senioren gegeben werden, wurde eine Kursverwaltung gesucht. Ein Vierteljahr später kam die erste Version des Kursbuchungssystems zum praktischen Einsatz.

Das Kursbuchungssystem befindet sich dort seitdem im täglichen praktischen Einsatz und wurde in dieser Zeit ständig weiterentwickelt.

Bisher wurden mit dem Kursbuchungssysten von etwa 20 Benutzern über 21.000 einzelne Buchungsvorgänge für über 1200 Kurse vorgenommen.

Das Programm ist zu einem unentbehrlichen Hilfsmittel geworden, um Kurse und Kursreservierungen zu verwalten, Interessenten schnell Auskunft über Kurse, Termine und freie Plätze zu geben und Buchungen vorzunehmen.

Mein Dank geht an Michael Walzl, dessen Kursbuchungssystem phpCBS der Ursprung für dieses Kursbuchungssystem war.

Mein Dank geht ebenso an alle, die dieses Programm bei der täglichen Arbeit verwenden und durch Kritik und Anregungen dessen sinnvolle und praxisorientierte Weiterentwicklung ermöglicht haben.

Besonderer Dank gebührt der sehr angenehmen und menschlichen Umgebung, in der dieses Programm wachsen konnte.


Struktur

In Bild 1 ist der Zusammenhang zwischen den wesentlichen Objekten des Programms dargestellt.

Bild 1: Objektstruktur


Bereiche sind verschiedene Kursbereiche wie z.B. Computerkurse, Englischkurse, Erste-Hilfe-Kurse usw. Jeder Kurs ist einem Bereich zugeordnet.

Personen können Mitglieder in einem oder mehreren Bereichen sein. Wird ein Mitglied für einen Kurs gebucht, wird er zum Teilnehmer dieses Kurses. Durch diese Struktur ist eine eindeutige Zuordnung von Teilnehmern zu Personen gegeben.

Jedem Kurs sind einzelne Kurstermine zugeordnet. Jedem Termin wird ein Kursleiter und ein Kursraum zugeordnet. Die einzelnen Termine eines Kurses können also unterschiedliche Kursleiter und Kursräume haben.

Den Kursorten sind einzelne Kursräume zugeordnet. Über den Kursraum ist damit automatisch auch der Kursort festgelegt.

Die Kursleiter und Kursorte sind ebenfalls einem oder mehreren Bereichen zugeordnet, damit beim Anlegen eines Kurses bzw. der Kurstermine nur die entsprechenden Kursleiter, Orte und Räume zur Auswahl angeboten werden.


Benutzer

Ein gut durchdachtes Rechtesystem ist Voraussetzung für eine Kursverwaltung, mit der viele Benutzer gleichzeitig arbeiten können.

Für den Zugang zum Kursbuchungssystem werden deshalb Benutzer angelegt, die sich mit Benutzernamen und Passwort einloggen müssen. Für jeden Benutzer können verschiedene Arten von Benutzerrechten festgelegt werden.

Bei der Anlage eines Benutzers (Bild 1Bild 2Bild 3) können folgende Rechte vergeben werden:

Rechte für Benutzergruppen  

Jeder Benutzer wird einer Benutzergruppe zugeordnet:
- "Buchungen" können Kursbuchungen vornehmen.
- "Kurse" können Kurse anlegen und ändern.
- "Einrichtung" können Bereiche und Benutzer anlegen und ändern.
- "Module" können nur einzeln zugewiesene Module ausführen.

Allgemeine Benutzerrechte  

Jedem Benutzer können allgemeine Funktionen des Programms zugewiesen werden.

Rechte für Kursbereiche  

Für jeden Benutzer kann für jeden Bereich festgelegt werden, ob der Benutzer den Bereich überhaupt sehen, ob er nur Namen, Anschriften usw. lesen, ob er zusätzlich Daten wie Kontonummern lesen und ob er die Daten auch verändern kann.

Rechte für Kassen bzw. Konten  

Jedem Benutzer können Kassen bzw. Konten zugeordnet werden, die er verwenden darf. Dadurch ist sichergestellt, dass von den Benutzern nur erlaubte Buchungen vorgenommen werden können.

Rechte für Module  

Für jeden Benutzer kann festgelegt werden, welche Module er verwenden darf. Damit können jedem Benutzer einzelne Programmfunktionen zugeteilt werden.

Zugangsberechtigungen  

Die Zugangsberechtigungen können entweder allgemein oder für jeden Benutzer speziell über Host- bzw. Domainnamen oder numerische IP-Adressen festgelegt werden. Dabei kann zwischen eingeschränkten und vollständigen Rechten unterschieden werden.


Bereiche

Um Kurse zusammenfassen zu können, können Kursbereiche angelegt werden, so dass sich zum Beispiel alle Computerkurse in einem Bereich und alle Sprachkurse in einem anderen Bereich befinden.

Jeder Bereich kann Unterbereiche enthalten. Die Mitglieder eines Bereichs sind automatisch auch Mitglieder des zugehörigen Unterbereichs.

Der Benutzer kann verschiedene Bereiche auswählen und bekommt nur die Kurse aus den ausgewählten Bereichen angezeigt. Dabei kann er nur die Bereiche auswählen, für die er die entsprechenden Rechte besitzt.

Außerdem kann für jeden Bereich festgelegt werden, welche Rechte für alle Benutzer gelten sollen.

Im Screenshot können Sie sehen, welche Parameter für einen Bereich festgelegt werden können.

Dabei kann auch festgelegt werden, ob ein Bereich auch öffentlich sichtbar sein soll, d.h. für Benutzer "Gast", oder ob ein Bereich nur intern zugänglich sein soll, d.h. für eingeloggte Benutzer.


Kurse

Benutzer der Gruppe "Kurse" können Kurse anlegen und ändern.

In der Eingabemaske werden die Kursbeschreibung, die Anzahl der Teilnehmer, die Anordnungen der Kursplätze und die Preise sowie die Mehrwertsteuer eingetragen. Kursleiter, Kursort und Kursraum werden aus den vorher angelegten Einträgen ausgewählt.

Die Termine für den Kurs können auf verschiedene Weise eingegeben werden. Das Anfangsdatum muss immer eingetragen werden. Zusätzlich können das Enddatum, die Anzahl der Wiederholungen, die Wochentage oder der zeitliche Abstand der Wiederholungen (z.B. täglich, wöchentlich, vierzehntägig, monatlich usw.) angegeben werden.

Das Programm prüft die Angaben und berechnet die Einzeltermine. Jeder Termin kann für sich wieder geändert werden. Einzeltermine können gelöscht oder neue Einzeltermine hinzugefügt werden.

Der Kurs kann nur abgespeichert werden, wenn sich die Kurstermine bezüglich des Kursleiters und des Kursraumes nicht mit anderen Kursterminen überschneiden. Wird eine vorgegebene Pausenzeit für den Kursleiter unterschritten, gibt das Programm einen Hinweis aus. Die Überschneidungen werden im einzelnen angezeigt.

Ein Kurs kann auf "nicht anzeigen" gesetzt werden, solange noch keine Buchungen vorgenommen wurden. Damit kann man Kurse bereits im vorhinein anlegen und erst dann aktivieren, wenn sie freigegeben werden sollen.

Fällt ein Kurs aus, kann das entsprechende Häkchen gesetzt werden. In der Kursliste wird der Kurs dann rot unterlegt dargestellt. Neue Buchungen können dann nicht mehr vorgenommen werden.


Buchungen

Benutzer der Gruppe "Buchungen" können Kursbuchungen und Kursreservierungen vornehmen.

Zum Buchen eines Kursplatzes wird in der Kursübersicht auf einen freien Kursplatz geklickt.

Die Daten des Teilnehmers werden in der Eingabemaske für den Kursteilnehmer eingetragen. Der Teilnehmer kann jedoch auch direkt aus der Mitgliederliste (sofern das Modul "Personen" vorhanden ist), der Vormerkliste oder der Änderungshistorie ausgewählt werden.

Ein vom regulären Kurspreis abweichender Preis sowie der Grund der Änderung kann ebenfalls eingetragen werden. Beim Bezahlvorgang wird dieser Preis dann automatisch übernommen.

Anstatt einen Teilnehmer fest zu buchen, kann man diesen auch bis zu einem bestimmten Datum oder für eine bestimmte Anzahl von Tagen für einen Kursplatz reservieren. In der Praxis tritt dies z.B. dann auf, wenn sich ein Teilnehmer telefonisch anmeldet und zusagt, innerhalb eines bestimmten Zeitraumes vorbeizukommen, um sich fest anzumelden.

Wenn die Reservierung abgelaufen ist, ohne dass die Vormerkung in eine Buchung umgewandelt wurde, wird der Teilnehmer vom System automatisch in die Vormerkliste verschoben.

Die Daten in der Eingabemaske werden vollständig auf ihre Zulässigkeit hin überprüft. Bei fehlerhaften Eingaben erscheinen die Fehlermeldungen direkt unter den Eingabefeldern.


Vormerkungen

Neben festen Buchungen und Reservierungen können auch Vormerkungen für Kurse vorgenommen werden.

Ähnlich wie bei der Buchung wird der Interessent in das Vormerkformular eingetragen oder kann aus der Historie oder der Mitgliederliste (sofern das Modul "Personen" vorhanden ist) ausgewählt werden.

Die Vormerkung kann allgemein vorgenommen werden oder auf einen bestimmten Kurs bezogen sein.

In der Vormerkliste werden alle Vormerkungen aufgeführt und können bearbeitet oder gelöscht werden.

Bei der Buchung eines Kursplatzes können die Eintragungen in der Vormerkliste ausgewählt werden. Dabei werden sie in der Vormerkliste als erledigt markiert.

Die Vormerkliste gibt die Möglichkeit, die Daten von Interessenten aufzunehmen, um ihnen z.B. später frei werdende Kursplätze oder neu eingerichtete Kurse anbieten zu können.

Alle Benutzer des Kursbuchungssystems haben damit jederzeit den Überblick über Interessenten und weitere Kurswünsche.


Personen

Das Buchungssystem enthält eine Personen- und Mitgliederverwaltung.

Mit der Personenverwaltung werden die Stammdaten von Personen verwaltet, also Name, Anschrift, Telefonnummer usw. Ändern sich diese Stammdaten, z.B. bei einem Wohnungswechsel, können diese Änderungen mit Angabe des Gültigkeitsdatums eingetragen werden.

Jede Person kann Mitglied in einem Kursbereich sein. Dabei können auch die Dauer der Mitgliedschaft eingetragen und weitere Merkmale angegeben werden.

Bei der Buchung bzw. Reservierung eines Teilnehmers oder bei einer Vormerkung kann eine Person direkt aus der Mitgliederliste ausgewählt werden.

Durch die Personenverwaltung wird also ein direkter Bezug zwischen einer Person und ihren Kursbuchungen hergestellt. Deshalb können auch alle Buchungen ausgegeben werden, die für eine Person vorgenommen wurden.

Unterscheiden sich die Teilnehmer- und Personendaten, werden die Unterschiede beim Teilnehmer angezeigt. Die Teilnehmerdaten können dann automatisch aus den Personendaten vervollständigt bzw. korrigiert werden.

Ein Teilnehmer kann auch frei einen Kurs eingetragen werden, also ohne Bezug zu einer Person. In diesem Fall kann der Bezug vom Teilnehmer zu einer Person nachträglich hergestellt werden. Ebenso kann dieser Bezug wieder aufgehoben oder geändert werden.


Bezahlungen

Für den Bezahlvorgang wird der Teilnehmer erneut aufgerufen. Neben den Angaben des Teilnehmers kann man nun die Angaben zur Bezahlung eintragen.

Wenn diese Angaben gespeichert sind, läßt sich die Quittung als HTML- oder PDF-Datei ausdrucken.

Die HTML- bzw. PDF-Datei wird auf dem Server zu Dokumentationszwecken gespeichert. Der Bezahlvorgang wird in die Journaltabelle der Datenbank eingetragen. Nachdem die Quittung gedruckt wurde, muss der Benutzer den Ausdruck bestätigen.

Die Quittungsnummer wird, den Vorschriften entsprechend, fortlaufend vergeben. Zusätzlich kann man auch manuelle Quittungen, die ausgestellt werden müssen, wenn kein Computer zur Verfügung steht, in das Kursbuchungssystem übertragen.

Soll die Bezahlung storniert werden, ist der Ablauf der gleiche: Die Stornodaten werden eingetragen, die Stornoquittung ausgedruckt, das Journal um die Stornodaten ergänzt und der Ausdruck vom Benutzer bestätigt.

Im Modul "Kassen" werden die Kassen bzw. Konten angelegt. Bei jeder Kasse kann man das Bezahlverfahren auswählen wie Bareinzahlung, Überweisung usw. Beim Eintragen der Quittungsdaten beim Teilnehmer wählt man eine dieser Kassen bzw. Konten aus. Das Quittungsformular wird abhängig vom Bezahlverfahren der Kasse ausgewählt, so dass unterschiedliche Quittungen für Bareinzahlungen, Überweisungen usw. ausgestellt werden können.

Im Modul "Journal" können alle Bezahlungen und Stornierungen abhängig von Kursbereichen und Kassen für einzelne Monate eines Jahres oder ganze Jahre ausgewertet werden.


Abrechnungen

Es muss regelmäßig geprüft werden, ob alle Kurse abgerechnet sind.

Dazu wird in der rechten Spalte der Kursliste angezeigt, wieviele Abrechnungen noch offen sind. Sind alle Buchungen erledigt, wird dies durch ein rotes Häkchen angezeigt.

Ruft man den entsprechenden Kurs auf, sieht man anhand der Häkchen bei den Teilnehmern, welche Buchungen noch vorgenommen werden müssen.

Bei der Anzeige der abgelaufenen Kurse sieht man so auf einen Blick, ob alle Abrechnungen vorgenommen wurden oder nicht.

Im Modul Journal lassen sich die Buchungen anhand des Journals auswerten.

Das Journal hat auch eine Dokumentationsfunktion: Buchungen können, einmal ins Journal eingetragen, nicht mehr verändert werden. Nur Stornierungen einer Buchung werden im Journal bei der Buchung vermerkt.

Der Benutzer kann bei jeder Buchung bzw. Stornierung "Erledigt"-Häkchen setzen und so festhalten, dass z.B. eine Gegenkontrolle mit der Buchhaltung erfolgt ist.


Suche

Nach allen Teilnehmern der Kurse kann gesucht werden. Damit kann man die Kurse, die ein Teilnehmer bereits belegt hat, sofort finden.

In der Suchmaske kann man die Suchkriterien auswählen.

Hat der Benutzer nur einen Kursbereich ausgewählt, kann er trotzdem in allen Bereichen suchen, bekommt aber für die Einträge der Bereiche, für die er nur eingeschränkte Rechte besitzt, auch nur eingeschränkte Daten angezeigt.

Wahlweise können die Einträge in der Vormerkliste oder Kurse, die sich im Archiv befinden, mit einbezogen werden.

Es können max. 10 Suchbegriffe eingegeben werden. Einem Suchbegriff kann ein "-" vorangestellt werden, um den Begriff auszuschließen.

Oft kommt es vor, dass ein Interessent bereits Kurse belegt hat, aber nicht genau sagen kann, um welche Kurse es sich dabei handelt. Dafür ist die Suche sehr hilfreich.


Verschiedenes

Für die Menüs "Konfiguration", "Werkzeuge" und "Installation" sind spezielle Rechte erforderlich. Benutzer mit diesen Rechten müssen in der Basis-Konfigurationsdatei manuell eingetragen werden. In der Regel wird man nur den Administratoren diese Rechte einräumen.

Konfiguration

Im Menü "Konfiguration" können die Konfigurationsdateien des Hauptprogramms und der Module bearbeitet werden. Diese Konfigurationsdateien lassen sich jedoch auch manuell editieren. Über weitere Menüpunkte werden Informationen zu den PHP-Einstellungen und zur Datenbank ausgegeben. Die Konfigurationsdateien und Systemeinstellungen können geprüft werden.

Die Offsets für die Quittungen sowie die Anreden von Personen und die Mehrwertsteuersätze, die vom Programm zur Auswahl angeboten werden, können hier vorgegeben werden.

Werkzeuge

Im Menü "Werkzeuge" kann geprüft werden, ob die Datenbank konsistent ist. Die Such-Volltextindexe können ebenfalls geprüft werden. Tabellen-Caches für Kurs- und Terminlisten können geleert werden. Ebenso können verschiedene Daten in der Datenbank gelöscht werden. Dies kann in speziellen Fällen oder für Tests sinnvoll sein.

Installation

Im Menü "Installation" können einzelne Module aktiviert, deaktiviert, installiert oder deinstalliert werden. Zusätzlich können die Daten der einzelnen Module gelöscht werden, falls erforderlich. Über Prüfsummen kann ermittelt werden, ob sich die Dateien des Programms im Originalzustand befinden oder geändert wurden.


Module

Das Kursbuchungsprogramm ist modular aufgebaut. Module lassen sich zum Programm hinzufügen, indem die Dateien der Module in einem Unterverzeichnis des Kursbuchungssystem hinzugefügt werden. Die Modulschnittstelle findet die Module automatisch und zeigt die entsprechenden Links in der Menüleiste an. Damit erhält man sowohl datenbank- als auch programmtechnisch ein Baukastensystem, das auf die jeweiligen Bedürfnisse abgestimmt werden kann.

Manche Module sind fester Bestandteil des Programms und immer vorhanden. Andere Module können interaktiv installiert, deinstalliert, aktiviert und deaktiviert werden.

Wie schon erwähnt, kann bei Vergabe der Benutzerrechte jedem Benutzer jedes Modul einzeln zugeordnet werden.

Mit den Modulen "Kursleiter", "Orte", "Räume" und "Kassen" werden die entsprechenden Daten angelegt, um sie bei Kursen, Terminen und Buchungen auswählen zu können.

Das Modul "Journal" dient der übersichtlichen Auswertung der Buchungen.

Im Modul "Archiv" können weiter zurückliegende, abgelaufene Kurse in ein Archiv verschoben oder aus dem Archiv zurückgeholt werden. Beim Löschen der Kurse aus dem Archiv werden einige Daten für die Erstellung von Statistiken aufbewahrt, die jedoch auch wieder gelöscht werden können.

Ebenso können Journaleinträge oder Einträge in der Kurs- oder Teilnehmerhistorie gelöscht werden.

In der Regel wird man jedoch auch weit zurückliegende Kurse und Änderungseinträge in der Datenbank belassen, weil der Benutzer stets zwischen aktuellen und abgelaufenen Einträgen wählen kann. Mit den Archivfunktionen ist es jedoch möglich, die Datenbank vollständig zu leeren.


Sicherheit

Da das Kursbuchungsprogramm persönliche Daten verwaltet, wurde sehr viel Wert auf die Programmsicherheit gelegt.

Dazu enthält das Programm ein mehrstufiges Sicherheitssystem.

Über die Benutzerrechte wird festgelegt, welcher Benutzer welche Kursbereiche und welche Teilnehmerdaten sehen und ändern darf.

Die IP-Adressen, Domains, Subdomains oder Hosts, von denen aus das Kursbuchungssystem aufgerufen werden kann bzw. von denen aus sich Benutzer einloggen dürfen, können einzeln festgelegt werden.

Zusätzlich kann das Lesen und Ändern bestimmter Daten auf bestimmte IP-Adressen, Domains oder Hosts beschränkt werden.

Über ein Lockfile kann man das gesamte Programm so sperren, dass nur von explizit angegebenen IP-Adressen darauf zugegriffen werden kann. Dies ist z.B. für Wartungsarbeiten sinnvoll.

Bei Übertragung der Daten über das Internet ist eine verschlüsselte Übertragung (SSL bzw. VPN) aus Sicherheitsgründen erforderlich.

Sämtliche Eingabeparameter der einzelnen Skripte werden vollständig überprüft. Die Skriptaufrufe, Variablenübergaben usw. sind durch geeignete Maßnahmen abgesichert.


Protokolle

Die Protokollierung der Arbeit mit dem Kursbuchungssystem ist ein wichtiger Bestandteil des Programms, um Änderungen nachvollziehen zu können.

Alle Logins werden über eine einstellbare Zeitspanne zurück in der Datenbank gespeichert.

Ebenso werden alle Skriptaufrufe einschließlich der Parameter und Übergabedaten für einen einstellbaren zurückliegenden Zeitraum protokolliert.

Im Ereignisprotokoll werden alle besonderen Ereignisse gespeichert, die während des Programmablaufs auftreten, wie z.B. Fehlermeldungen.

Die Protokolle können nur von speziell dazu berechtigten Benutzern eingesehen werden.

Außerdem werden alle Änderungen von Kursen, Teilnehmern, Personen und Mitgliedern in einer Historie in der Datenbank gespeichert. Die Änderungen von Kursen und Teilnehmern können auch als E-Mails verschickt werden.

In einem Intranet mit mehreren Servern oder über gesicherte Verbindungen ergänzen diese E-Mails zugleich die Datensicherung, weil die wesentlichen Änderungen zwischen zwei regulären Datensicherungen nachvollzogen werden können.


Mehrbenutzer

Mit dem Kursbuchungssystem können beliebig viele Benutzer gleichzeitig arbeiten.

Deshalb werden bei allen veränderbaren Datensätzen der Datenbank Datum und Uhrzeit und die Session-ID der letzten Änderung gespeichert.

Wenn ein Benutzer ein Eingabeformular aufruft, um Daten zu ändern, jedoch ein zweiter Benutzer dieselben Daten ändert, bevor der erste Benutzer diese abspeichert, bekommt der erste Benutzer beim Abspeichern einen Hinweis, dass die Daten zwischenzeitlich geändert wurden. Die Änderungen des ersten Benutzers werden dann nicht abgespeichert, damit die Änderungen des zweiten Benutzers nicht wieder überschrieben werden.

Diese Prüfung erfolgt anhand des Zeitstempels und der Session-ID.

Auch die Änderungen eines Benutzers in verschiedenen Fenstern ein- und desselben Browsers werden vor der Speicherung überprüft, so daß ein Benutzer sowohl mit verschiedenen Browsern als auch mit mehreren Fenstern ein- und desselben Browsers arbeiten kann.

Wo es erforderlich ist, wird außerdem beim Aufruf einer Seite anhand von Keys und Session-Variablen geprüft, ob der Aufruf zulässig ist oder nicht.

Die einzelnen Skripte des Programms sind also gegen die verschiedenen Arten des Aufrufs abgesichert.


Anwendungen

Allgemein gesehen sind Kurse Objekte, denen weitere Objekte wie "Termine", "Kursleiter", "Orte/Räume" und "Teilnehmer" zugeordnet werden.

Kurse können auch andere "Ereignisse" sein wie z.B. Reisen. Dann werden Kursleiter zu Reiseleitern, Orte zu Urlaubsregionen, Räume zu Hotels und Kursteilnehmer zu Reiseteilnehmern.

So kann das Kursbuchungssystem auch als einfaches Reisebuchungssystem verwendet werden, denn die Anlage und Buchung einer Reise unterscheidet sich grundsätzlich nicht von der Anlage und Buchung von Kursen.

Die entsprechenden Sprachdateien sind für die Anwendung des Programms als Kurs- und Reisebuchungssystem bereits vorhanden.

Weitere Anwendungsmöglichkeiten sind überall dort gegeben, wo Ereignisse räumlich und zeitlich festgelegt sind, ihnen ein Leiter zugeordnet wird und Teilnehmer gebucht werden können, d.h. bei Veranstaltungen wie z.B. bei Meetings, Arbeitsgruppen, Fortbildungen, Besprechungen, Treffen, Ausflügen usw. Sprachdateien für diese Anwendungen sind jedoch noch nicht vorhanden.


Weitere Module

Im Laufe der Zeit wurden weitere Module entwickelt, die auf diesen Seiten noch nicht beschrieben sind.

Import
Mit dem Modul "Import" können die Personen- und Mitgliederdaten aus einer CSV-Datei importiert werden.

Anwesenheitsbestätigungen
Für jeden Termin eines Kurses können die Anwesenheitszeiten der Teilnehmer vermerkt werden.

Formularausdrucke
Von bestimmten Menüs aus können Formulare ausgedruckt werden. Die Formulare können vom Anwender selbst als HTML-Dateien mit Platzhaltern gestaltet werden.

Historie
Für Kurse, Teilnehmer, Personen und Mitglieder wird eine Historie geführt, so dass Anwender sich schnell einen Überblick über die letzten Änderungen verschaffen können.

Verlauf
Jeder Benutzer kann im Verlauf sehen, welche Seiten er zuletzt aufgerufen hat, und diese Seiten aus dem Verlauf heraus erneut aufrufen. Dadurch ist ein schneller direkter Zugriff z.B. auf vorangegangene Buchungen möglich.


Overview

With this course booking system you can manage courses and bookings.

In the course list you can immediately see when and where courses are held and if free places are still available.

On selecting a course you will find further information about single places, course description and single dates.

In the date list the single course dates are listed.

Requirements

This software is a web-based PHP/MySQL application. It is compatible with all recent browsers from every computer or mobile device with a network interface or internet access.

Server: Linux, Apache, PHP 5.4.0 or higher, MySQL 5.1 or higher.
Client: Every recent browser with cookies und Javascript enabled.
When transmitting data over the internet, SSL or encrypted VPN is necessary for security reasons.
For creating the form templates for printing, basic HTML knowledge is needed.
Program size (installed) about 11 MBytes.
Program language: German.

Availability

This software is still under development and presented on this private website only. It is not available yet.


Nach oben

© 2006-2018 Alfred Fokken