Dies ist eine alte Version des Dokuments!
Medienbibliothek/allgemeine Planung
Features
Portablel (ohne Installation; Daten an frei wählbarer Speicherstelle; Relative Pfadangaben(!))
Win32 / W2k+
Verwalten von Video UND Foto in einem Programm (idealerweise aber nicht zwingend auch andere Dateien, z.B. Textdateien oder so)
Tags (Bonus: Funktion um dann „Ähnliche Dateien“ zu finden)
Kategorien
Alben
Verständnis von Pfaden (und dann auch Browsen danach)
Umfangreiche Suche, im Idealfall so dass man jede beliebige Information filtern kann
Notizfunktion zu Alben, Dateisystemobjekten
Automatischer Import, Tagging (EXIF auslesen)
Thumbnails für Video selber auswählbar, also „nimm Frame 42 als TN“
Multi-User fähig: gleichzeitig von mehren Rechnern/Prozessen zugreifen
Systemanforderungen
Lebensdauer des Archivs: 10 aktiv, min. 20 Jahre passiv (=lesbar)
Datensicherheit
Ausführbarkeit
Self-Contained
GUI
Bedienbares UI. Meine Erfahrung ist ja, dass die besten Programme immer das schlimmste UI haben…
Thumbnail-View von allem, also auch Suchergebnissen
Operationen auch auf mehreren Dateien gleichzeitig
Tech Details/Implementationsideen
Flatfiles, 1 pro Datei (Shareaza)
Key-Value-Store, Dateien indizier über (Name, Pfad, ÄnderungsDatum, ErstellDatum, Größe, InhaltsHash)
Datenbankdatei (Achtung, siehe Datensicherheit!)
dBase via Halcyon
FILEID = [0-9a-z]{8}
Strings: immer UTF8 schreiben und beim lesen zurückkonvertieren, um Codepage-Probleme zu umgehen
Tabelle Files:
FILEID
Dateiname
Pfad
Größe
Datum
Tabelle Attribs:
FILEID
attrName
attrValue
Tabelle ExtAttribs:
Wie speichert man ein…
Tag?
Tabelle Attribs, attrName=„tag“, attrValue=<tagname>
ggf mehrere Zeilen (einfach nur Append)
Exif-Datum?
Tabelle Attribs, attrName=„exifdate“, attrValue=<unixdate>
eine Zeile (Locate+Edit || Append)
Thumbnail?
Tabelle ExtAttribs, attrName=„thumbnail“, attrValue=kleines JPEG (BLOBS haben kein Charset, also problemlos!)