Allgemein | BVA-System

Archive for the ‘Allgemein’ Category

Ich habe leider wenig Lust hier was zu schreiben …

Donnerstag, Juli 7th, 2016

Die Stille in den letzten Wochen, ja Monaten heißt nicht, das am BVASystem nicht mehr weiter gearbeitet wird. Aber irgendwie fehlt mir aktuell die Lust, hier alle 2-3 Wochen etwas zu schreiben. Sowohl beim alten, als auch beim neuen BVASystem bin ich gerade viel am probieren, ohne das ich richtig weiß, ob die Sachen zielführend sind. Obwohl ich weiß, das mit den begonnenen Sachen noch wenig anzufangen ist, habe ich trotzdem eine neue Version zusammengestellt. Denn so ganz ohne Fortschritts-Blogs macht diese Homepage keinen Sinn mehr…

Beim alten Delphi Programm probiere ich mich immer noch an der Suche nach ähnlichen Bildern. Dort bin ich zumindest soweit, das mit dem Programm hierarchische Bildmerkmale berechnet werden können. Der eigentliche Suchalgorithmus ist in der Entstehungsphase, in der ich viele viele Kritzeleien auf Papier erstelle. Ob ich damit zum gewünschten Ziel komme, weiß ich leider noch nicht. Es kann sein, das ich die Merkmalsberechnung nochmals abändern muss, wenn sich die Suche nicht durch direkte SQL-Befehle implementieren oder zumindest erleichtern lässt.

Berechnete Bildmerkmale

Berechnete Bildmerkmale

Dafür ist die im letzten Blog angekündigte Start-Applikation für die beiden BVASystem Versionen fertig.

Launcher-Applikation

Launcher-Applikation

Bei der neuen Java Version dagegen stecke ich noch immer in den Anfängen fest. So habe ich dort mit einer Logging-Funktionalität begonnen und bin dabei gleich über die Problematik der richtigen Speicherort-Auswahl gestolpert. Gerade für die Android Variante habe ich dort relativ viel Zeit verbraucht, da ich auf meinem Handy keinen Root Zugriff habe. Daher komme ich ohne das Programm nicht an das Standard-Verzeichnis für Apps heran. Als Ausweichmöglichkeit habe ich nun ein Verzeichnis auf der SD-Karte gewählt. Des weiteren habe ich mich darin versucht, eine Plattform übergreifende Ordner-Überwachung zu implementieren. Anders als bisher möchte ich nämlich, das das BVASystem von allein erkennt, wenn neue Bilder auf dem Rechner/Tablet oder Handy gespeichert werden. Diese neuen Bilder sollen dann automatisch in die Datenbank aufgenommen werden. Der Import-Vorgang würde damit dann komplett entfallen. Einzig eine Synchronisation zwischen verschiedenen Datenverbindungen müsste vom Anwender noch manuell angeregt werden. Aber bis dahin ist es noch ein langer Weg.

Aktueller Entwicklungsstand

Aktueller Entwicklungsstand

Ich habe mich entschieden …

Dienstag, April 19th, 2016

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.

Zweifel an der weiteren Vorgehensweise – BVA goes Android?

Dienstag, März 15th, 2016

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

Donnerstag, Januar 28th, 2016

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.

Aktualisiertes Administrationstool

Donnerstag, August 6th, 2015

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,

Zäher Neustart in die nächste Entwicklungsstufe

Montag, Mai 18th, 2015

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 …

Ansichtseinschränkung und Filterelement: Bildgröße

Mittwoch, Januar 28th, 2015

Vor einigen Wochen war ich auf der Suche nach einem speziellen Foto in meinem Datenbestand. Allerdings passte keiner der Filter, die ich bisher implementiert hatte. Ich wusste nur, das das gesuchte Foto deutlich größer war, als die Bilder die ich normalerweise aufnehme. Schnell war daher der Gedanke fixiert, die Bildgröße als nächstes Element anzugehen. Und da ich noch genügend Zeit hatte, habe ich das Element auch gleich zweimal umgesetzt. Die Bildgröße kann nun bei der Ansichtseinschränkung und auch als Filterelement verwendet werden.

Ansichtseinschränkung Bildgröße

Ansichtseinschränkung Bildgröße

Die Festlegung des Elements erfolgt wie auch schon bei der Brennweite mit einem Schieberegler mit 2 Schiebeelementen. Die gesuchten Fotos müssen dann eine Bildgröße besitzen, die sich zwischen den beiden eingestellten Werten befindet. Bei der Ansichtseinschränkung ist es noch möglich Fotos zu suchen, deren Bildgröße sich nicht zwischen den eingestellten Parametern befindet. Bei der Bildfilterung ist dies konzeptionell leider nicht möglich.

Außerdem habe ich,wie im vorherigen Blog bereits beschrieben, an den internen Umstellarbeiten weitergemacht. Ich bin immer noch total glücklich darüber, das nun bereits 3 Worker-Tasks auf die generalisierten Datenbankkomponenten umgestellt sind. Es liegen in den nächsten Wochen zwar noch einige vor mir, aber vom Prinzip her weiß ich nun wie es geht. Mehr möchte ich nun aber auch nicht rum plaudern. Ich mach mich lieber an die nächste Version, aber jetzt erstmal viel Spaß mit  der aktuellen Programmversion.

