Eine neue Datenbankstruktur muss her

Verfasst am: Dienstag, 31. Aug. 2010 um 20:18

Wie im letzten Blogeintrag versprochen, sollte die neue Version (die ab jetzt unter Downloads steht) in der Lage sein, in der Datenbankansicht auch Thumbnails anzuzeigen. Da es schon irgendwie blöde wäre, wenn ich die Thumbnails, wie bei den Bildern von der Festplatte, jedes mal neu erzeugen würde, musste eine neue Datenbankstruktur her.

Die neue Datenbankstruktur liegt wieder als MySQL Workbench Datei nach der Installation in dem Installationsverzeichnis. Am sinnvollsten ist es wohl, wenn die Datenbankstruktur mit dem „Forward Engineer…“ neu erzeugt wird. Ich habe selbst versucht, die Struktur mit dem „Synchronize Modell…“ zu aktualisieren, manchmal klappte es, manchmal ging es erst beim zweiten mal ohne Fehler und manchmal ging es gar nicht. Da die ev. vorhandenen Daten von der neuen Version eh nicht mehr gelesen werden können, ist „Forward Engineer…“ sicherlich die einfachere Variante.

Im Programm selber habe ich die Testfunktion zum Speichern von Bildern in der Datenbank an die neue Datenbankstruktur angepasst. Ebenso habe ich das Laden von Datenbankbildern angepasst und um die vorsprochenen Thumbnails erweitert.

Neue Zoomfaktoranzeige

Neue Zoomfaktoranzeige

Da das Wochenende bei mir relativ verregnet war, hatte ich mehr Zeit, um am BVASystem zu programmieren. Um einen relativ alten Eintrag im Bugtracker zu schließen, habe ich mir vorgenommen, dem Nutzer jederzeit Informationen über den aktuellen Zoomfaktor zu geben.  Optisch tat ich mich damit ein wenig schwer, da ich die bisher relativ klare Struktur des Programmes nicht durchbrechen wollte. Herausgekommen ist dabei schlussendlich eine neue Anzeige oberhalb des „großen“ Bildes. Sie setzt sich aus dem Bildnamen und dem aktuellen Zoomfaktor zusammen.

Zwischenfazit

Verfasst am: Samstag, 28. Aug. 2010 um 20:05

Logo des Mantis Bugtrackersystems

Vor knapp einen Monat hat sich ein Freund von mir bereit erklärt meine Bilddatenbank zu testen. Für mich eine sehr schöne Sache, da so frühzeitig Fehler entdeckt und behoben werden können. Seine Bedingung dafür war allerdings, das ich ein Bugtracker System einrichte. Da er Mantis bereits für eigenen Projekte nutzt, sprach er da seine Empfehlung aus.

Anfangs war ich nicht so recht begeistert. Bisher war ich eher der Typ der versucht, alles durch ein organisiertes Chaos zu erledigen. Ich scheute den Aufwand, den der Betrieb des Systems mit sich bringen würde. Ich ließ mich trotzdem dazu überreden :-D

Nach nun knapp einem Monat später möchte ich nun ein Zwischenfazit ziehen. Anfangs habe ich das System eher zögerlich verwendet. Nachdem ich allerdings verstand, wie man in dem Bugtracker unterschiedliche Programmversionen definiert und wie man Fehler/Featurewünsche den Versionen zuweist, änderte sich mein Verhalten grundlegend. Ich sah die automatisch generierte Änderungsliste und die ebenfalls automatisch erstellte Roadmap. Ersteres erspart mir eine Menge Zeit, da ich meinem Freund nicht erklären brauchte was ich geänderte habe. Und die Roadmap hilft mir, mein weiteres Vorgehen zu planen.  Während der Entwicklung des ersten BVASystems hatte ich so eine Roadmap nicht. Und es kam wie es kommen musste: Ich verrannte mich oft in Sachen, die niemals fertig gestellt wurden. Ich hoffe das dies durch Mantis nun nicht passiert.

Danke Fake.

Bilder aus der Datenbank anzeigen

