Endlich geschafft
Samstag, April 25th, 2015So lange wie dieses mal habe ich noch nie gebraucht, um wieder eine stabile Softwareversion fertigzustellen. Aber jetzt ist es endlich soweit: die Umstellung auf die generalisierten Datenbankkomponenten ist fertig und die Demo-Datenbank ist einsatzbereit. Ehrlich gesagt ist die Freude bei mir gerade groß, aber Einhundert prozentig zufrieden bin ich trotzdem nicht. Durch die zusätzlichen Codierungen ist die Demo-Datenbank nun deutlich langsamer als eine richtige Datenbankverbindung. Dies fällt gerade beim Import von neuen Fotos auf. Zum Glück lies sich das Problem entschärfen, indem einfach nur kleine Bilder in der Testdatenbank gespeichert werden dürfen.
Trotzdem hat sich der Aufwand für mich aber gelohnt: Der Quelltext ist nun deutlich übersichtlicher, ich habe eine Menge Fehler gefunden und natürlich auch beseitigt. Das beste für mich ist allerdings, das ich nun alle Datenbankfunktionen auch für die angedachte lokale SQLLite-Datenbank nutzen kann. Dort muss ich mich „nur“ darum kümmern, das die Fotos nicht direkt in der Datenbank gespeichert werden dürfen. Genug der Vorrede: nun wird es Zeit für die übliche Zusammenfassung der Änderungen, die seit der letzten stabilen Softwareversion umgesetzt wurden:
Demo-Datenbank zum Testen des Programmes
Die wichtigste Änderung, die sich durch die ganze Arbeit der letzten Monate ergeben hat, ist definitiv die Demo-Datenbank, welche ich hier auf der Homepage installiert habe. Wenn ihr das BVASystem testen wollt, müsst ihr ab jetzt nicht mehr ein eigenes Datenbanksystem aufsetzen. Ihr könnt euch hier einfach und natürlich kostenlos ein Login zur Demo-Datenbank anlegen.
Im Unterschied zu einem normalen Datenbanksystem ist die Demo-Datenbank komplett über HTTP-Anfragen realisiert. Für jeden SQL-Befehl wird eine Anfrage in Form einer XML-Datei erstellt und an ein Script auf dieser Homepage übertragen. Dieses führt den Befehl aus, nachdem geprüft wurde ob der Befehl ausgeführt werden darf. Das Ergebnis wird dann wieder in eine XML-Datei überführt und an das BVASystem übertragen. Durch die Überführung in ein XML-Format ist die Demo-Datenbank natürlich langsamer als ein direkter Datenbankzugriff. Gerade bei großen Binär-Datenfeldern, die auch noch BASE64-Codiert werden müssen, ist die Demo-Datenbank deutlich langsamer. Daher habe ich das BVASystem so modifiziert, das die Bilder in der Testdatenbank möglichst klein werden. Wundert euch also nicht, wenn die Bildqualität nach dem Speichern in der Datenbank schlechter ist als vorher.
Filter und Ansichtseinschränkungen
Neben den ganzen Änderungen, die ich für die Demo-Datenbank gebraucht habe, habe ich in den letzten Monaten eine Menge neuer Filterkriterien und Ansichtseinschränkungen implementiert. Außerdem habe ich die Kriterien neu sortiert, so das sie nun überall gleich gruppiert werden. Folgende Kriterien wurden umgesetzt:
- Ansichtseinschränkung: manuellen Bildbewertung
- Ansichtseinschränkung: automatische Bildbewertung
- Bildfilterung: Brennweite
- Ansichtseinschränkung: Brennweite
- Bildfilterung: Besitzer des Bildes
- Ansichtseinschränkung: Bildtitel
- Bildfilterung: ISO-Empfindlichkeit
- Ansichtseinschränkung: Bildgröße
- Bildfilterung: Bildgröße
Ausblick
Eigentlich hatte ich ja vor, direkt mit der Implementation der lokalen SQLite-Datenbank weiterzumachen. Aber ehrlich gesagt habe ich aktuell nicht die Lust dazu, wieder mit einem so großen Projekt anzufangen. Auch wenn ich bei den generalisierten Datenbankkomponenten, SQLLite bereits vorbereitet habe, wird es wieder zu lange dauern, bis man Ergebnisse sehen kann. Daher werde ich mich in den nächsten Monaten wieder mit Dingen beschäftigen, die sich schneller umsetzten lassen. Welche dies genau sein werden, weiß ich aktuell noch nicht. Fest steht allerdings, das es zeitnah eine Datenbank-Änderung geben wird, da ich Ideen habe, die sich mit der jetzigen Struktur nicht umsetzen lassen.