Jahresfazit 2014

Mittwoch, Dezember 31st, 2014

Auch dieses Jahr möchte ich hier wieder mit einem Jahresfazit abschließen. Im Gegensatz zum letzten Jahr dachte ich bis eben, das dieses Fazit etwas durchwachsener ausfallen würde, da ich gerade die letzten Monate doch etwas durchhing. Allerdings ist mir eben bewusst geworden, das in den vergangenen 12 Monaten doch recht viel passiert ist.

Neue Schlagwortfunktionen

Die bestehenden Schlagwortfunktionen wurden in diesem Jahr komplettiert. Es ist nun möglich, mehrere Schlagworte zusammenzuführen, Schlagworte umzubenennen und natürlich auch zu löschen. Alle Funktionen sind in einem Popup-Dialog untergebracht, der sich mit der rechten Maustaste über dem Schlagwort öffnen lässt. Außerdem entstand ein Schlagwortkonfigurationsdialog mit dem die Schlagworte bequem zu Schlagwortkategorien zugeordnet werden können.

Ansichtseinschränkung

Völlig neu hinzugekommen ist die Funktion zur Einschränkung der in den Bildlisten angezeigten Fotos. Es stehen mittlerweile einige Kriterien zur Verfügung, mit denen die Ansicht eingeschränkt werden kann. Fotos die den ausgewählten Kriterien nicht entsprechen, werden nun gar nicht mehr angezeigt. Allerdings ist die Ansichtseinschränkung bisher nur für die Datenbankansicht möglich, da sie auf modifizierten SQL-Befehlen basiert.

BVASystem zum Jahresabschluss 2014

BVASystem zum Jahresabschluss 2014

Bildfilterung

Wie angekündigt, wurde die Bildfilterung im vergangenen Jahr ausgebaut. Es sind eine Menge Kriterien dazugekommen, die zur Filterung genutzt werden können. Herausfordernd hierbei war für mich, das fast alle Kriterien eine selbst geschriebene Komponente zur Festlegung benötigten. Dadurch ist aber eine Oberfläche entstanden, mit der ohne viel Text möglichst flexible Filter eingestellt werden können. Neu ist ebenfalls, das eine aktive Bildfilterung durch ein Symbol in der Hauptstatusleiste angezeigt wird.

Sortierung

Die Sortierung der Bildlisten wurde komplett überarbeitet, da sie  bisher leider nicht richtig funktionierte. Nun können alle Listen nach Bildtitel, Aufnahmedatum und nach der Bildfilterung sortiert werden. Gerade letzteres ist sinnvoll, wenn man die zur Filterung passenden Fotos zusammen sehen möchte.

Export

Zu guter letzt ist noch der Bildexport erwähnenswert. Es ist seit diesem Jahr möglich, Fotos die einmal den Weg in die Datenbank gefunden haben, wieder zu exportieren. Dabei stehen verschiedene Modi zur Auswahl, so das Bilder zum Beispiel auch gleich in reduzierter Bildgröße exportiert werden. Dies habe ich benötigt, da ich in meinem Foto-Blog die Bilder nicht in voller Auflösung veröffentliche.

Ausblick

Der Ausblick aufs nächste Jahr fällt mir ehrlich gesagt schwer. Zum einen stehen noch jede Menge interne Änderungen an, die kaum sichtbare Veränderungen bringen und zum zweiten habe ich mittlerweile ein ganzes Buch voller guter Ideen und Wünsche zusammengetragen. Fakt ist, das ich auf jeden Fall erst einmal die angefangenen Änderungen zu Ende bringe. Damit steht fest, das es bald eine Demo-Datenbank geben wird und das früher oder später auch eine lokale SQLite Variante genutzt werden kann. Außerdem habe ich mir gerade vor Weihnachten eine NAS-Festplatte gekauft, auf der ein MySQL-Server läuft. In den nächsten Wochen werde ich ausprobieren, ob der Server für das BVASystem ausreicht. Zu guter letzt habe ich mir vorgenommen, im nächsten Jahr wieder mehr zu bloggen. Dieses Jahr gab es gerade zum ende hin, leider viel zu wenig Artikel.

Viel Arbeit für eine kleine Änderung

Donnerstag, September 11th, 2014

Eigentlich hatte ich ja vor, wieder die meiste Zeit in die nicht sichtbaren Änderungen zu investieren. Allerdings habe ich mich da diesmal total verkalkuliert. Als kleines sichtbares Gimmick hatte ich mir überlegt, nach langer Zeit wieder mal ein neues Element zur Bildfilterung zu implementieren. Dazu hatte ich mir die Brennweite, mit der die Fotos aufgenommen wurden, herausgesucht. Das Grundgerüst zur Bildfilterung stand eigentlich recht schnell, aber dann fiel es mir extrem schwer, ein geeignetes Oberflächenelement zu erstellen, mit dem die Filterparameter eingestellt werden können.

