Zwischendurch schonmal vielen Dank für die vielen Ideen. Bitte so weitermachen! :)
Folgendes ist der aktuelle Planungsstand (bzw. ein Teil ist schon implementiert):
- Es wird natürlich wieder eine eigene Verwaltungs-/Planungssoftware geben ähnlich der Musikliste.
- Diese Verwaltungssoftware wird zumindest vorerst in die mAirList.exe integriert sein, also ähnlich wie jetzt schon mAirListConfig und mAirListTag.
- Der Grund: Sie wird etliche Teile der mAirList-"Innereien" nutzen und sich mit mAirList auch die Konfiguration teilen. Das heißt, dass z.B. alle in mAirListConfig getätigten Einstellungen bezüglich Datei-Import, Auto Cue, PFL, etc. auch für die Datenbankverwaltung gelten. Praktisch, ne? :)
- Der nächste Trick: mAirListDB verwendet für das Speichern der Elemente dasselbe XML-Format wie für die Playlisten, MMDs usw. Das bedeutet, nur die wichtigsten Felder, nach denen man später suchen oder sortieren will (also z.B. Interpret, Titel, Länge) haben eine eigene Spalte in den SQL-Tabellen. Der Rest wird einfach als XML-Block in eine Spalte gepackt.
- Der Vorteil: Man kann auf diese Weise alle bislang von mAirList unterstützten Elementtypen in die Datenbank aufnehmen (Dateien, Streams, Dummies, ...). Außerdem kann ich jederzeit die Daten der Elemente um weitere Felder erweitern, ohne dass jemals das Datenbankschema geändert werden muss.
- Weiterer Vorteil: Der Eigenschaften-Dialog zum Erfassen/Editieren/Vorhören von Elementen ist exakt derselbe wie von mAirList selbst.
- Die grundlegende Verwaltung der Elemente erfolgt anhand von Ordnern, die man sich selbst beliebig anlegen kann, ähnlich wie die Rotationen bei der Musikliste.
- Weierthin können die "benutzerdefinierten Eigenschaften" (heißen ab 2.1.38 schlicht "Attribute") verwendet werden, um den Elementen beliebige Name/Wert-Paare anzuhängen, die dann in der Datenbankverwaltung auch angezeigt werden und nach denen gesucht werden kann. Man kann dann auch festlegen, welche Attribute standardmäßig vorgeschlagen sein sollen, und welche Werte zur Verfügung stehen sollen (übrigens auch schon ab mAirList 2.1.38).
- Anstelle eines einzelnen "BaseDir" unterstützt mAirListDB mehrere solcher Basis-Verzeichnisse, die "storage" bzw. "Speicherort" genannt werden. Während die Liste der Speicherorte und ihrer Beschreibung auf dem Server gespeichert ist, kann man auf dem Client wieder einzeln einstellen, welcher Ordner gemeint ist (also genau wie beim BaseDir), also auch wieder verschiedene Ordner auf jedem Client.
Soweit erstmal.