Re: API-Addition
Martin Preuss <[email protected]> Wed, 20 Apr 2005 20:23:50 +0200
| Newsgroups | gmane.comp.finance.libofx.devel |
|---|---|
| Message-ID | <[email protected]> |
On Wednesday 20 April 2005 16:41, Benoit Grégoire wrote: > On Wednesday 20 April 2005 06:13, Martin Preuss wrote: > > On Wednesday 20 April 2005 11:38, Martin Preuss wrote: > > > Therefore I propose to add some fields to OfxAccountData which > > > represent at least the account number (we could call it just that: > > > "account_number"). We should also add a field "bank_id" and maybe > > > "branch_id". > > > > And while we're at it: Maybe we should add a field for the brokerId, too. > > > > I see no reason why we shouldn't make all valuable information from the > > OFX file available to applications... > > > > Other opinions ? > > I'd like to veto that. As I said before, Libofx is moving AWAY from > sending the OFX data as it is, I am trying to abstract and interpret as > much as it can from it to shield the application from bad bank > implementations and difficulties of interpretation (Investment transactions > are especially problematic). Not having structs with several dozens of > elements each is a positive and important side effect. > > Libofx must be able to support formats OTHER than OFX, even if it has > strong roots in OFX. Like many project, LibOfx suffers from inertia. The > same structures are currently used for parsing data and for client > communication. It shouldn't be that way. OFX data should be parsed in OFX Hmm, that's where I'm lost: Why should LibOFX support other format ? I think what LibOFX is in general used for is to do exactly what the name suggests: Handle OFX/OFC files. Why would you want to support QIF or others ? Most applications already have their own implementation for these other formats, so they don't need LibOFX to do that. What you're trying to do here is exactly what AqBanking is doing: AqBanking tries to abstract online banking and file import/export, so at least for me (and Gnucash, KMyMoney, QBankManager and later MoneyPenny) LibOFX doesn't need to support any other type than OFX/OFC. As for the world-unique account id: What do you really need this for ? When calling LibOFX you already have an outside context (either the application directly or AqBanking in my case) which already knows in which country you are (e.g. AqBanking has an extra field for this). And besides, what can you really do with this unique id ? You can't enter it in a check, can you ? And for banks with no branch id (some countries don't have any) this field looks quite odd (multiple spaces within). It's just as simple as this: I'm using LibOFX to get as much information from OFX/OFC files as possible. Having to parse basic information (which comes in single, distinguishable elements) out from an artificially combined item kinda defeats this purpose. [...] > Obviously DirectConnect will need access to more information than what is > given by the normal API. I am not convinced it needs access to the whole > low_level structures, but it certainly need's it's own API, if only for > account enumeration. Well, I don't need access to the *whole* low_level structure, but at least to what's commonly used in banking applications: Bank id (routing number/sort code/Bankleitzahl), maybe branch id and of course account id. [...] > As for the WHY the account id was combined initially (it wasn't always that > way), it's that different countries use these numbers VERY differently. > Only that concatenation of them is likely to result in a number the user > can actually identify in every country. It's also the only way to make > sure they are unique. As I said before: Why ? The application already knows in which country it is (or where the file came from), I would like to use LibOFX to access the structures rather than having to do it myself... regards Martin -- "Things are only impossible until they're not" LibChipcard - http://www.libchipcard.de/ AqBanking - http://www.aquamaniac.de/aqbanking/ OpenHBCI - http://www.openhbci.de/ ------------------------------------------------------- This SF.Net email is sponsored by: New Crystal Reports XI. Version 11 adds new functionality designed to reduce time involved in creating, integrating, and deploying reporting solutions. Free runtime info, new features, or free trial, at: http://www.businessobjects.com/devxi/728