Ich habe mir momentan wieder ein mehr oder weniger großes Projekt
vorgenommen. Diesmal war ich auch so schlau und hab eine
Versionierung der einzelnen Includes angefangen und mehr Kommentare
in den Code geschrieben.
Das Projekt soll unter Linux und Windows gleichermaßen laufen, aber
keine eigenen Designs mitbringen, sondern die des Systems nutzen.
Lauffähig sollte es ab Win2000 und den aktuellen Linux-Distributionen sein.
Jetzt aber mal zum Projekt selbst.
Ich will eine Art Medienverwaltung schreiben, die zunächst mal
hauptsächlich auf die persönliche Bildersammlung losgelassen werden soll.
Dabei soll es folgende Punkte geben:
- Tags:
Tags sind Strings mit eindeutiger ID, die einem Bild zugewiesen werden
können. Außerdem können Tags zu anderen Tags verweisen, womit ein
Netzwerk entstehen kann. - Cluster:
Cluster sind Ansammlungen von Tags und dienen zum einfachen Suchen
zusammenhängender Bilder. Die einzelnen Tags können mit logischen
Operatoren zum Cluster verknüpft werden: NOT, AND, OR, XOR.
Cluster können ebenso wie Tags benutzt werden. - Tag-Wolke:
Die Tag-Wolke zeigt anhand verschieden großer Schriftarten an, wie häufig
Tags zu Medienobjekten verlinkt sind. Durch Auswahl eines bestimmten
Tags oder eines Clusters, ändert sich die Wolke so ab, dass direkt
vernetzte Tags größer dargestellt werden als Tags, die weiter entfernt sind,
wobei die Größe weiterhin auch von der Anzahl Verlinkungen zu einem
Medienobjekt abhängig bleibt.
Durch eine Option kann man auch Cluster in der Wolke anzeigen lassen,
wodurch nur Medienobjekte, die der Regel der Cluster entsprechen zählen. - Tag-Zuweisung:
Wenn man gerade ein oder mehrere Bilder im Fenster sieht, soll es per
Drag'n'Drop möglich sein Tags aus der Tag-Wolke in ein Bild zu ziehen,
womit diesem der Tag zugewiesen wird. Möchte man ein Tag zuweisen, das
es noch nicht gibt, muss man zuerst in der Tag-Wolke dieses neue Tag
anlegen, indem man an eine freie Stelle klickt und ohne den Cursor aus
der Wolke zu bewegen den Namen eintippt.
Die zweite Möglichkeit ein Tag zuzuweisen ist die Gegenrichtung. Durch
ziehen eines oder mehrerer Bilder auf ein Tag in der Wolke, wird das
entsprechende Tag bei allen gleichzeitig gesetzt.
Wenn ein zu taggendes Bild noch nicht in der Datenbank ist, wird es
hinzugefügt und dann getaggt. - Ordner-Ansicht:
In der Ordner-Ansicht werden alle Ordner der Festplatte angezeigt.
Ordner, die Dateien enthalten, die nicht in der Datenbank sind, bekommen
die Farbe rot. Dateien, die es auf der Festplatte nicht gibt, aber in der
Datenbank existieren werden grün angezeigt. Alles andere, was
synchronisiert ist, hat die Standardfarbe oder einfach schwarz. Symbole
statt Farben wären natürlich auch nett.
Durch eine Auswahl unter der Ordner-Ansicht kann man bestimmen, was
bei einem Doppelklick auf einen Ordner passieren soll: 'In die Datenbank
aufnehmen', 'enthaltene Dateien anzeigen', 'aus der Datenbank entfernen',
'neu synchronisieren' - Datei-Ansicht:
In der Datei-Ansicht werden einfach alle Dateien eines Ordners nach
festgelegtem Kriterium sortiert als Miniaturansichten dargestellt. Will man
hier Bilder taggen, werden sie automatisch der Datenbank hinzugefügt.
auch nicht mehr ein. Muss mir gleich mal 'nen Kaffee genehmigen.

Mein Problem ist nun, wie ich diese ganze Funktionalität komfortabel in ein
Fenster unterbringen kann. Mir geht es da hauptsächlich um die Anordnung
der einzelnen Teile und wie sie nicht anderen Dingen im Weg stehen. Wie
ich das ganze programmiertechnisch umsetze, bleibt mir überlassen.
Mir würde jede Art von Information helfen. Also entweder eine
anschauliche Beschreibung oder in Paint gekritzelte Skizzen.
Wenn ich dann irgendwann mal eine Alpha rausbringe, dürft ihr auch alle
fleißig testen. Je mehr Alphatester, desto größer wird schließlich die
ToDo&Don'tDoIt-Liste.
Dann bedanke ich mich jetzt schonmal ganz herzlich bei all denjenigen, die
mir bis hierhin folgen konnten und ihrer Kreativität in ihren baldigen Posts
freien Lauf lassen werden.