[gnucash-de] Re: Einstieg zum GnuCash-Programmieren (war: Sammelüberweisungen )
Christian Stimming
stimming at tuhh.de
Mit Nov 12 23:26:05 CST 2003
-----BEGIN PGP SIGNED MESSAGE-----
Hallo Wolfgang, hallo Andreas [ähnliche Anfragen],
On Dienstag, 11. November 2003 09:56, Wolfgang Herfter wrote:
> > Anschließend muß gnucash angepasst werden. Wenn da jemand helfen würde,
>
> wie könnte denn eine Hilfe aussehen ?
> Bin selber Entwickler und würde gerne an dem Projekt teilnehmen. Und als
> Helferlein wäre das ein guter Einstieg.
Wow, tolle Rückmeldung. Unterstützung nehmen wir/ich liebend gerne entgegen.
Hilfe wird folgendermaßen benötigt: Die aktuellen HBCI-Features von GnuCash
funktionieren mit dem bisherigen OpenHBCI (also Version 0.9.13). Nun hat sich
mit OpenHBCI-TNG aber die API davon komplett geändert. Es müssen in GnuCash
also nun alle HBCI-Funktionen auf die neue API umgestellt werden.
Betroffen ist in GnuCash der Code im Verzeichnis src/import-export/hbci/ (ca.
7000 Codezeilen in C; GnuCash hat 300 000 Codezeilen). Zuerst muß dort die
Erstellung eines neuen Benutzers (in druid-hbci-initial.c) umgestellt werden
und anschließend die HBCI-Geschäftsvorfälle (von gnc-hbci-actions.c aus
aufgerufen in jeweils eigenen files). Diese Arbeit müsste *ohne* jede
GUI-Bearbeitung auskommen können, denn das GUI ist ja gerade nicht durch die
API-Änderung betroffen. Dies ist also wahrscheinlich ein relativ einfacher
Einstieg.
Danach können weitere HBCI-Geschäftsvorfälle (GV) in GnuCash eingebaut werden,
jeweils immer analog zu den bereits existierenden (in gnc-hbci-actions.c).
Dabei werden weitere GV allerdings dann auch immer ein bißchen GUI benötigen.
Aber in gnucash wird das GUI-Tool glade verwendet, daß einem dabei echt eine
Menge Arbeit abnimmt.
Einstieg jetzt: Von gnucash das CVS auschecken, Hinweise
http://linuxwiki.de/GnuCash/SourceInstall und
http://www.gnucash.org/en/hacking.phtml (den unstabilen HEAD branch, also
ohne branch-Angabe beim auschecken). Compilieren. Dort dann auch die
Sourcecode-Dokumentation erstellen lassen ('make doc'), die dann im
Verzeichnis src/doc/html steht. Dann den sourcecode in src/import-export/hbci
angucken.
Und bei druid-hbci-initial.c (und druid-hbci-utils.c und gnc-hbci-utils.c)
anfangen, alle relevanten Aufrufe von HBCI_irgendwas_blabla() an OpenHBCI-TNG
anzupassen. Oder alternativ als ersten GV den Saldoabruf angucken in
gnc-hbci-getbalance.c (und gnc-hbci-utils.c). Und bei fertigen
Änderungsvorschlägen dann emails mit patches an gnucash-patches und CC an
mich.
Wenn man mal nicht weiß, wie der Code aussehen soll, kann man für gewöhnlich
bei aqmoney abgucken. Und wenn eine C Funktion in openhbci-tng fehlt, macht
man dafür eben auch noch ein patch fertig.
Nochwas zu den CVS-branches: Die stabilen releases sind aus dem
gnucash-1-8-branch. Entwicklung soll aber immer erstmal auf dem HEAD branch
(also ohne Angabe) geschehen. Das HBCI-Modul hat nun die Besonderheit, daß
die allermeisten Änderungen auf HEAD auch zeitgleich von mir auf den
gnucash-1-8-branch eingebaut wurden. Der Code in src/import-export/hbci/ ist
also bei gnucash-1-8-branch und HEAD *fast* identisch (aber nicht ganz).
Entwicklung trotzdem immer erstmal auf HEAD.
Gruß und großes Dankeschön im voraus,
Christian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)
iQCVAwUBP7KzfWXAi+BfhivFAQH6UwQAltyZyyCH19l2tbgVveggFnHOcO11e0cc
pfs0GKPZm/RvshbVp64JQpiJbNya1y8XYtOct6JEQtz9uCNIrJ/6dJImBKWbY9SV
5YGGWzVKkQAYqbDrmKVVzutyxO+At6ALRKLn12NA4aFNtou3iu32jbM1afIRCZIw
lEic+hO+cfc=
=8YCe
-----END PGP SIGNATURE-----