Verfasst am: Dienstag, 24. Aug. 2010 um 21:55

Wieder einmal ist es soweit, das unter Download eine neue Version (2.0.0.4) des BVASystems bereit steht um getestet zu werden. Nachdem in der letzten Version des BVASystems zum ersten mal ein Bild in der MySQL-Datenbank gespeichert werden konnte, ist nicht schwer zu erraten, welche neue Funktionalität ich in den letzten 2 Wochen implementiert habe. Ja, es können sich nun die Bilder aus der Datenbank wieder angeschaut werden.

Ich habe die Datenschicht so erweitert, das es möglich ist, eine Bildliste und das „große“ Einzelbild zu laden. Der Ladevorgang läuft, wie auch bei Bildern von der Festplatte, in gesonderten Threads. Damit ist die Anwendung, auch während ein Bild lädt, weiter bedienbar.

Da der Aufbau der Datenbank noch relativ übersichtlich ist, fehlen bei der Anzeige der Bilder noch einige Funktionalitäten. Zum Beispiel werden in dem Thumbnailstreifen noch keine Thumbnails angezeigt. Auch könnt Ihr noch keinerlei Filter setzten. Es werden immer alle Bilder aus der Datenbank geholt.  Daran möchte ich  in den nächsten Versionen arbeiten. Die „Roadmap“ könnt ihr euch im Bugtracker anschauen.

Updatedienstag

Verfasst am: Dienstag, 10. Aug. 2010 um 22:28

Nachdem ein guter Freund so nett war, die Version 2.0.0.2 ausführlich zu testen, standen (und stehen auch immernoch) eine Reihe von Bug-Fixes an. Welche der gemeldeten Fehler und Änderungswünsche erledigt wurden, ist dank des Bugtrackers gut nachvollziehbar.

Eine kurze Erklärung werde ich wohl noch zur Datenbank geben müssen. In der Version 2.0.0.3 ist das erste mal im Setup eine Datei enthalten, mit der sich die BVA-Datenbank erzeugen lässt. Ich habe mich dazu entschieden, die Datenbank vorerst als MySQL Workbench Datei weiterzugeben. Mit dem Tool kann die Datenbankstruktur mit jeder neuen Version die ich liefere aktualisiert werden, ohne das die alten Daten gelöscht werden müssen. Die Datei befindet sich nach der Installation im Unterverzeichnis DB des Installationsverzeichnisses.

Wenn die Datenbankstruktur (Wenn man eine Tabelle als Struktur bezeichnen darf.) richtig erstellt wurde, kann mit dem BVASystem das Speichern eines Bildes ausprobiert werden. Für die nächste Version verspreche ich, das die gespeicherten Bilder dann auch wieder angezeigt werden können.

Edith: Jetzt hab ich doch glatt vergessen darauf hinzuweisen das Version 2.0.0.3, wie immer unter Downloads herruntergeladen werden kann. Wünsche also frohes Fehlersuchen ….

MySQL server has gone away.

Verfasst am: Montag, 02. Aug. 2010 um 20:31

Gestern abend wollte ich zum ersten mal ein Bild mit dem neuen BVASystem in einer MySQL-Datenbank abspeichern. Eigentlich dachte ich, das dies mittlerweile keine allzu große Hürde sein sollte. Aber ich wurde eines besseren belehrt. Der Server beantwortete mein SQL-Query mit:

MySQL server has gone away.
MySQL Fehler

Zuerst grübelte ich einen Moment darüber nach, wohin mein MySQL Server am Sonntag abend so gehen könnte. Da ich zu keinem Ergebnis kam, fragte ich Google nach der Bedeutung der Fehlermeldung. Ursache für die Fehlermeldung war, das die maximal erlaubte Größe des Querys überschritten gewesen ist.

Zur Behebung des Fehlers musste ich einfach in der Einstellungsdatei „my.ini“ meines MySQL Servers, den Wert von max_allowed_packet vergrößern. Einmal noch schnell den Server neugestartet und schon war der Server zurück von seinem Sonntagsausflug.

Version 2.0.0.2

