Ich habe mich entschieden …

Verfasst am: Dienstag, 19. Apr. 2016 um 21:54

Nachdem ich die letzten Wochen voller Zweifel war, habe ich mich nun entschieden, wie es weitergehen soll. Nach einigen Testversuchen bin ich der Meinung, einen Weg gefunden zu haben, mit dem ich ein BVASystem für Desktop-Rechner und Android-Geräte gleichzeitig entwickeln kann, ohne das ich zwei getrennte Projekte stemmen muss. Nun ja, eigentlich will ich doch zwei Projekte stemmen, denn das jetzige BVASystem-Projekt ist mir zum einmotten zu schade.

Daher habe ich mich entschieden, ab jetzt zweigleisig zu fahren.  Auf der einen Seite werde ich das Delphi Windows Projekt fortführen. Bei der Weiterentwicklung geht es mir da aktuell hauptsächlich um die begonnene Suche nach ähnlichen Fotos. Größere Änderungen, wie die lokale SQLite-Datenbank, werde ich in dem Projekt aber wohl nicht mehr implementieren. Diese möchte ich nun erstmal über den neuen Weg probieren. Sollte dies gut funktionieren, werde ich dann Stück für Stück die bestehenden Funktionen im neuen Projekt nach implementieren. Das wichtigste dabei ist für mich, das auch das neue Projekt auf die bestehende Datenbank/Datenbankstruktur zugreifen kann. Sollte es wieder erwarten größere Probleme mit dem neuen Projekt geben, habe ich das Delphi Projekt um dort weiterzumachen.

In der Zeit, an der ich an beiden Projekten arbeite, wird es eine kleine Start-Anwendung für das BVASystem geben, in der ihr auswählen könnt, mit welchem der beiden Windows-Programme ihr arbeiten wollt. Wie ich allerdings die Android-Version veröffentlichen kann, weiß ich noch nicht. Durch meine Tests habe ich zwar bereits eine installierbare APK-Datei, allerdings lässt sie sich nur installieren, wenn man auf dem Android-Gerät Software aus unbekannten Quellen zulässt. Und ob der Google-Play-Store für eine Entwickler-Version der richtige Ort ist, bezweifele ich stark. Aber vielleicht geht es ja doch, wenn das Projekt etwas weiter fortgeschritten ist. Bis dahin müsst ihr aber wohl oder übel, mit Fotos von meinem Handy vorlieb nehmen …

Foto der Testanwendung auf einem Handy

Foto der Testanwendung auf einem Handy

In den nächsten Tagen werde ich mich um die Start-Anwendung kümmern und um die Berechnung der Merkmale für die Suche nach ähnlichen Bildern. Anschließend werde ich nochmal einen Blog schreiben, in dem ich euch die Technologie vorstellen möchte, die ich nun einsetzen möchte.

Hierarchische Merkmale zur Suche nach ähnlichen Fotos

Verfasst am: Dienstag, 22. Mrz. 2016 um 23:02

Ich muss zugeben, es hat mal wieder deutlich länger gedauert, bis die jetzige BVASystem Version fertig war. Es lag allerdings nicht daran, das ich wenig Zeit hatte. Diesmal kreuzte mir eine Idee dazwischen, die mich einiges ausprobieren ließ und für einige Zweifel sorgte und auch immer noch sorgt. Froh bin ich aber darüber, das ich entschieden habe, trotz der neuen Idee an dem Programm, so wie ihr es kennt, weiterzuarbeiten.

Nach langer Zeit hab ich nun auch wieder etwas neues zu berichten. Seit einiger Zeit beschäftige ich mich wieder mehr mit der Suche nach ähnlichen Bildern. Die Verfahren, die ich bisher implementierte/ausprobierte , hatten alle den Nachteil, das man für jeden Vergleich eine Differenz berechnen musste. Das bedeutet, je mehr Fotos in der Datenbank sind, desto mehr Berechnungen müssen durchgeführt werden und desto länger muss man auf das Ergebnis warten.

