Re: GnuCash for Symbian
Am Freitag, 6. April 2012, 16:09:44 schrieb John Ralls: > On Apr 6, 2012, at 1:08 PM, Christian Stimming wrote: > > As for the data format for importing transactions: I'd agree with the > > reservations about QIF as a data format. It has some severe limitations, > > which are somewhat worked around by the existing gnucash importer, but > > if you're implementing a new importing scheme anyway, you should better > > choose an exchange data format that doesn't give your obstacles from > > start on. Instead, I'd rather suggest OFX as a data format. Hendrik > > mentioned a "unique transaction identifier" that should be included in > > the exchange data format for sure, and he is right. OFX has such a > > unique ID. It is being evaluated in gnucash's OFX importer under the > > name "online-id". In fact, if the imported file contains this field, > > duplicate transactions (whose online-id has been observed in earlier > > imports) will be ignored from the import altogether right now already. > > Hence, please try to use OFX' data format as your exchange data format > > for transactions, if possible. > > Christian, > > Doesn't this apply to Ngewi's app as well? In fact, aren't these essentially > the same project implemented on two different mobile OSes? Yes, absolutely. Christian ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash for Symbian
On Apr 6, 2012, at 1:08 PM, Christian Stimming wrote: > > As for the data format for importing transactions: I'd agree with the > reservations about QIF as a data format. It has some severe limitations, > which > are somewhat worked around by the existing gnucash importer, but if you're > implementing a new importing scheme anyway, you should better choose an > exchange data format that doesn't give your obstacles from start on. Instead, > I'd rather suggest OFX as a data format. Hendrik mentioned a "unique > transaction identifier" that should be included in the exchange data format > for sure, and he is right. OFX has such a unique ID. It is being evaluated in > gnucash's OFX importer under the name "online-id". In fact, if the imported > file contains this field, duplicate transactions (whose online-id has been > observed in earlier imports) will be ignored from the import altogether right > now already. Hence, please try to use OFX' data format as your exchange data > format for transactions, if possible. Christian, Doesn't this apply to Ngewi's app as well? In fact, aren't these essentially the same project implemented on two different mobile OSes? Regards, John Ralls ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash for Symbian
Dear Łukasz, I'm one of the authors of the online banking importer in gnucash (using HBCI online protocol and/or files containing MT940 or OFX data). I think your idea is great, but difficult. As for the data format for importing transactions: I'd agree with the reservations about QIF as a data format. It has some severe limitations, which are somewhat worked around by the existing gnucash importer, but if you're implementing a new importing scheme anyway, you should better choose an exchange data format that doesn't give your obstacles from start on. Instead, I'd rather suggest OFX as a data format. Hendrik mentioned a "unique transaction identifier" that should be included in the exchange data format for sure, and he is right. OFX has such a unique ID. It is being evaluated in gnucash's OFX importer under the name "online-id". In fact, if the imported file contains this field, duplicate transactions (whose online-id has been observed in earlier imports) will be ignored from the import altogether right now already. Hence, please try to use OFX' data format as your exchange data format for transactions, if possible. Am Freitag, 6. April 2012, 16:54:07 schrieb Łukasz Spas: > Hmm... So maybe it would be better to develop some kind of > synchronization protocol (that meets all specific gnucash requirements) > based on TCP/Bluetooth connection? You don't need a "protocol" for the gnucash part. You need a data format for transaction data (and I suggest OFX). You do need a protocol for moving this data from your Symbian device into a PC desktop application such as gnucash. I don't know at all how to hook up the PC application "gnucash" as the listener for specific bluetooth requests. I did some research on vaguely similar areas when I tried to find out how to register gnucash as a handler for particular URI schemes, see http://wiki.gnucash.org/wiki/Custom_URI_Scheme at the bottom. There is surely no one-size-fits-all solution there, but instead each OS and also each desktop system needs its own implementation of those hooks. Good luck! > It would be a lots of work but there is also no deadlines... :P Maybe > some student form GSoK could also helps in this topic? No, the GSoC students will be completely busy with their own projects. You can surely expect no support from that side. > This could be also useful when you have few desktop computers and you > want to use GnuCash on all of them and easily keep your data > synchronized... > It would be some kind of GIT for GnuCash. :D No, I wouldn't advise broadening your scope from "synchronization from a single mobile device to a single PC instance of gnucash" into some distributed something. Instead, I'd suggest keeping your scope limited to exactly your initial scenario: One mobile device with the data recording, and one PC with a running gnucash. Now you need to solve: - Data recording on the mobile (probably easy) - Exporting data from the mobile into some bluetooth export (exporting is easy if you choose your internal mobile data identical with the export data format; hooking this into bluetooth requires some internal protocol digging in the mobile OS) - Registering gnucash as a bluetooth listener application, probably first limited to one specific OS and one specific desktop environment of your choice - Getting some import process running in gnucash as soon as it receives the data via bluetooth (which is probably easy as the "Import xy file..." already exists in gnucash) Regards, Christian ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash for Symbian
Hmm... So maybe it would be better to develop some kind of synchronization protocol (that meets all specific gnucash requirements) based on TCP/Bluetooth connection? It would be a lots of work but there is also no deadlines... :P Maybe some student form GSoK could also helps in this topic? This could be also useful when you have few desktop computers and you want to use GnuCash on all of them and easily keep your data synchronized... It would be some kind of GIT for GnuCash. :D BR, Lucas Spas W dniu 2012-04-05 02:50, Hendrik Boom pisze: On Wed, 04 Apr 2012 15:24:47 +0200, Łukasz Spas wrote: Hello. I've developed small application for Symbian (tested on S60) which allows users to manage their finances using their Symbian phone. (Here is the repo: https://gitorious.org/gnucash-s60/gnucash-s60) It is still incomplete because I would like to add functionality which allows to synchronize list of transactions with desktop' GnuCash via Bluetooth using QIF file format. And here goes the question - is it hard to add "reciving QIF file via Bluetooth& importing it to GnuCash's database" functionality? I have never look inside GnuCash's code and I don't know where I could start. (Maybe someone could help?) Moreover, is it even possible to add such Bluetooth import functionality to main GnuCash repo? I think it might be useful for many of smart-phones owners and gives a possibility to write many of mobile ports/clients of GnuCash easily. Doing bluetooth is probably the easy part. It's just a comm protocol, after all. The trouble lies with QIF. At least the last time I looked, it just doesn't have all the information you need. It doesn't identify the account the QIF file is about, and it doesn't clearly identify the accounts that are at the other end of transactions. The result is that the QIF reader in gnucash contains *lots* of code about guessing what accounts are to be used for different transactions and recording user feedback about the guesses to make better ones in the future. Not to mention that if you get another QIF from the bank a week later, it has to identify which transactions are *already* in the gnucash file and which are new. QIF provides no transaction serial numbers to make this reliable. Such serial numbers are de rigeur in any professionally designed protocol. In any case, if the user has edited the transaction using gnucash, you *don't* want that change to make the importer fail to recognize it and import it anew. So, to do the job *right* (whether it's worth the effort or not), gnucash would have to have unique transaction IDs for each transaction in its database. (Does it already do this? I don't know.) Then you could perhaps look at the code for qif import (or maybe there's another importer you could look at which might be better) and adapt it to whatever intermediate file format you'd *like* to use with your application. That file format should explicitly identify the accounts at both ends of each transaction. Gnucash accounts, at least in the XML file, have some king of binary hash ID to identify them uniquely. That might be useful here. I don't know if those hashes are in the actual data base, though, or just part of the XML file format. You app would of course have to know the names of the accounts so that the user with the mobile phone could select them unambiguously. It might even be possible that gnucash's XML format for transactions might have the right information for your intermediate files. Or not. All in all, it's a big job, and *I* didn't volunteer to do anything like it a few years ago when I thought it might be useful. -- hendrik ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash for Symbian
On Wed, 04 Apr 2012 15:24:47 +0200, Łukasz Spas wrote: > Hello. > > I've developed small application for Symbian (tested on S60) which > allows users to manage their finances using their Symbian phone. (Here > is the repo: https://gitorious.org/gnucash-s60/gnucash-s60) > It is still incomplete because I would like to add functionality which > allows to synchronize list of transactions with desktop' GnuCash via > Bluetooth using QIF file format. > And here goes the question - is it hard to add "reciving QIF file via > Bluetooth & importing it to GnuCash's database" functionality? I have > never look inside GnuCash's code and I don't know where I could start. > (Maybe someone could help?) Moreover, is it even possible to add such > Bluetooth import functionality to main GnuCash repo? I think it might be > useful for many of smart-phones owners and gives a possibility to write > many of mobile ports/clients of GnuCash easily. Doing bluetooth is probably the easy part. It's just a comm protocol, after all. The trouble lies with QIF. At least the last time I looked, it just doesn't have all the information you need. It doesn't identify the account the QIF file is about, and it doesn't clearly identify the accounts that are at the other end of transactions. The result is that the QIF reader in gnucash contains *lots* of code about guessing what accounts are to be used for different transactions and recording user feedback about the guesses to make better ones in the future. Not to mention that if you get another QIF from the bank a week later, it has to identify which transactions are *already* in the gnucash file and which are new. QIF provides no transaction serial numbers to make this reliable. Such serial numbers are de rigeur in any professionally designed protocol. In any case, if the user has edited the transaction using gnucash, you *don't* want that change to make the importer fail to recognize it and import it anew. So, to do the job *right* (whether it's worth the effort or not), gnucash would have to have unique transaction IDs for each transaction in its database. (Does it already do this? I don't know.) Then you could perhaps look at the code for qif import (or maybe there's another importer you could look at which might be better) and adapt it to whatever intermediate file format you'd *like* to use with your application. That file format should explicitly identify the accounts at both ends of each transaction. Gnucash accounts, at least in the XML file, have some king of binary hash ID to identify them uniquely. That might be useful here. I don't know if those hashes are in the actual data base, though, or just part of the XML file format. You app would of course have to know the names of the accounts so that the user with the mobile phone could select them unambiguously. It might even be possible that gnucash's XML format for transactions might have the right information for your intermediate files. Or not. All in all, it's a big job, and *I* didn't volunteer to do anything like it a few years ago when I thought it might be useful. -- hendrik ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash for Symbian
Lucas, I cannot offer much guidance with implementing Bluetooth in GnuCash, but I do not think that GnuCash should have this functionality. If I were doing this, I would write a Python script that imports a QIF file, make that script accessible via a web server, and have the smartphone app upload a QIF file via HTTP. This seems like a more flexible approach to me. If you still really want Bluetooth functionality, I think this should be a separate application that runs alongside GnuCash. I also wanted a mobile banking solution, so I've written a QIF import script in Python that you may be able to adapt and use. It's part of a larger web application that meets most of my needs so far. The QIF import script is integrated with the Django models that the rest of the web application uses, so it will require some editing. Here's the link to that file: https://github.com/nylen/gnucash-django/blob/master/gnucash_scripts/import_qif_file.py I took the approach of making a mobile-friendly website that is mostly read-only, so that GnuCash stores all the data, but it is available from anywhere I have Internet access. Also, the import script above is part of a process that automatically downloads my bank statements every 4 hours, imports the transactions, and assigns them to the appropriate accounts. I'm just telling you how I went about implementing my requirements for mobile banking. Maybe some of this will give you ideas. Feel free to contact me directly if you have any questions. (Note to the GnuCash devs: I think it would be great to see more automation around importing files, preferably with functions available via the Python bindings. I realize you have other priorities, and unfortunately, I don't think I'm in a position to contribute much to the GnuCash code. However, I will continue to develop and improve my own solutions that run alongside GnuCash, and make them available in case anyone finds them useful.) Thanks, James On Wed, Apr 4, 2012 at 9:24 AM, Łukasz Spas wrote: > Hello. > > I've developed small application for Symbian (tested on S60) which allows > users to manage their finances using their Symbian phone. (Here is the > repo: > https://gitorious.org/gnucash-**s60/gnucash-s60<https://gitorious.org/gnucash-s60/gnucash-s60> > ) > It is still incomplete because I would like to add functionality which > allows to synchronize list of transactions with desktop' GnuCash via > Bluetooth using QIF file format. > And here goes the question - is it hard to add "reciving QIF file via > Bluetooth & importing it to GnuCash's database" functionality? > I have never look inside GnuCash's code and I don't know where I could > start. (Maybe someone could help?) Moreover, is it even possible to add > such Bluetooth import functionality to main GnuCash repo? I think it might > be useful for many of smart-phones owners and gives a possibility to write > many of mobile ports/clients of GnuCash easily. > > Best regards, > Lucas Spas > __**_ > gnucash-devel mailing list > gnucash-devel@gnucash.org > https://lists.gnucash.org/**mailman/listinfo/gnucash-devel<https://lists.gnucash.org/mailman/listinfo/gnucash-devel> > ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash for Symbian
--On April 4, 2012 10:56:02 AM -0400 Derek Atkins wrote: GnuCash does have a QIF Import facility, but it's not automated, and frankly I cannot think of a way to make it into an automated process due to the way it needs to perform transaction duplicate detection (and verification) as well as the transaction mapper to map to proper accounts. Your best option would be to provide a way to extract QIF from your application so that a user can load it into GnuCash using the QIF importer. Bluetooth doesn't necessarily imply automatic. It might be possible to fix things up so that the existing QIF importer reads the QIF data from a bluetooth connection. This would depend on the availability of appropriate libraries on all the relevant platforms and require a significant amount of work inside GnuCash. I don't know if this would be enough to satisfy the requirements or not. Mike ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: GnuCash for Symbian
Hi, Łukasz Spas writes: > Hello. > > I've developed small application for Symbian (tested on S60) which > allows users to manage their finances using their Symbian phone. (Here > is the repo: https://gitorious.org/gnucash-s60/gnucash-s60) > It is still incomplete because I would like to add functionality > which allows to synchronize list of transactions with desktop' GnuCash > via Bluetooth using QIF file format. > And here goes the question - is it hard to add "reciving QIF file via > Bluetooth & importing it to GnuCash's database" functionality? > I have never look inside GnuCash's code and I don't know where I could > start. (Maybe someone could help?) Moreover, is it even possible to > add such Bluetooth import functionality to main GnuCash repo? I think > it might be useful for many of smart-phones owners and gives a > possibility to write many of mobile ports/clients of GnuCash easily. GnuCash does have a QIF Import facility, but it's not automated, and frankly I cannot think of a way to make it into an automated process due to the way it needs to perform transaction duplicate detection (and verification) as well as the transaction mapper to map to proper accounts. Your best option would be to provide a way to extract QIF from your application so that a user can load it into GnuCash using the QIF importer. > Best regards, > Lucas Spas -derek -- Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory Member, MIT Student Information Processing Board (SIPB) URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH warl...@mit.eduPGP key available ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
GnuCash for Symbian
Hello. I've developed small application for Symbian (tested on S60) which allows users to manage their finances using their Symbian phone. (Here is the repo: https://gitorious.org/gnucash-s60/gnucash-s60) It is still incomplete because I would like to add functionality which allows to synchronize list of transactions with desktop' GnuCash via Bluetooth using QIF file format. And here goes the question - is it hard to add "reciving QIF file via Bluetooth & importing it to GnuCash's database" functionality? I have never look inside GnuCash's code and I don't know where I could start. (Maybe someone could help?) Moreover, is it even possible to add such Bluetooth import functionality to main GnuCash repo? I think it might be useful for many of smart-phones owners and gives a possibility to write many of mobile ports/clients of GnuCash easily. Best regards, Lucas Spas ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Symbian
"Daniel Espinosa" <[EMAIL PROTECTED]> writes: > Things like this is why is better to have a library doing the hardwork > and allows the users to create it's interface, I don't know about > Symbian, but GDA and GnomeDB have a porting to Maemo (Nokia N800 - I > have one:) and that was in a relative short time, even Glom witch uses > GDA, have one. > > Remember that a library based on GLib/GObject can be ported to > different plattaforms with few changes: exists a lot of libraries > ported to Windows included GDA. You mean libraries like the engine and file backend? :) You seem to be implying that this isn't possible right now, but of course it is. In fact, the gnucash source code is pretty highly portable. Taking just a few pieces as libraries and building a smaller application would be non-trivial, but possible. GObject and GDA aren't the only solutions in the world, you know. -- ...jsled http://asynchronous.org/ - a=jsled; b=asynchronous.org; echo [EMAIL PROTECTED] pgpgelmc0wPRM.pgp Description: PGP signature ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Symbian
Things like this is why is better to have a library doing the hardwork and allows the users to create it's interface, I don't know about Symbian, but GDA and GnomeDB have a porting to Maemo (Nokia N800 - I have one:) and that was in a relative short time, even Glom witch uses GDA, have one. Remember that a library based on GLib/GObject can be ported to different plattaforms with few changes: exists a lot of libraries ported to Windows included GDA. QofQuery -> GdaQuery I was thinking all the night the reasons to Why Not port QofQuery to GdaQuery: QofQuery has: 1) Depends on QOF internal data store and object type system, witch is incompatible with GDA and GLib, GDA have different GdaDataModel models to store data temporally defined for the providers and use GLib's type system to know the data type returned by them. GdaQuery needs: 1) A GdaDict and this a GdaConnection, in order to execute the queries, even if you want to create subqueries you need this objects. 2) If you have a data representation of the one in the provider, it must be a GdaDataModel and QOF has it's own incompatible representation. 2007/10/17, Josh Sled <[EMAIL PROTECTED]>: > "Pizza Margherita" <[EMAIL PROTECTED]> writes: > > Have you planned any symbian or mobile version of GnuCash? > > No one has announced they they have completed (or are even working on) such a > thing. > > -- > ...jsled > http://asynchronous.org/ - a=jsled; b=asynchronous.org; echo [EMAIL PROTECTED] > > ___ > gnucash-devel mailing list > gnucash-devel@gnucash.org > https://lists.gnucash.org/mailman/listinfo/gnucash-devel > > > -- Trabajar, la mejor arma para tu superación "de grano en grano, se hace la arena" (R) (entrámite, pero para los cuates: LIBRE) ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Symbian
Quoting Pizza Margherita <[EMAIL PROTECTED]>: > Hello, > Have you planned any symbian or mobile version of GnuCash? > Thank you, > Riccardo Nope. And porting GnuCash to Symbian or Windows Mobile would be a ton of work. It would effectively imply writing a completely new application. -derek -- Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory Member, MIT Student Information Processing Board (SIPB) URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH [EMAIL PROTECTED]PGP key available ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Re: Symbian
"Pizza Margherita" <[EMAIL PROTECTED]> writes: > Have you planned any symbian or mobile version of GnuCash? No one has announced they they have completed (or are even working on) such a thing. -- ...jsled http://asynchronous.org/ - a=jsled; b=asynchronous.org; echo [EMAIL PROTECTED] pgpzzAxgYqocn.pgp Description: PGP signature ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel
Symbian
Hello, Have you planned any symbian or mobile version of GnuCash? Thank you, Riccardo ___ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel