aktueller Stand Fakturama 2

Da es doch im Forum immer wieder zu Fragen hinsichtlich der Umstellung zur Version 2 gabe möchte ich an dieser Stelle in unregelmäßigen Abständen über den Fortschritt des Projektes berichten. Da dies hier der erste Artikel in diesem Blog und zu diesem Thema ist, wird er auch etwas ausführlicher.

Ziele der Umstellung

Die Umstellung auf Fakturama 2 hat folgende Ziele:

  • Ablösung der alten Eclipse-Plattform. Vorteile hierbei sind
    • die bessere Unterstützung der angebotenen Plattformen (Windows/Linux/MacOS)
    • die Möglichkeit der einfacheren Strukturierung des Programmcodes (Stichwort E4-Modell)
    • Möglichkeit der Verwendung der aktuellen Java-Version
    • Verwendung von vorhandenen Programmierbibliotheken (statt Eigenentwicklung)
  • Beibehaltung aller vorhandenen Daten
  • hoher Wiedererkennungswert durch Beibehaltung des Maskenlayouts
  • Beibehaltung der vorhandenen Funktionalität
  • Einbau von Tastaturkürzeln
  • Verwendung der neuen Java 8-Features für die Vereinfachung des Quellcodes
  • Erstellung von Tests
  • Ablösung der Kopplung zu LibreOffice/OpenOffice (die Vorlagen werden weiterhin mit diesen Programmen erstellt, beim Drucken benötigt man sie aber nicht mehr). Die Vorteile liegen hier auf der Hand.
  • Verwendung alternativer Datenbanksysteme (aktuell werden MySQL, Derby und HSQL unterstützt, weitere DB-Systeme sollten aber kein Problem sein)
  • Verwendung eines O/R-Mappers zur einfacheren Erzeugung von JDBC-Abfragen (aktuell wird EclipseLink verwendet)
  • Verwaltung der Datenbankstruktur in einem Modell (dazu wurde ein EMF-Modell verwendet, aus dem mit Hilfe von Texo DB-Klassen generiert werden können).
  • gleichzeitiger Zugriff mehrerer Nutzer auf das Programm (auch über das Netzwerk), wobei in der 2.0 noch keine volle Benutzerkontensteuerung eingebaut sein wird (jeder darf alles, aber das wird auch entsprechend registriert). Geplant ist hier eine rechtebasierte Benutzerkontensteuerung (Admin, User usw.)
  • einfacheres Bauen der Installationspakete
  • flexibleres Reagieren auf Änderungswünsche / Einbau von Sonderwünschen

Datenmigration

Beim ersten Start der Anwendung werden zunächst einige Einstellungen abgefragt, die das Programm benötigt. Will man seine vorhandenen Daten in die neue Anwendung übernehmen, muß man hier das Altverzeichnis angeben. Das neue Arbeitsverzeichnis sollte sich vom alten unterscheiden, damit die beiden Versionen sauber getrennt sind und es bei einem evtl. Rollback keine Komplikationen gibt. Standardmäßig wird (wie bisher) die HSQL-Datenbank verwendet. Man kann aber auch eine MySQL- oder Derby-Datenbank als neue Verbindung angeben, wenn man das Häkchen bei „use Connection“ entfernt. In die Eingabefelder müssen die entsprechenden Verbindungsdaten eingetragen werden.

nach der Betätigung von OK werden die Daten konvertiert. Das wird in einem Fortschrittsdialog angezeigt und kann je nach Datenvolumen etwas länger dauern.

Bildschirmmasken

Wenn keine Daten migriert werden sollen, dann werden Standardwerte für die Bezahlart und die Steuer in die Datenbank geschrieben und die Hauptmaske öffnet sich.

(tbd)

fertiggestellte Bereiche

  • Navigationsleiste links
  • Haupt-Menü
  • Steuersatz-Liste und -Editor
  • Zahlungsarten-Liste und -Editor
  • Kontaktliste und -Editor
  • Webshop-Import (99%, da sind noch Restarbeiten zu machen, die aber erst erledigt werden können, wenn der Produkteditor fertig ist) funktioniert dank der bereits geänderten Connectoren.
  • Dokumenten-Liste (aktuell wird der Dokumenten-Editor gebaut)
  • Datenbank-Modell (als EMF-Modell)
  • Bauen der kompletten Anwendung mit einem Klick (per Maven/Tycho). Hierbei wird bis zum fertigen Installationsmodul gebaut. Das eigentliche (herunterladbare) Installationspaket für die einzelnen Plattformen wird per install4j gebaut.

Neuerungen

  • Verwendung von formatierten Eingabefeldern für Zahlen (Prozent / Nummern) und Währungsbeträge (damit können dann auch nur Nummern in die Felder eingetragen werden und keine Texte)
  • Verwendung der JavaMoney-Bibliothek zum Rechnen mit Währungen und Geldbeträgen; damit wurde auch eine Änderung im Einstellungs-Dialog notwendig. Jetzt muß das Währungsland eingetragen werden (nicht bloß die Währung selber).Das hat den Hintergrund, daß auch die Formatierung der Währung mit daranhängt (wo steht das Währungszeichen, welches Tausendertrennzeichen nehme ich usw.)
  • Ablösung der Listentabellen durch NatTable. Dies bringt zahlreiche Vorteile:
    • mächtige und flexible Listendarstellung
    • automatische Reaktion auf Änderungen in den zugrundeliegenden Werten (mit Hilfe von GlazedLists)
    • diverse Features werden von Haus aus mitgeliefert (Export der Tabelle in Excel, Anordnung der Spalten, Speichern des Layouts, Sortierung und Filterung usw.)
  • Bankleitzahl und Kontonummer können im Kontaktformular nicht mehr eingegeben werden und sind durch IBAN/BIC ersetzt worden

offene Fragen

  1. Zur Zeit wir der Fortschrittsbalken im Splash-Screen beim Start der Anwendung nicht angezeigt. Dazu gibt es aktuell noch keine Lösung.
  2. Die Update-Funktion geht derzeit noch nicht, da sich an der darunterliegenden Technik etwas geändert hat.
  3. Der About-Dialog muß komplett neu erstellt werden, da er noch auf Eclipse 3 basiert.
  4. Der Start dauert aufgrund der Datenbank-Initialisierung noch verhältnismäßig lange. Hier muß ggf. noch etwas unternommen werden.