Daher habe ich mir überlegt, die Berechnungen durch hierarchische Bildmerkmale zu vereinfachen bzw. ich hoffe gar darauf, das ich eine möglichst kleine, gut passende Bildmenge aus der Datenbank mit einem SQL-Befehl auswählen kann. In der Menge möchte ich dann die Berechnungen durchführen, damit die Ergebnisse schlussendlich nach Ähnlichkeit sortiert werden können.

Wie das Verfahren genau funktioniert, werde ich euch mitteilen, wenn ich es implementiert habe. Bisher habe ich nur den ersten Schritt getan. Ich habe nun eine Anzeige-Komponente mit der ich hierarchische Bildmerkmale darstellen kann. Sie soll mir in mehrerer Hinsicht helfen. Zum Ersten will ich die Merkmale sehen, damit ich prüfen kann, ob die Berechnung der Merkmale funktioniert und zum zweiten will ich mit der Ansicht entscheiden, wie viele Hierarchie-Stufen ich einsetzen will und wie diese aufgebaut sein sollen. Als nächstes steht nun also an, die eigentlichen Merkmale zu berechnen.

Bildmerkmal-Komponente mit zufälligenTestmerkmale

Bildmerkmal-Komponente mit zufälligenTestmerkmale

Zweifel an der weiteren Vorgehensweise – BVA goes Android?

Verfasst am: Dienstag, 15. Mrz. 2016 um 22:59

Seit nun fast 2 Jahren befindet sich bei uns ein Android-Tablet im Familienbesitz, mittlerweile haben sogar die Kinder eigene Geräte. Auch die alten Handys wurden mittlerweile durch Smartphones ersetzt. Nachdem ich durch ein kleines „Nebenprojekt“ auch erste Erfahrungen mit der Programmierung von Android-Anwendungen sammeln konnte, stellte sich mir die Frage, ob es nicht sinnvoll wäre, das BVASystem auf Android zu portieren. Praktisch wäre es sicher, da man direkt auf dem Sofa seine Fotos verwalten könnte.

Aber leider ist es mit meiner aktuellen Entwicklungsumgebung Delphi XE2 nicht möglich, für mobile Plattformen zu entwickeln. Bisher war aufgrund dieser Tatsache für mich das Thema Android beendet. Mittlerweile gibt es Delphi XE10 mit der dies möglich wäre, allerdings müsste ich dafür jede Menge Geld investieren. Außerdem müsste ich wohl das Framework VCL durch Firemonkey ersetzen. Der Aufwand dafür gleicht wohl einer Neuentwicklung, da das BVASystem fast ausschließlich auf speziellen selbstentwickelten VCL-Komponenten basiert. Einzig der Teil, der zur Datenhaltung und zur Kommunikation mit der Datenbank zuständig ist, könnte wohl weiterverwendet werden.

Alternativ könnte ich natürlich auch einfach ein zweites Projekt anfangen (z.B. mit dem Android Studio) und alles bzw. zumindest teilweise was ich bisher habe nachprogrammieren. Vorteil ist sicherlich, das ich dafür keinerlei Investitionen tätigen muss. Aber die Aussicht, alles doppelt programmieren zu müssen, ist irgendwie nicht so toll.

In den letzten Wochen habe ich daher viel recherchiert und ein ein wenig herumprobiert. Festgesetzt habe ich mich an einem Cross-Plattform Ansatz, der auf JavaFX basiert. Damit ist es mir zumindest gelungen, eine kleine Testanwendung zu programmieren, die sowohl auf einem Desktop PC, als auch auf einem Android-System lauffähig ist. Vorteil dabei ist sicherlich, das ich nur einmal programmieren muss, um beide Plattformen zu bedienen. Als großer Nachteil erweißt sich aber weiterhin, das ich quasi wieder bei fast null anfangen müsste.

