EMail, wenn Dokument geändert wurde



  • Hi, ich möchte folgendes programmieren

    1. In einem Verzeichnis befinden sich eine Reihe von Dokumenten (nehmen wir erst mal Worddokumente an.

    2. Immer wenn ein Dokument geändert wurde, sollen diverse Mails an Mitarbeiter gesendet werden, dass dieses Dokument geändert wurde.

    Wie sollte man das Problem am intelligentesten umsetzen? In dem man ein Programm im Hintergrund die Dokumente checken lässt (wann welches geändert wurde und bei Änderung die Mails abschickt)?

    Vielen Dank für Tips

    Gruß
    Al



  • Diese - eher konzeptionelle - Frage, gehört wohl kaum nach VCL... Wenn es um die konkrete umsetzung mit VCL geht, kannst du natürlich gerne hier Fragen stellen. So allgemeine Archithekturen diskutierst du aber besser im Rund umd die Programmierung-Forum.

    Vielleicht als kleiner Denkanstoss: Versuche das Problem nicht auf einmal zu lösen, sondern teile es in Teilprobleme auf. Analysiere diese und versuche eine mögliche Lösung auszuarbeiten. Hast du das für alle Teilprobleme gemacht, kannst du dir Gedanken machen, wei du das alles verbinden willst... Anschliessend wieder die Teilproblemlösungen so anpassen, dass sie sich vielleicht optimaler zusammenhängen lassen und fertig ist deine Architektur.

    ->Verschoben



  • Die Sache zerfällt in 2 Teile:

    a) Wächter

    Am einfachsten wäre es, einfach eine Liste aller Dateien in einem Verzeichnis zu erstellen und jeweils für jede Datei das Dateidatum mit abzuspeichern.

    Das Programm läuft nun im Hintergrund und prüft z.B. alle 30 Minuten das Verzeichnis neu, d.h. liest die Dateien alle wieder ein und prüft, ob das Datum inzwischen neuer ist. Falls ja, wird eine Nachricht Sender("Dateiname") erzeugt und das neue Datum in die Liste geschrieben.

    b) Sender

    Verfügt über eine Liste aller Empfänger. Sobald ein Sender-Ereignis eintrifft, geht er die Liste durch und schickt eine Mail mit dem Namen.

    Zerfällt also sehr schön in zwei Hauptteile, läßt sich gut getrennt testen und realisieren.



  • wenn man a) über das Datum realisiert, könnte das ein wenig problematisch sein, da man sich ja nicht auf das Datum unbedingt verlassen kann, hier solltest du je nachdem eine Checksumme einsetzen. Das verbraucht zwar mehr Speicher und der Check ist aufwendiger, aber dafür sicher.



  • Dan hoffe ich nur für die armen Empfänger dieser Mails, dass sich die Dokumente nich andauernd ändern...



  • So dumm ist die Idee gar nicht, z.B. wenn man in einer Firma einen Doku-Pool mit Dokumenten hat, so kann man hier jede Woche automatisch ein Update schicken, was sich alles geändert hat.

    Wie oft kommt das sonst im Netzwerk unbemerkt vor... Anleitungen werden aktualisiert, Manuals, Infos, etc., aber die anderen Abteilungen bemerken es nicht.



  • dann würde ich lieber die Dokumente mit CVS oder Subversion verwalten und dann einmal pro Woche (oder einmal pro Tag) ein update machen.



  • Zu kompliziert.

    Ein CVS-Tool ist nicht geeignet für Endanwender, und darum geht's ja wohl.

    Vor allem kommt dann wieder das Problem der redundanten Datenhaltung ins Spiel - jeder hat lokale Kopien. Schöner ist es, wenn irgendwelche Präsentationen etc. wirklich einmal global auf einem Server gehalten werden - dann gibt's nur eine Quelle.

    Ein Update befördert mir vor allem alle Projektdaten, Einstellregeln, internen Dokus, etc., auf meinen PC - da wollte ich die ja gar nicht. Ich will nur verfolgen, wenn sich was ändert. Wenn die Verfahrensinbetriebnahme SiO2 künftig mit 50mA fährt, so will ich deswegen nicht die neue Datei mit dieser Info auf meinem Rechner. Ich würde aber gerne mitbekommen, daß die Einstellregeln geändert wurde.

    Beim CVS+Update darf ich dann hinterher mir noch das Vergleichslog ansehen, was sich geändert hat.

    Vor allem ist der Automatismus schön - man kann z.B. Verzeichnisse abonnieren, und bekommt Infos, _wenn_ sich was geändert hat. Ändert sich nix, muß ich nichts tun.

    Update ist eine Poll-Lösung, dies hier wäre eine Event-Lösung.



  • Ist Alles zuviel Fummelei. - Schlechte Vorgehensweise!

    Das überlässt man heute dem OS ;).
    Eine mögliche "Kindersicherung":
    http://www.mitlinx.de/ldap/index.html?http://www.mitlinx.de/ldap/literatur_und_links.htm

    cu

    P84



  • hi, was klingt daran so schwer? ist denke ich einfach zu realisieren. ich wuerde aber vorschlagen ein prog zu schreiben was jeden tag, sagen wir abends, wenn keiner mehr da ist checkt und dann die mails verschickt, damit der mitarbeiter dann die mail naechsten morgen hat.

    gruesschen
    msp



  • Das überlässt man dem BS da dieses weiß ob eine Datei geändert wurde oder nicht.

    Unter Windows

    FindFirstChangeNotification


Anmelden zum Antworten