Schnell legte ich mich darauf fest, ähnlich wie bei dem Filterelement „mittlere Helligkeit“ vorzugehen. Dort kann durch einen Schieberegler mit zwei Schiebern der Bereich eingestellt werden, in dem sich die gesuchten Bilder befinden sollen. Allerdings hat diese Vorgehensweise bei der Brennweite einen entscheidenden Nachteil. Die gängigen Objektive, die es für Kameras zu kaufen gibt, bewegen sich in einem Bereich von 0-300 Millimeter Brennweite. Im Weitwinkelbereich, der sich bis etwa 50 Millimeter Brennweite erstreckt, führt eine Änderung um wenige Millimeter zu total unterschiedlichen Bildern. Im Telebereich dagegen ist es nicht so entscheidend, ob der Wert um 10 Millimeter größer oder kleiner ist. Die Skala des Schiebereglers sollte also nicht linear ansteigen, da ansonsten im Weitwinkelbereich nicht genau genug ausgewählt werden kann.

Daher habe ich mich entschieden, einen drei geteilten Schieberegler zu erstellen.  Das erste Drittel erfasst den Bereich von 0 bis 20 Millimeter, der mittlere Bereich erstreckt sich von 21 bis 100 Millimeter Brennweite und der letzte Bereich dient zur Auswahl der Brennweiten von 101 bis 999 Millimeter Brennweite. Ich habe ein deutlich größeres Maximum gewählt, damit auch Objektive mit exotischen Brennweiten mit dem Filter erfasst werden können. Trotzdem kann der gesuchte Bereich im Weitwinkelteil sehr genau ausgewählt werden. Damit die Komponente intuitiv bedienbar bleibt, wird unter dem Schieberegler der ausgewählte Bereich in Textform ausgegeben.

Filterkriterium Brennweite

Filterkriterium Brennweite

Da ich in die Komponente zur Auswahl des Bereiches viel Arbeit gesteckt habe, werde ich in den nächsten Wochen die Brennweite auch als Kriterium in der Ansichtseinschränkung nutzbar machen. Da die Komponente zur Auswahl bereits fertig ist, sollte diesmal wieder mehr Zeit bleiben, um die internen Änderungen voranzutreiben.

Unsichtbare Änderungen Teil 2

Montag, August 18th, 2014

Auch beim heutigen Versionsupdate spielt sich wieder ein Großteil der Änderungen im Hintergrund ab. Nachdem ich beim letzten mal die einfachsten Datenbankabfragen auf die neue Datenbankzugriffsschicht umgestellt wurden, habe ich mir dieses mal alle Datenbankabfragen, die zur Erstellung des Baumes auf der linken Seite der Anwendung benötigt werden, vorgenommen. Es werden nun also die Fotoalben, die Schlagwortkategorien und der Aufnahmedatumsbereich über die neue Datenbankzugriffsschicht abgefragt. Damit muss ich nun nur noch 3 Programmmodule umstellen: die Abfrage der Bildlisten, die Abfrage der Einzelbilder und alle Änderungsabfragen, die vom Worker durchgeführt werden. Gerade der letzte Teil bereitet mir noch einiges an Kopfzerbrechen, da meine selbst geschriebene Datenbankzugriffsschicht noch nicht in der Lage ist, Parameter in SQL-Befehlen zu benutzen.

Weiterhin habe ich vor einigen Tagen damit begonnen, etwas umzusetzen, was ich „WebDB“ getauft habe. Dies soll ein Webmodul, welches ich in PHP entwickele, werden. Es wird  zwischen der eigentlichen Datenbank und dem BVASystem geschaltet. Damit möchte ich erreichen, das die BVASystem Datenbank auch auf einem Webserver installiert werden kann, auf dem man das Administrator Kennwort zur MySQL Datenbank nicht hat. Generell stelle ich es mir so vor, das das BVASystem über eine Http-Anfrage Daten bei der WebDB anfordert. Diese führt die eigentliche SQL-Abfrage durch und liefert die Ergebnisse in Form einer XML-Datei an das BVASystem. Die Datenbank stellt die Daten dann so dar, als wenn eine direkte Verbindung zur Datenbank bestanden hätte. Ein weiterer schöner Nebeneffekt wird es sein, das ich euch damit eine Demo-Datenbank zur Verfügung stellen kann. Ich erhoffe mir, das es dadurch viel einfacher wird, das BVASystem zu testen. Eine lokale Installation eines Datenbankmanagementsystems würde für den Test nämlich entfallen.

Zu guter letzt habe ich natürlich auch wieder etwas sichtbares am System verändert. Es können nun Ansichtseinschränkungen nach der automatischen Bildbewertung gesetzt werden. Außerdem befindet sich nun oben rechts ein Informationsbild, welches darauf hinweist, das eine Ansichtseinschränkung aktiv ist. Damit ist nun auch bei der eingeklappten Ordneransicht erkennbar, ob eine Ansichtseinschränkung aktiv ist.

Hinweis auf aktive Ansichtseinschränkung

Hinweis auf aktive Ansichtseinschränkung