Screenshot der Cross-Plattform-Testanwendung

Screenshot der Cross-Plattform-Testanwendung

Wie ich nun weiter vorgehen soll, weiß ich leider immer noch nicht genau. Fest steht allerdings, das ich das jetzige BVASystem nicht einfach einstellen will. Ich nutze es selbst ja mehrfach die Woche und so muss ich den Vorteil nutzen, das ich jede Sache, die mir nicht passt, ändern kann. Allerdings stellt sich die Frage, ob ich noch groß Energie in riesige Änderungen stecken sollte, oder ob ich die Zeit verkürze bis ich auf dem Sofa meine Fotos verwalte….

Die erste BVASystem Aktualisierung im Jahr 2016

Verfasst am: Donnerstag, 28. Jan. 2016 um 22:12

Es fällt mir gerade schwer, etwas zur ersten Aktualisierung des BVASystems in diesem Jahr zu schreiben. Denn ich habe mal wieder mehrere große Baustellen begonnen, ohne das bei einer ein vorzeigbares Ergebnis erzielt wurde. Einzig eine kleine Funktion zum Zoomen in den Einzelbild-Komponenten ist fertig geworden. Sobald sich die Maus über dem Bild befindet, kann man nun mit Shift+Mausrad in das Foto hinein beziehungsweise hinauszoomen.

BVASystem Version 2.2.2.103-dev

BVASystem Version 2.2.2.103-dev

Nun möchte ich aber doch etwas zu den angefangenen Sachen schreiben:

Ähnliche Fotos suchen

Aktuell interessiere ich mich mal wieder mehr an der Suche nach ähnlichen Bildern. Beim Verwalten meiner Fotos kam mir nämlich oft die Frage, ob ich ein sehr ähnliches Bild nicht bereits in die Datenbank aufgenommen habe. Zwar ist beim Import bereits eine Doubletten-Detektion vorhanden, diese erkennt allerdings nur 2 komplett identische Bilder. In den letzten Wochen habe ich mir nun jedenfalls etwas überlegt, wie ich ähnliche Bilder in einer Datenbank detektieren möchte. Dazu benötige ich als erstes Bildmerkmale, die ich an jedem Foto auf gleiche Art und Weise berechne. Entstanden ist dafür bisher ein neues Bildinformationsfenster, in dem die Merkmale einmal dargestellt werden sollen. Außerdem habe ich eine Test-Funktion erstellt, die bereits zufällige Testmerkmale in der gewünschten Struktur erstellt.

Als nächstes habe ich vor, eine Komponente zu erstellen, mit der ich die Merkmale visualisieren kann. Denn eine visuelle Darstellung der Merkmale bringt vorerst deutlich mehr, als wenn ich in das Feld eine lange Zahlenfolge schreibe.

Lokale Datenbank

Die zweite große Baustelle ist immer noch die lokale Datenbank, mit dem Ziel alle bisher implementierten Datenbank-Funktionen auch für nicht importierte Fotos zu ermöglichen. Aktuell bin ich dafür gerade dabei, das Administrationstool anzupassen. Dort sind Script-Dateien hinterlegt, mit denen die Datenbank erzeugt werden kann. Für die lokale SQLite Datenbank benötige ich im BVASystem selbst eine ähnliche Funktionalität. Da ich nichts davon halte, Sachen doppelt zu implementieren, passe ich nun die Funktion im Administrationstool so an, das ich sie auch im BVASystem nutzen kann.

Ende der ruhigen Zeit …

Verfasst am: Montag, 07. Dez. 2015 um 22:35

So viel Abstand wie jetzt hatte ich noch nie zwischen zwei Versionen des BVASystems. Aber jetzt habe ich mich endlich dazu aufgerafft, wieder eine neue Version zu veröffentlichen. Auch wenn es in den letzten Monaten sehr ruhig gewesen ist, so habe ich trotzdem fast täglich ein klein wenig was am BVASystem programmiert. Meist habe ich dabei aber nur „Schönheitsfehler“ im Quelltext beseitigt, so das es wenig darüber zu berichten gab.

