pr:mlib
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Medienbibliothek/allgemeine Planung
(Original-Thread im DF)
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
- Standardisierte offene Dateiformate
- XML/JSON
- UTF-8
- JPEG (Grafikstandard in PDF-A, daher garantiert)
- PNG (ODF, ist das ein Archivstandard??)
- Extensive Dokumentation UND/ODER Code-Distribution (Interpretierte Sprachen)
- Ausführbarkeit
- Cross-Platform
- ggf emulierbare Umgebung
- möglichst wenige proprietäre Abhängigkeiten
- Win32/Wine
- Python?
- XULRunner mit Hacks damit er portable wird (JS und XUL sind standardisiert)
- Self-Contained
- nicht nur portabel, sondern sollte alles enthalten was man braucht
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
- Exif neu lesen
- Thumbnails neu generieren
- mehreren Dateien ein Tag geben
Views
- Listentypen
- Liste („besseres dir“)
- Miniaturen
- Miniaturen mit Details
- Galerie (Miniaturen als Coverflow oben/links)
- Einzelansicht (voriges/nächstes links/rechts klein)
- Fenster
- Suchergebnisse
- Verzeichnis
Tech Details/Implementationsideen
- FlatDB Key-Value-Store, Dateien indiziert über (Name, Pfad, ÄnderungsDatum, ErstellDatum, Größe, InhaltsHash)
- wäre auch wiedererkennbar, wenn extern verändert (closest match)
{"fname": "abc.jpg","path":"foo\bar\baz","mdate":"1234567890","cdate":"1234567000","size":"555123","sha1":"abcdef12abcdef12abcdef12abcdef12"}
Organisationsstruktur
- Bibliothek (enthält auch Voreinstellungen) library.json
- Programmeinstellungen (unabhängig von Daten) config.json
- Datenbank (FlatDB-Ordner, Name aus library.json)
pr/mlib.1293316537.txt.gz · Zuletzt geändert: 2010/12/25 23:35 von martok