Mailinglisten-Archive |
Hei Thomas, ich bin gerade dabei ein kleines Dokumenten Management System zu schreiben. Eine zip Datei mit dem bisherigen Stand kannst Du unter http://home.alsfeld.netsurf.de/~n0029/mm4/start/download/documan.zip runterladen. Kurz zur Funktionsweise: Zur Sicherheit sollte diese Anwendung nur in einem geschuetzten Bereich des Servers laufen (.htaccess). Das ganze Projekt benoetigt eine MySql Datenbank in der die Metadaten der hochgeladenen Dateien gespeichert werden. Beim Start ueberprueft die Anwendung ob schon Daten in der DB vorhanden sind, wenn nicht, dann wird der User aufgefordert Daten einzugeben/hochzuladen. Sind Daten da, gibt die DB eine Liste aller Eintraege aus. Hier kann der User waehlen ob er nur sehen moechte oder ob er zum Bearbeiten der Datei diese auschecken moechte. Nach der Auswahl wird dem User eine Liste praesentiert in der die gewaehlte Datei mit einem Link versehen ist. Hat der User den Check Out Modus gewaehlt, wurde vorher noch eine "Session ID" in die DB eingefuegt. In der Hauptliste erhaelt eine ausgecheckte Datei den Status "checked out" und es erscheinen nun die Schaltflaechen "check in" und "view". Beim Einchecken einer Datei wird der User zuerst nach der Session ID gefragt, nur nach Eingabe einer fuer die gewaehlte Datei gueltigen Session ID kann diese wieder eingecheckt werden. Das eigentliche Einchecken benennt die schon auf dem Server vorhandene Datei um (sie wird nicht geloescht), anschliessend wird die neue Version unter dem alten Namen hochgeladen, die Session ID wird geloescht, der Status wird auf "checked out" geaendert und die Versionsnummer wird einen Zaehler hochgesetzt. Das funktioniert meiner Meinung nach auch schon ganz gut. Naechster Schritt fuer mich ist nun eine Admin Funktion einzurichten, die es ermoeglicht eine neue, aber zerstoerte Version, mit einer aelteren, aber guten, Version zu ueberschreiben. Eventuell soll es auch moeglich sein Dokumente zu loeschen, sowohl aus der DB (Metadaten), als auch aus dem Dokumenten Verzeichnis. Den Profis hier in der Liste faellt dazu bestimmt auch noch einiges ein was man besser machen koennte. Da das aber mein erstes groesseres Php Projekt ist, bin eigentlich stolz wie'n Schneekoenig darauf. Andreas -- Andreas Otto NoHo Digital Ltd, Floor 2, Canberra House, 315 -317 Regent Street London W1R 7YB Reception 0171 299 3434 Fax 0171 631 5050 http://www.noho.co.uk
php::bar PHP Wiki - Listenarchive