Entwicklung des BVASystems in der statischen Code-Analyse Sonar

Entwicklung des BVASystems in der statischen Code-Analyse Sonar

Die einzige wirkliche Neuerung, die ich vorzeigen kann, ist ein Overlay-Panel in der Einzelbildansicht. Damit ist nun auch in der Einzelbildansicht ersichtlich, ob das angezeigte Foto den eingestellten Filterbedingungen entspricht. Damit das Overlay nicht stört, wird es automatisch entfernt, sobald man die Maus drüber bewegt.

Overlay zur Anzeige einer aktiven Bildfilterung

Overlay zur Anzeige einer aktiven Bildfilterung

Ein hunderprozentig festgelegt, womit ich nun weitermache, habe ich mich noch nicht. Fest steht allerdings, das ich keine Lust mehr darauf habe, nur interne Änderungen vorzunehmen. Rein vom Interesse her, würde ich gerne etwas machen um ähnliche Fotos zu detektieren. Da ich dafür allerdings einiges ausprobieren muss, bevor ich eine endgültige  Lösung gefunden habe, wird es wohl im nächsten Jahr einen weiteren Test-Dialog geben, in dem ich unterschiedliche Wege zur Merkmals-Extraktion ausprobieren kann. Weiterhin habe ich definitiv vor, die Oberfläche des Programmes zu verbessern, so das die Bedienung noch einfacher/übersichtlicher wird.

Aktualisiertes Administrationstool

Verfasst am: Donnerstag, 06. Aug. 2015 um 21:52

Auch wenn die Arbeit am Administrationtool zu den unangenehmeren Programmieraufgaben gehört, so ist diese trotzdem sehr wichtig. Schließlich können damit administrative Aufgaben erledigt werden, ohne das man ein „Datenbankguru“ sein muss. In den letzten Wochen habe ich mich um eine Funktion gekümmert, die ich bisher schlichthin einfach vergessen bzw. nicht gebraucht hatte: das Löschen einer BVASystem-Datenbank. Aber wie immer wurde auch dieses mal aus einer (aus datenbanktechnischer Sicht) Kleinigkeit ein größeres Unterfangen.

Datenbankstruktur löschen

Datenbankstruktur löschen

Aus Benutzersicht habe ich einen neuen Dialog geschaffen, in dem das zu löschende Datenbankschema ausgewählt werden kann. Natürlich mit einer Sicherheitsfrage, damit eine noch benötigte Datenbank gelöscht wird. Die Daten lassen sich nach dem Löschen nämlich nicht wieder herstellen.  Bis hier war alles kein Problem und recht schnell implementiert. Arbeit machte dann das eigentliche Löschen. Vor allem, weil die Funktion gleich 3 mal für die Datenbanken Oracle, Firebird und MySQL implementieren musste. Zum Glück konnte ich allerdings einen Teil der Funktionen nutzen, mit denen ich Datenbanken aktualisiere. Es existiert nun also für jeden Datenbanktyp ein Löschscript, welches mit dem Administrationstool ausgeführt werden kann. Ein kleiner Nachteil der Vorgehensweise ist allerdings, das nur aktuelle Datenbankschemas gelöscht werden können. Um ältere Strukturen zu löschen, muss diese erst auf die neuste Datenbankversion aktualisiert werden.

Ausblick

Neben der Programmiererei habe ich in der letzten Woche damit begonnen das BVASystem verstärkt zu testen. Einige Fehler habe ich dabei bereits gefunden und zum Teil auch schon korrigiert. Viel interessanter ist dabei allerdings, das man dabei auch Funktionen entdeckt, die nicht da sind, aber irgendwie schon benötigt werden. Vor mir auf dem Schreibtisch habe ich eine Liste liegen, wo ich mir diese Funktionen kurz skizziert habe. Lasst euch überraschen, was ich davon in der nächsten Zeit umsetzen werde,

