Hibiscus: Konten-Synchronisierung intern umgebaut

Da habe ich jetzt die letzten 3 Monate an einer ziemlich grossen Sache in Hibiscus gearbeitet. Und augenscheinlich werdet ihr erstmal gar keine Änderung feststellen. Das war übrigens auch der Grund, warum auf den anderen Baustellen (wie bei der SEPA-Thematik) in letzter Zeit nicht so viel passiert war.

Zum Hintergrund: Hibiscus war bisher eng mit HBCI (via HBCI4Java) verknüpft. Wenn man z.Bsp. Umsätze abrufen oder eine Überweisung ausführen wollte, ging das nur über HBCI. Nun gibt es seit einiger Zeit jedoch den Scripting-Support in Hibiscus, mit dem es zumindest rudimentär möglich ist, auch für "Nicht-HBCI-Konten" (einiger weniger Banken) wenigstens die Kontoauszüge abzurufen. Allerdings ist das nicht wirklich schön in die übergreifende Konten-Synchronisation auf der Startseite von Hibiscus integriert. Mein Ziel war nun, Hibiscus so umzubauen, dass die Konten-Synchronisierung nicht mehr auf HBCI beschränkt ist sondern auch andere Übertragungsverfahren angebunden werden können.

Und das war ein ziemlich großer Aufwand. Mit über 4.000 neu geschriebenen Zeilen Quellcode in 115 Dateien meine bisher wahrscheinlich grösste Änderung, die ich jemals an einem Stück in Hibiscus vorgenommen habe. Damit können nun künftig beliebige "Bank-Backends" nahtlos integriert werden. Aus User-Sicht macht es bei der Bedienung dann keinen Unterschied mehr, ob das Konto nun via HBCI oder über ein Script synchronisiert wird. Es geschieht alles in der gemeinsamen Konten-Synchronisation. Mein nächster Schritt ist nun, den Scripting-Support so umzubauen, dass er über die neue gemeinsame Synchronisierung verwendet werden kann. Wenn es soweit ist, schreibe ich noch einen Blog-Eintrag dazu.

Bis dahin: In den Nightly-Builds von Hibiscus hat sich rein äusserlich erstmal nicht viel verändert. Ausser dass die Log-Ausgaben sich in ein paar Details unterscheiden und der Fortschrittsbalken nun nicht mehr pro Konto angezeigt wird sondern für die ganze Synchronisierung (auch wenn es mehrere Konten sind). Dennoch könnt ihr natürlich gern schonmal testen. Um besser zwischen bisherigem Synchronisationsverfahren und neuem unterscheiden zu können, habe ich die Versionsnummer des Nightly-Builds von Hibiscus auf 2.5.1 erhöht, damit man im Vergleich auch die 2.5.0 testen kann (beide stehen in den Nightly-Downloads zur Verfügung). Da keine Datenbank-Änderungen nötig waren, kann man auch problemlos zu 2.5.0 zurückwechseln, falls etwas nicht funktioniert. Vom Hibiscus Payment-Server habe ich ebenfalls eine 2.5.1-beta veröffentlicht, die diese Neuerungen nun auch enthält. Also, wenn ihr testen wollt - nur zu. Im Bugzilla habe ich hierzu auch ein Ticket angelegt, wo ihr Fehler melden könnt. Und ladet auch von Jameica nochmal das aktuelle Nightly-Build. Es muss mindestens vom 25.03. sein.

Nochmal der Hinweis: Rein funktional hat sich erstmal noch nichts geändert - den Scripting-Support muss ich noch umbauen. Die existierenden Scripts können daher mit der 2.5.1 erstmal wie gehabt weiter genutzt werden.

PS: Das ist kein neues Release, welches jetzt Hibiscus 2.4.2 ablöst. Das sind erstmal nur Nightly-Builds - sowas wie Beta-Versionen. Ich denke, im Spätsommer bis Herbst wird dann das nächste offizielle Release 2.6 kommen.

Trackbacks

Trackback-URL für diesen Eintrag

Dieser Link ist nicht aktiv. Er enthält die Trackback-URI zu diesem Eintrag. Sie können diese URI benutzen, um Ping- und Trackbacks von Ihrem eigenen Blog zu diesem Eintrag zu schicken. Um den Link zu kopieren, klicken Sie ihn mit der rechten Maustaste an und wählen "Verknüpfung kopieren" im Internet Explorer oder "Linkadresse kopieren" in Mozilla/Firefox.

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Felix am :

Vieln Dank, auf diese Funktion habe ich gewartet. Danke!

Karsten am :

Eine bessere Integration des Skripte kann ich nur begrüssen! Dann fällt ein lässtiger Schritt bei der Synchronisierung zukünftig weg. Danke für die Arbeit!

Ich bin mal gespannt, wie sich die Schnittstelle für die Skripte ändert wird. Ich gehe mal davon aus, dass ich dann für die Übergangszeit zwei Versionen meines Skriptes anbieten muss.

Olaf am :

Ich werde in den naechsten Tagen im Wiki die noetigen Aenderungen fuer die Javascripts anhand von Beispielcode beschreiben. Es ist eigentlich nicht viel. Im wesentlichen kommt eigentlich nur eine Funktion dazu, welche Konto und Auftragstyp uebergeben kriegt und die dann zurueckliefern muss, ob das Script diesen Auftrag fuer das Konto ausfuehren kann oder nicht. Die noetigen Aenderungen sind abwaertskompatibel. Es muessen anschliessend also NICHT zwei Versionen der Scripte zum Download bereitstehen. Einfach die neue Funktion in das Script einbauen. Die neue Hibiscus-Version wird es nutzen, die alte Hibiscus-Version kennt die Funktion nicht und wird sie ignorieren.

Massimo B. am :

Toll, das wird die Unterstützung von Nicht-HBCI-Konten nochmal vereinfachen. Eines der bisherigen Skripte machten es ja zumindest rudimentär möglich, solche Konten abzufragen. Damit kann man Hibiscus bestimmt bald an alle möglichen Interfaces adaptieren, obwohl HBCI und Offline für mich eigentlich die wichtigsten sind.

Übrigens bin ich kürzlich über einen Artikel in der Linux-User [1] gestolpert, wo eine Banking Software "Grisbi" ohne HBCI-Funktion vorgestellt wurde. Ohne HBCI macht das in meinen Augen wenig Sinn und ich würde mich mal über einen Artikel über Hibiscus freuen. Genau das habe ich auch in den Kommentar geschrieben. Das beschriebene Konzept mit Kategorien kann Hibiscus in dieser Form nämlich schon lange.

Gruß,
Massimo

[1] http://www.linux-community.de/Internal/Artikel/Print-Artikel/LinuxUser/2013/03/Private-Finanzen-verwalten-mit-Grisbi

Die Kommentarfunktion wurde vom Besitzer dieses Blogs in diesem Eintrag deaktiviert.