Difference between revisions of "AqBanking3 Porting"

From GnuCash
Jump to: navigation, search
(Add date of state (in between Aqbanking 5 is published))
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
AqBanking3 (and gwenhywfar3) is the most recent library family for online banking by Martin Preuss. It is not source-compatible to aqbanking2. Hence, the current gnucash only compiles and runs with aqbanking2.
+
As of march 2009 AqBanking 4.x (and Gwenhywfar 3.x) is the most recent library family for online banking by Martin Preuss. It is not source-compatible to AqBanking 2.x. Hence, older Gnucash releases did compile and run with AqBanking 2.x. You can get the most recent AqBanking release from the [http://www2.aquamaniac.de/sites/download/packages.php?package=03&showall=1 AqBanking homepage].
  
These are notes on which tasks need to be completed in order to achieve a full porting to aqbanking3:
+
This page did describe the necessary changes needed for Gnucash supporting the most recent AqBanking versions.
 
+
Since the release of Gnucash 2.2.7 Gnucash fully supports the newest AqBanking releases. Hence this page is empty now.
* Some functions are merely renamed; in gnc-hbci-utils.h line 32 you just have to activate the #ifdef so that the #defines for the renames are being used.
+
If you are interested in the gory details of what has been done already, please checkout [http://wiki.gnucash.org/wiki/index.php?title=AqBanking3_Porting&oldid=4798 this page's history].
* Some hints were given by Martin here:
 
** http://www.mail-archive.com/aqbanking-devel@lists.sourceforge.net/msg00945.html
 
** http://www.mail-archive.com/aqbanking-devel@lists.sourceforge.net/msg00955.html
 
* The largest sub-task is that aqbanking2 offered in the library a caching of the entered PIN (caching in memory during one session), whereas aqbanking3 doesn't offer this anymore. Hence, gnucash needs to implement such caching itself. In the gnucash-1.8.x series which used the OpenHBCI library (or was it aqbanking1?)  gnucash already had such a caching, but it was deleted subsequently because aqbanking2 did this for us.
 
* Another sub-task is that the enqueing of online jobs is not anymore done in a queue which is managed by aqbanking, but instead gnucash has to pass one complete AB_JOB_LIST2 with all the jobs (well, usually only one) to aqbanking. Functionally, this isn't any different from what gnucash currently does, but it's a bunch of type and name changes.
 
* Another sub-task is the processing of the data returned from the online jobs. Currently, these are retrieved from the AB_JOB after execution, but in aqbanking3, the AB_JOB won't offer any return data anymore. Instead, the returned data must be retrieved from an AB_IMEXPORTER_CONTEXT. Coincidentally this is already implemented in the file importer submodule of hbci (mt940 import, dtaus import) and only needs to be used from the online-banking parts of the hbci module.
 
* Another sub-task is that the GUI callback functions are no longer registered via calls to aqbanking functions, but instead via calls to GWEN_GUI_* functions. Functionally, this isn't any different from what gnucash currently does, but it's a bunch of type and name changes.
 

Latest revision as of 11:25, 8 September 2011

As of march 2009 AqBanking 4.x (and Gwenhywfar 3.x) is the most recent library family for online banking by Martin Preuss. It is not source-compatible to AqBanking 2.x. Hence, older Gnucash releases did compile and run with AqBanking 2.x. You can get the most recent AqBanking release from the AqBanking homepage.

This page did describe the necessary changes needed for Gnucash supporting the most recent AqBanking versions. Since the release of Gnucash 2.2.7 Gnucash fully supports the newest AqBanking releases. Hence this page is empty now. If you are interested in the gory details of what has been done already, please checkout this page's history.