Verfasst am: Mittwoch, 28. Jul. 2010 um 21:41

Wie versprochen steht nun die erste Datenbankversion zum Download bereit. Allerdings kann die Software sich aktuell nur zur Datenbank verbinden. Es werden keinerlei Tabellen gebraucht, da keine Bilder laden und/oder gespeichert werden. An dieser Stelle möchte ich nun aber kurz erläutern wie man die Verbindung zur Datenbank herstellen kann.

In dem Anwendungsdaten-Verzeichnis (C:\Dokumente und Einstellungen\User\Anwendungsdaten\) befindet sich ein Verzeichnis  „BVASystem“.  Dort liegt eine Ini-Datei „BVASystem.ini“, in der die Parameter für die Datenbankverbindung abgelegt werden müssen. Nach der Installation sehen die Parameter für die Datenbankverbindung wie folgt aus:

[DATENBANK]
PROTOKOLL=
DATENBANK=
HOSTNAME=
NUTZER=
PASSWORT=

Diese 5 Werte müssen beispielsweise wie folgt editiert werden.

[DATENBANK]
PROTOKOLL=mysql-5
DATENBANK=bva
HOSTNAME=localhost
NUTZER=<nutzername>
PASSWORT=<passwort>

Das Protokoll muss zwingend „mysql-5“ sein, da nur für eine Datenbankverbindung zu einer MySQL 5.X Datenbank ein Treiber im Setup integriert ist. Die Datenbank „bva“ muss natürlich vorher eingerichtet worden sein, ebenso der Nutzer und das Passwort.

Wenn alles eingestellt wurde, kann im Programm in der Ansicht „Datenbankbaum“ durch den Button „Test: ConnectDB“  die Verbindung getestet werden.

BVA goes Datenbank …

Verfasst am: Mittwoch, 21. Jul. 2010 um 00:10

… zumindestens bald. In Vorbereitung auf die zukünfigen Datenbankfunktionalitäten habe ich in den letzten Monaten an einer klaren Datenschicht gearbeitet. In der jetzt vorliegenden Version 2.0.0.1 ist die Anzeige des Bildes und die Anzeige der Thumbnails komplett von der Anzeige entkoppelt. Vorteil des ganzen ist, das 100% der Anzeigekomponenten für die Anzeige von Bildern aus der Datenbank genutzt werden soll. Spart also Arbeit :-D

Die nächste Version wird dann die erste sein, die dann datenbankfähig ist. Versprochen sei an dieser Stelle schon einmal, das die Handhabung der Datenbank beim BVASystem 2.0 ganz anders sein wird als es bei der ersten Version der Fall gewesen ist. Lasst euch überraschen.

Erste Version zum Download

Verfasst am: Donnerstag, 29. Okt. 2009 um 22:47

Es hat nun doch wieder etwas länger gedauert, als ich mir vorgestellt hatte. Aber nun ist es endlich soweit. Die erste Version des neuen BVA-Systems steht zum Download bereit.

Das BVASystem geht in die zweite Runde

Verfasst am: Dienstag, 04. Aug. 2009 um 22:18

Nach einer etwas längeren Pause, in der die Entwicklung des BVASystems so ziemlich still stand, geht es nun endlich weiter.  Anfang des Jahres habe ich begonnen, das BVASystem komplett neu zu entwickeln. Nun habe ich einen Stand erreicht, den ich bald als „Preview“  veröffentlichen möchte. Mein Schwerpunkt bei der Neuentwicklung war allerdings ein anderer, als er es bei der ersten Version des BVASystems gewesen ist:

Seit Anfang des Jahres gehe ich öfters in den Zoo und fotographiere dort relativ viele Tiere. Zu hause habe ich dann das Problem, diese Bilder sortieren zu müssen. Welches Bild ist gut, welches gehört am besten gleich in die Tonne… daher liegt beim jetzigen Stand des BVASystems der Schwerpunkt im Sortieren der Bilder.

In Kürze wird es also hier den Download zum ersten Entwicklungsstand des BVASystems 2.0 geben.