• Offizieller Beitrag

    Hi!

    Mal wieder eine Idee von mir.

    Arbeitstitel: TLFS (Time-Limited File System)

    Problem: Man speichert Dateien von irgendwoher, weiß aber im Prinzip, dass man sie nicht für ewig aufheben will: Wenn eine Bestellbestätigung von Amazon nicht innerhalb von 3 Monaten gebraucht wird, kann sie eigentlich gelöscht werden. Solche Aussagen, wie lange eine Datei maximal relevant ist, kann man meiner Beobachtung nach erstaunlich oft treffen. Leider ist das Aufräumen nachher nicht so einfach, weil es nicht automatisch geht.

    Idee: Ein Programm, dass diese Ablaufdaten von Dateien speichert und sie dann automatisch (oder wahlweise mit Nachfrage) nach Ablauf der Zeit löscht.

    Umsetzungsideen: Eine Art Dropbox, auf die man Dateien zieht und dann nach der Zeitspanne gefragt wird, die die Datei überleben soll. Alternativ sollten auch (beliebig viele) Festplattenordner (rekursiv) überwacht werden können. Kommt eine neue Datei dazu, löst das wieder die Nachfrage aus.

    Im Prinzip wäre das natürlich als Dateisystem für Linux am Schönsten, aber man kann es denke ich auch in AutoIt nützlich zimmern ;).

    peethebee

  • peethebee

    Also da bin ich echt gespannt.

    Derzeitig ziehe ich z. B. Mails die ich bekomme und wo ich auf eine weitere Nachricht warte in den Kalender und der Pfad kommt dazu. Auf Arbeit gibt es dafür na klar eine Software, die eine automatische Wiedervorlage aus gibt, aber das ist auch an die anderen Softwarepakete gebunden. So eine Software für Dateien wäre echt was. Zum Beispiel braucht man ja seine Telefonrechnungen, wenn sie online kommen, nicht länger als 18 Monate zu "lagern", da meistens solche Rechnungen nur 12 Monate rechtlich verwendbar sind, so man sie anfechten möchte. In Deutschland 6 Monate. Aber wie oft habe ich auch Dateien, wo ich mir sage, wenn ich bis dann und dann keine Rückmeldung habe, dann ab in den Papierkorb.

    Also warte ich mal, wie das hier los geht.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hehe....

    hört sich Interessant an... wäre dabei...
    Aber wenn man mal so überdenkt... gibbet da doch nicht sooo viel zu Scripten oder?
    Überwachung der Ordner ist ja nur ne Suchschleife die in gewissen Abständen läuft.
    Suchergebnisse würde ich dann z.B. in nem TreeView wiedergeben wo man dann durch klicken und Hacken setzen Eigenschaften der Dateien oder auch ganzen Ordnern verändern könnte. Das ganze dann in ne art DB abspeichern... bei jedem Durchlauf vergleichen ...
    zu Dropbox .... würde es ermöglichen das die Treeview Files akzeptiert... dadurch wird eine Abfragebox geöffnet mit Eigenschaften...

    MFg chris :D

  • Hallo peethebee,

    ich dachte eigentlich dass sich chrisatack daran probiert, aber wenn er sich bis morgen nicht meldet wage ich mich daran.

    Falls jemand anderes bereits daran ist bitte auch melden,

    mfg (Auto)Bert

  • Hallo L3viathan2142,

    denke eigentlich, dass es von der Aufgabenstellung her von einem zu lösen ist und wollte es auch alleine machen. Falls du aber Mitstreiter findest bzw. das Projekt selbst realisieren willst, halte ich mich zurück, bin trotzdem gerne bereit das Projekt zu unterstützen,

    mfg (Auto)Bert

    • Offizieller Beitrag

    AutoBert, hast Du schon angefangen?
    Ich habe nämlich auch mal damit begonnen. Ist allerdings erst im "Version 0.1"-Stadium. Ich bin mir über die Bedienung noch nicht ganz im Klaren.
    Außerdem wollte ich auch ganze Verzeichnisse integrieren, sodass man auch Verzeichnisse nach Ablaufzeit löschen lassen kann.
    Gibt aber auch noch das Problem der doppelten Einträge. Wenn eine Datei zweimal mit unterschiedlichen Daten zum löschen eingetragen wird oder wenn eine Datei und dann das übergeordnete Verzeichnis mit unterschiedlichen Daten eingetragen werden. Das muss man alles abfangen oder zumindest den Benutzer darauf hinweisen.
    Bisher habe ich auch erstmal "nur" ein Drop-Icon.
    Wie das mit dem (rekursiven) scannen der Verzeichnisse gemeint ist, ist mir noch nicht so ganz klar. Je nach Rekursionstiefe und Scan-Häufigkeit könnte sich das als ganz schön ressourcenhungrig erweisen. :S

  • Hallo Oscar ,

    nein ich habe leider noch nicht angefangen, obwohl ich es mir füs Wochenende fest vorgenommen hatte. Das Problem mit dem Ressourcenhuger sehe ich eigentlich nicht, da dies ja kein Programm wird, dass alle 5 Minuten nachschauen muss, ich denke 1-2 mal die Stunde sollte reichen; zusätzlich auf manuelle Anforderung. Es ist meines Erachtens auch nicht dafür vorgesehen, jedes Verzeichnis zu überwachen, dann könnte man ja gleich die Root-Partition nehmen. Ich hatte dies in einer Memory-SQLite abzuspeichern. (hierzu hab ich seit der 1. Woche einen >Codeschnipsel von AutoItScript, hab ihn aber damals nicht zum laufen gebracht)

    Spoiler anzeigen
    [autoit]

    ;Func WriteMemDb2File(ByRef $objMemDbConn, ByRef $objFileDbConn, $strDbFileName) ;from JorgeW
    ; $strResult = _SQLite_Exec($objMemDbConn, "ATTACH DATABASE '" & $strDbFileName & "' AS FileDb;")
    ; $strResult = _SQLite_Exec($objMemDbConn, "INSERT INTO FileDb.File_Elements SELECT * FROM File_Elements;")
    ; $strResult = _SQLite_Exec($objMemDbConn, "INSERT INTO FileDb.Raw_File SELECT * FROM Raw_File;")
    ; $strResult = _SQLite_Exec($objMemDbConn, "DETACH DATABASE FileDb;")
    ; Return 1
    ;EndFunc;

    [/autoit]

    Diese Memory-DB soll wenn das restliche Sys´tem unter einer definierten Last ist dann nach und nach die eigentliche DB füllt (so zumindest die Idealvorstellung), also ein Programm das selbst schaut wann gerade nichts los ist und dann wieder Halb-Dreiviertelgas gibt. Aber für diesen Bereich (wie kriegt man mit wann wieviel los ist), habe ich noch keinerlei Routinen gesichtet. Ich weiss nur das das Füllen einer DB von 25 MB Plattenplaltz durch Kompression auf 5 MB geschrumpft, bei mir 171.707 ms dauert, von den beiden mir angezeigten Kern(chen) arbeitet einer bei ca. 75 %, der andere bei 25 %.
    Für den Aufbau der Wartungsgui (bzw. Demo-Anwendung für die UDF-Funktionen) hatte ich an eine Art Doppelten-Explorer gedacht (horizontal geteilt, 1 Hälfte für die zu beobachtenden Ordner (diese aus DB bzw. in DB) und die andere Hälfte alle Ordner. Linkes Drittel jeweils 1 Treeview und rechts eine Listview. Doppelte Einträge für ein und dieselbe Datei kann es nicht geben (HighLander-Prinzip).
    Wie man die Regeln aufstellt wenn der Elter etwas anders soll, (will oder möchte) als das Kind müsste man festlegen, nicht dass "bei der Diskussion der beiden" eine Endlosschleife entsteht. Ich würde hierzu vorschlagen grundsätzlich für alle Kinder und Kindeskinder die Regeln zu vererben und im Einzelfall davon abzusehen, das heist wenn im Verzeichnis Spoilerreader grundsätzlich die Dateien 4 Wochen nach dem Einstellen bzw. letztem Zugriff gelöscht werden sollen, dann wird jede einzelne Datei selektiert oder auch nicht, das hört sich aber schlimmer an als es ist 1 SQL-Befehl sollte genügen: Delete from Ordner where oID = 4711 and Ablauf <=20090605 (Auf die Uhrzeit würde ich verzichten). Aber zu SQL-Befehlen kann ich dir ja nichts neues erzählen. Das lustige an der ganzen Sache ist das sogenannte DropTarget hab ich dank Progandy auch schon, überhaupt wird das ein Projekt mit sehr vielen bisher unwissenden MitVorarbeitern.
    Dummerweise kann ich noch nichts vorweisen, ich muss mir mal 2 Tage Abstinenz vom Board verordnen, da findet sich nämlich immer ein Thema dass mich interessiert und von meinen Vorhaben abbringt,

    mfg (Auto)Bert

    • Offizieller Beitrag

    Hört sich interessant an.
    Bezüglich meiner SQLite-Erfahrung befindest Du Dich aber im Irrtum. Das Thema habe ich bisher komplett ausgespart (sprich: Erfahrung = Null).
    Deswegen sollte bei mir zum speichern auch eher mein Beispiel zur Listview-Datenbank zum Einsatz kommen. Generell gefällt mir die Funktionalität des Drop-Icons und kommt meiner Art der Dateien-Verwaltung sehr entgegen. Mein Programm wird sich wohl (vorerst) in diese Richtung bewegen. Zur Auswahl des Löschdatums stelle ich eine Datumseingabe oder eine Eingabe "in ... Tagen" zur Verfügung. Dann wird es eine Listview geben, in der alle Einträge aufgelistet sind (mit: "Löschdatum", "vorher nachfragen" und "Dateipfad").
    Ich finde es aber gut, wenn sich mehrere unabhängig voneinander an das Thema wagen. Unsere Wettbewerbe haben eigentlich immer ganz gut gezeigt, dass dabei viel Gutes entstanden ist. :)

  • Hallo Oscar,

    konnte ich mir bis jetzt gar nicht vorstellen, dass es ein Thema gibt bei dem du passen musst. Dein Listviewdatenbankbeispiel ist Spitze (wie alles von dir), war das 1. Skript zu Listview das ich mir eausgesucht habe um anhand dessen die Möglichkeiten des Listviews unter AutoIt zu testen.
    In den Wettbewerb mit dir zu treten finde ich nicht besonders toll, denn da hat man eigentlich schon verloren. Deine Begründung für 2 unabhängige Lösungen sehe ich aber ein, denn auch ich weiss das viele Wege zum Ziel führen.

    mfg (Auto)Bert