> On Mar 23, 2017, at 8:48 AM, Станислав Тактаев <[email protected]> wrote:
> 
> 
>> John, thank you for your answer!
>> 
>> Befor you say me,  I planned to use simple way, to substitute functions, 
>> that read and write data and copy data both locally (for speed) and 
>> distributed by calling blockchain API . What do you think, how big scope of 
>> such work, in programmer-monthes?
>> 
>> What class and methods responding for read/write?
>> 
>> 


Sounds like you want to develop a new backend. Study the existing backends and 
src/libqof/qof/qofbackend.cpp and src/libqof/qof/qofsession.cpp. The doxygen 
comments are presented in a more readable form at 
https://code.gnucash.org/docs/MASTER (the capitalization of MASTER is 
significant!). I can't do a time estimate for you, it depends too much on your 
skill level. I'd expect it would take me on the order of 1-4000 hours, i.e 
between 6 months and two years of full time work.

A couple of notes: We hope to have GnuCash querying using SQL instead of 
QofQuery by the major release after this year's. Under our current release 
policy that would be released at the end of 2021. Your new backend should 
therefore be SQL queryable. Second, your new backend code should be in modern 
(i.e. heavily templated and lightly metaprogrammed) C++. We'll probably use 
C++17 as the baseline for the next dev cycle, so make sure you're working with 
a current distro and compiler suite. GnuCash is a GPL application, so also make 
sure to use only dependencies which are licensed under GPL-compatible licenses.

One more thing: Keep in touch! Don't go off in a corner and emerge a year from 
now with a completed PR hoping that it will fit in. The odds of that working 
out are really slim. Join the community: Discussing your plans, engaging in our 
deliberations about other parts of GnuCash, sharing your work early and often, 
and helping out on other work so that you're part of the team will greatly 
improve the chance of your contributions being acceptable. Reading our wiki, 
starting with https://wiki.gnucash.org/wiki/Development and following all of 
the links there, will also help get you off to  a good start.

Regards,
John Ralls

_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to