Lesezeichen nun auch für die Datenbank

Verfasst am: Donnerstag, 02. Jul. 2015 um 23:36

Jetzt ist es endlich auch möglich Lesezeichen auf Ordner in der Datenbank zu setzten und zu benutzen. Es war nochmal einiges an Arbeit notwendig um die Funktion zu implementieren. Problem war, das die Einträge im Datenbankbaum mit einer einzelnen ID verknüpft sind. Dadurch ist es nämlich nicht möglich, auf die Elternknoten des Eintrages zu schließen. Bei einer Pfadangabe,  die einen Ordner auf der Festplatte beschreibt, ist dies hingegen ohne Probleme möglich. Daher habe ich mich entschlossen, für die Datenbank eine ähnliche Struktur aufzubauen.

Lesezeichen im Datenbank-Modus

Lesezeichen im Datenbank-Modus

Ein einzelnes Lesezeichen für einen Datenbank-Ordner sieht wie folgt aus:

[{436AFE34-ABED-40ED-B50C-BD11069673E7}]

TYP=DB

CAPTION=12.2014

TREEITEM=DBDatumRoot\DBDatumJahr:60\DBDatumMonat:133\

Der eigentlich interessante Eintrag ist die Zeichenkette hinter dem Schlüssel „TREEITEM“. Diese sieht einer Pfadangabe recht ähnlich. Der erste Teil DBDatumRoot entspricht quasi einer Laufwerksangabe und entspricht hier dem Wurzelknoten des Aufnahmedatum-Zweiges. Der zweite Eintrag „DBDatumJahr:60“ entspricht einem Jahreseintrag im Baum. 60 ist dabei die Datenbank-ID des dazugehörigen Datensatzes. Der letzte Eintrag steht dementsprechend für einen Monatseintrag im Baum, der die ID 133 besitzt. Würde das Lesezeichen auf einem Tageseintrag liegen, würde hier noch ein weiterer Eintrag folgen.

Ausblick

Als nächstes habe ich mir vorgenommen, einige Änderungen am Administrationstool vorzunehmen. Zum einen fehlt dort bisher die Möglichkeit, ein komplettes BVASystem Datenbankschema zu löschen und zum zweiten plane ich eine weitere Datenbankaktualisierung. Diese benötige ich für die Umsetzung einiger geplanter Funktionen. Für die erste Teilaufgabe habe ich auch bereits die erste Aufgabe abgearbeitet: Die Scriptdateien zum Löschen eines Datenbankschemas habe ich erstellt und in die Installationssoftware integriert.

Lesezeichen für die Bilderordner

Verfasst am: Dienstag, 09. Jun. 2015 um 22:24

Bei mir ist es so, das ich die Fotos in einen speziellen Ordner auf der Festplatte kopiere, bevor ich sie in die Bilddatenbank importiere. Seit längerem hat mich gestört, das ich dieses Verzeichnis immer wieder in der Baumansicht heraussuchen musste. Noch schlimmer war es bei den Testbildern, die ich für die Entwicklung nutze. Diese liegen nämlich in einem Unterordner im Projektverzeichnis. Nun gibt es Abhilfe:

Lesezeichen-Popupdialog

Lesezeichen-Popupdialog

Es können nun beliebige Verzeichnisse als Lesezeichen abgespeichert werden. Dazu muss das Verzeichnis einmal manuell geöffnet werden und anschließend der mit einem „Stern“ bebilderte Button in der Werkzeugleiste dadrüber gedrückt werden. Ab dem Punkt kann das Verzeichnis direkt über das Lesezeichen ausgewählt werden. Dazu muss nur der Knopf neben dem „Stern“ gedrückt werden. Es öffnet sich ein Popupdialog, in dem alle Lesezeichen aufgelistet werden. Mit einem weiteren Klick wählt man dann das gewünschte Verzeichnis aus. Die Lesezeichen werden in einer Datei im Nutzerverzeichnis gespeichert, so das sie auch nach einem Neustart des Programmes erhalten bleiben.

