Hintergrundbild

MediaManager 2025

Link zur Online-Hilfe des MediaManagers

Jedes mal wenn ich ein Bild nach dem Einscannen oder ein neues Dokument speichern wollte, hatte ich die Qual der Wahl. In welchen Ordnern lege ich die Datei ab? Im Laufe der Jahre verlor jede erdachte Organisation der Dateien seine Struktur und immer wieder habe ich mich später gefragt, wo ich denn eine bestimmte Datei abgelegt habe. In der Regel sind es meist Bilder, Dokumente, Videos oder Musik-Titel (meist mp3). Für alle diese Datei-Formate gibt es spezialisierte Programme die den Umgang mit dem jeweiligen Datei-Typ erleichtern. Für Bilder gibt es Programme wie Photoshop-Lightroom von Adobe oder ACDSee von ACD Systems International Inc. Für Dokumente gibt es zum Beispiel ELO Office und Videos können mit dem VLC Player abgespeilt werden. Man benötigt aber für jede Art von Datei ein eigenes Programm. Meine Idee war es also eine Programm zu entwicklen, das diese Funktionen in einer Applikation vereinigt und Funktionen bietet, die ich bei den genanten Programmen vermisst habe. Natürlich kann ein selbst entwickeltes Programm nicht mit den komerziellen Produkten konkurieren. Ich wollte dabei aber auch unterschiedliche Bereiche der Softwareentwicklung (WPF, EntityFramwork, OR-Mapper, IOC usw.) kennen lernen. Aus der ursprünglichen Winforms-Applikation ist schießlich ein WPF-Projekt geworden, das anfangs PetaPoco für den Datenbankzugriff verwendet hat. Zwischendurch hatte ich auch eine EntityFramwork-Variante und entschied mich schließlich für eine eigene Variante ohne ein Datenbank-Framework.

Das Programm ist in einzelne Module aufgeteilt und geplant ist neben den bereits vorhandenen Modulen für Applikationen, Bilder, Bücher, E-Mails, Geo-Daten, Musik, Videos und Web-Links weitere hinzuzufügen. Die Module bieten die Möglichkeit einzelne Elemente miteinander zu verknüpfen. Zum Beispiel erstellt das Musik-Modul beim Einlesen der Titel wenn ein Cover-Bild gefunden wird einem Element im Bilder-Modul und verknüpft diese. Neben den vordefinierten Verknüpfungen können weitere frei definiert werden. Eine Anwendung wäre ein Viodeo mit einem Dokument zu verknüpfen und diese Art der Verknüpfung mit der Bezeichnung "Besetzung" zu versehen. Bei einem Element kann dann eine Liste der verknüpften Elemente angezeigt und zum jeweiligen Modul gewechselt werden.

Unter "Stichwörter" können neue Stichwörter erstellt werden, die Elemente ähnlich den "Ordnern" anzeigen können. Der Unterschied besteht darin dass das Stichwort zusammen mit den darunter befindlichen "Unter"-Stichwörtern zu einem Filter zusammengefasst werden. Beim Stichword "Tiere" und einem darunter befindliche Stichwort "Katzen", werden bei "Tiere" alle Elemente angezeigt die dem Stichwort "Tiere" zugewiesen sind. "Katzen" zeigt nur solche Elemente an, die sowohl "Tiere" als auch "Katzen" als Stichwört hat. Wird das Stichwort "Katzen" per Drag&Drop eine Ebene nach oben also auf die gleiche Ebene wie "Tiere" gezogen, werde unter "Katzen" dann auch Element angezeigt die nur "Katzen" als Stichwort haben, auch wenn kein Stichwort "Tiere" vergeben wurden. Stichwörter werden vergeben in dem Elemente aus der Liste auf das jeweilige Stichwort gezogen werden. Im ersten Beispiel ("Tiere:Katzen") werden beide Stichöwrter zugeordnet. Im Kontextmenü zu dem Stichwörter werden alle bisher verwendeten Stichwörter angeboten und zusätzlich noch die am häufigsten verwendeten.

Unter "Dateisystem" werden die Elemente entsprechend der ihrer physikalische Ordner angezeigt. Hier entspricht dann jeder Ordner einem physikalischen Ordner. Diese Ordner lassen sich dann über das Kontextmenü mit den physikalischen Ordner synchronisieren. Dabei werden noch nicht eingelesene Elemente importiert, bereits vorhandene Elemente auf Wunsch aktualisiert und nicht mehr vorhandene Dateien aus der Liste entfernt werden. Beim Löschen von Elementen werden diese in einen eigenen virtuellen Ordner "Papierkorb" verschoben und als gelöscht gekennzeichnet. Diese können aus dem Papierkorb wieder hergstellt werden oder endgültig entfernt bzw. auf Wusch vom Datenträgen gelöscht werden.

Zur "Merkliste" können enzelne Elemente hinzugefügt werden um sie danach einem Stichwort zuzuweise oder zusammen in einem "Ordner" angelegt zu werden. Die Merkliste speichert Elemente nur während der Laufzeit des Programmes und ist nach eine Neustart wieder leer. Neben der "Merkliste" gibt es noch "Zuletzt erstellt" das alle neu eingelesenen bzw. neu erstellten Elemente enthält. Beide Listen können nach Bedarf geleert werden, was keinen Einfluss auch die Elemente selbst hat.

Auf der linken Seite werden in einer Baumansicht diverse Gliederungspunkte angezeigt die die Elemente je nach Modul unterschiedlich filtern. Allen Modulen gemeinsam sind "Bewertung", "Ordner", "Dateisystem", "Auswahl" und "Papierkorb". Mit "Ordner" ist an dieser Stelle jedoch nicht der Ordner im Dateisystem gemeint, sondern ein virtueller Ordner der beliebig viele Einträge enthalten kann, wobei sich ein Eintrag in mehreren "Ordnern" befinden kann. Diese "Ordner" können nachträglich per Drag&Drop