Da ich die neue Funktion ganz nett finde, hatte ich eigentlich vor, sie auch direkt für Ordner der Datenbank zu implementieren. Dort bin ich allerdings auf ein Problem gestoßen. Bei einem Verzeichnis, zum Beispiel E:\Eigene Dateien\Bilder\2015\, weiß man genau, das auf Laufwerk E, im Ordner Eigene Dateien im Unterordner Bilder usw. gesucht werden muss. Bei den Ordnern in der Datenbank hat das Programm nur von einer ID Kenntnis, die sich auf einen speziellen Datensatz in der DB bezieht. Es kann also nicht so einfach ermittelt werden, wo sich der Ordner im Baum befindet. Auch ein vollständiges durchsuchen des Baumes hilft nicht weiter, da dieser erst aufgebaut wird, sofern der Nutzer einen Knoten öffnet.

Theoretisch habe ich nun bereits eine Lösung des Problems. Aber da ich eh schon so lange gebraucht habe um die Funktion fertigzustellen, habe ich sie mir für die nächste Programmversion aufgehoben. Nun habe ich aber wieder genug rum gefaselt. Ich wünsche euch viel Spaß mit der neuen Programmversion und ich setzt mich mal an die Lösung des Problemes.

Zäher Neustart in die nächste Entwicklungsstufe

Verfasst am: Montag, 18. Mai. 2015 um 21:49

Eigentlich war ich ja begeistert, die Datenbankumstellungen endlich gemeistert zu haben, aber trotzdem geht die weitere Entwicklung nicht so schnell voran, wie ich es gerne hätte. Zum einen war ich relativ lange unschlüssig, welche Änderungen ich als nächstes angehen soll und zum zweiten habe ich in letzter Zeit mit einem privaten Projekt zu tun, in welches fast die gesamte freie Zeit geflossen ist. Außerdem habe ich erste Erfahrungen in der Entwicklung von Android-Apps gesammelt. Diese sind nicht wirklich vorzeigbar, aber vielleicht wird daraus einmal ein BVASystem fürs Handy.

Lesezeichen-Knopf in neuer Werkzeugleiste

Lesezeichen-Knopf in neuer Werkzeugleiste

Nichts desto trotz kann ich heute leider keine neue Programmversion zum Download anbieten. Allerdings kann ich verraten, das ich damit begonnen habe, eine Lesezeichen Funktion für den Baum auf  der linken Programmseite zu entwickeln. Mich stört es nämlich, das man immer wieder den gleichen Ordner aufsuchen muss, wenn ich Bilder in die Datenbank importieren will. Erste Teile habe ich von der Funktion auch bereits fertig implementiert, aber wie dem so ist, werden die „Baustellen“ bei mir immer riesig. Für die Lesezeichen, wie ich sie mir vorstelle, brauche ich: eine neue Button-Komponente, eine Toolbar für den Baum, ein Popup-Dialog, eine Komponente zur Darstellung eines Lesezeichens, eine Datenstruktur zur Speicherung der Lesezeichen, eine Funktion zum Anlegen, eine zur Auswahl und natürlich eine zum Löschen eines Lesezeichens. Fertig davon habe ich bisher nur die Button-Komponente und die Toolbarleiste, Alle anderen Punkte habe ich mehr oder weniger angefangen. Es ist also noch einiges zu tun …

Endlich geschafft

Verfasst am: Samstag, 25. Apr. 2015 um 23:58

So 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:

Screenshot BVASystem Version 2.2.2

Screenshot BVASystem Version 2.2.2

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.