Adrrien,

Thanks for the additional input.

> On Aug 14, 2018, at 11:00 PM, Adrien Monteleone 
> <adrien.montele...@lusfiber.net> wrote:
> 
> Are the dirty details really necessary?
> 
> I don’t see that they help the user (who may not be well versed in the 
> issues) to make a decision. I would think simpler in this case would be 
> better. If it is clear that GnuCash does not yet take full advantage of SQL 
> and that specifically, you can’t directly edit the db or have multi-user, I 
> think that gets the point across. Normalization, or the app not adhering to 
> an MVC type pattern aren’t going to be issues I think most people looking at 
> this explanation are going to be immediately concerned about. (and many might 
> not even know what they mean) Stephen’s suggestion seems much less confusing 
> overall.

I will leave the technical details for the wiki. Currently, there is a (rather 
dated) page delineating the XML format; I will create a parallel page for the 
SQL format(s) that can collect many of these pieces of information.


> 
> Really, a simple overview paired with the comparison table would do the trick.
> 
> Additionally, the comparison table might serve better with each SQL backend 
> represented, since that’s the next question for someone contemplating that 
> route. And in that case, sqlite does not necessarily require additional 
> software, or expertise with a DBMS. (it’s included in the default 
> distribution of the software on Mac and Linux, you just have to choose it on 
> save, and you don’t really need to know how it works, unlike the other two.) 
> Finally, perhaps presenting the table as a list of features/factors with 
> check marks or Xs, could be easier to scan and digest.

I’ll look into this modification as well.

> 
> Regards,
> Adrien
> 
>> On Aug 15, 2018, at 12:09 AM, David T. via gnucash-user 
>> <gnucash-user@gnucash.org> wrote:
>> 
>> Stephen,
>> 
>> 
>>> On Aug 14, 2018, at 4:50 PM, Stephen M. Butler <kg...@arrl.net> wrote:
>>> 
>>> On 08/14/2018 04:24 PM, David T. wrote:
>>>> Steve,
>>>> 
>>>> Thanks for your input. I believe we’re in agreement here; I wasn’t trying 
>>>> to suggest that GC become a DBMS, but rather it would learn to utilize 
>>>> DBMS features that many seem to expect.
>>>> 
>>>> I’m not great with the appropriate terminology to use. Do you have 
>>>> language I could use that would more accurately reflect the direction that 
>>>> GC is headed?
>>>> 
>>>> David
>>> 
>>> I hoped as much.  Let's take this pair of sentences:
>>> 
>>> Use of SQL formats for storage implies to many that GnuCash is database 
>>> management software (DBMS). While that is a long term goal of the 
>>> development team, GnuCash as currently designed is not DBMS.
>>> 
>>> And change them to this:
>>> 
>>> Use of a SQL back-end engine for storage implies to many that GnuCash
>>> has fully implemented DBMS features including multi-user and incremental
>>> data manipulation.  That is a long-term goal of the development team. 
>>> However GnuCash does not currently implement these features.
>>> 
>> 
>> This is great; I will use it.
>> 
>>> Then I think this next section can disappear entirely:
>>> 
>>> Many features that users of DBMS expect from a DBMS are not implemented in 
>>> GnuCash. The GnuCash data schema is not normalized. Significant elements of 
>>> the data logic is implemented in code, rather than data structure.
>>> Gnucash uses the SQL back end to load the entire data store into memory in 
>>> the same manner as the XML back end. Consequently, use of the SQL back end 
>>> does not enable simultaneous multi-user access to a GnuCash file, although 
>>> that is one long term goal.
>>> 
>> 
>> I’m not sure I want to remove these comments, as they are issues of 
>> significance that have come up on the lists over the years. How about this:
>> 
>> The GnuCash data schema is not normalized. Moreover, significant elements of 
>> the data logic is implemented in code, rather than data structure. Finally, 
>> Gnucash uses the SQL back end to load the entire data store into memory in 
>> the same manner as the XML back end. Consequently, use of the SQL back end 
>> does not enable simultaneous multi-user access to a GnuCash file.
>> 
>>> 
>>> And I will change this piece:
>>> 
>>> One benefit of the SQL back end is that it saves changes incrementally, and 
>>> every change is committed to the back end as it happens. This is in 
>>> contrast to the XML back end, which only writes to the data file when the 
>>> user invokes the Save command.
>>> 
>>> To say:
>>> One benefit of the SQL back end is that it saves changes to the back end as 
>>> they happen. This is in contrast to the XML back end, which only writes to 
>>> the data file when the user invokes the Save command. 
>> 
>> How about:
>> One benefit of the SQL back end is that it commits changes to the file 
>> immediately. This is in contrast to the XML back end, which only writes to 
>> the data file when the user invokes the Save command.
>> 
>> The final result for this section is this:
>> ———————  
>> Use of a SQL back-end engine for storage implies to many that GnuCash has 
>> fully implemented DBMS features including multi-user and incremental data 
>> manipulation.  That is a long-term goal of the development team. However 
>> GnuCash does not currently implement these features.
>> The GnuCash data schema is not normalized. Moreover, significant elements of 
>> the data logic is implemented in code, rather than data structure. Finally, 
>> Gnucash uses the SQL back end to load the entire data store into memory in 
>> the same manner as the XML back end. Consequently, use of the SQL back end 
>> does not enable simultaneous multi-user access to a GnuCash file.
>> One benefit of the SQL back end is that it commits changes to the file 
>> immediately. This is in contrast to the XML back end, which only writes to 
>> the data file when the user invokes the Save command.
>> ———————
>> 
>> Better?
>> David
>> 
>>> 
>>> 
>>> Hope this helps.
>>> 
>>> --Steve
>>> 
>>>> 
>>>>> On Aug 14, 2018, at 3:50 PM, Stephen M. Butler <kg...@arrl.net> wrote:
>>>>> 
>>>>> On 08/14/2018 03:05 PM, David T. via gnucash-user wrote:
>>>>>> Hello,
>>>>>> 
>>>>>> In response to Bug 777893 
>>>>>> (https://bugs.gnucash.org/show_bug.cgi?id=777893 
>>>>>> <https://bugs.gnucash.org/show_bug.cgi?id=777893>), I have written a 
>>>>>> more detailed description of the storage choices available to users for 
>>>>>> insertion into the Tutorial & Concepts Guide at section 2.5. Given the 
>>>>>> extent of the text, I am including it here so that the broader community 
>>>>>> can offer suggestions for improvement. Note that I will insert 
>>>>>> appropriate encoding once I finalize the content.
>>>>>> 
>>>>>> Thanks,
>>>>>> David T.
>>>>>> 
>>>>>> ————————————————————
>>>>>> Proposed text for Tutorial & Concepts Guide section 2.5
>>>>>> ————————————————————
>>>>>> 
>>>>>> 2.5 Storing your financial data
>>>>>> 2.5.1 Overview
>>>>>> GnuCash offers several formats for storing your financial data. The 
>>>>>> default file storage format is XML, while a number of flavors of SQL 
>>>>>> storage are available. Users can choose a file format from the File Save 
>>>>>> and File Save As dialogs.
>>>>>> The primary GnuCash storage format is an XML file. The file is by 
>>>>>> default compressed with gzip, which is a preference that is set at 
>>>>>> Edit→Preferences→General→Use file compression. 
>>>>>> GnuCash also supports SQL storage via the DBI back end. It supports 
>>>>>> PostgreSQL, MySQL and SQLite3 databases.
>>>>>> 
>>>>>> Storage Comparison
>>>>>> As noted, GnuCash allows storage in either XML or SQL formats. Each of 
>>>>>> these formats has benefits and shortcomings that the user should 
>>>>>> consider for their needs and abilities. 
>>>>>> The XML format is the most stable and established format, and for this 
>>>>>> reason, it is the recommended format for most users. SQL storage was 
>>>>>> added for the 2.4 release and has become an increasingly popular choice 
>>>>>> for users.
>>>>>> Use of SQL formats for storage implies to many that GnuCash is database 
>>>>>> management software (DBMS). While that is a long term goal of the 
>>>>>> development team, GnuCash as currently designed is not DBMS. It is a 
>>>>>> financial application that can store its data in SQL files.
>>>>> I would strongly suggest that GnuCash never (triple underscore) become a
>>>>> DBMS engine.  I would encourage it to be an application that uses a
>>>>> strong DBMS engine (which it already does) as a back-end and that the
>>>>> team would apply data normalization and multi-user techniques to the
>>>>> front-end application.
>>>>> 
>>>>> Note the difference between a front-end application and the back-end
>>>>> DBMS engine.
>>>>> --Steve  (retired Oracle DBA and former application developer)
>>>>>> Many features that users of DBMS expect from a DBMS are not implemented 
>>>>>> in GnuCash. The GnuCash data schema is not normalized. Significant 
>>>>>> elements of the data logic is implemented in code, rather than data 
>>>>>> structure.
>>>>>> Gnucash uses the SQL back end to load the entire data store into memory 
>>>>>> in the same manner as the XML back end. Consequently, use of the SQL 
>>>>>> back end does not enable simultaneous multi-user access to a GnuCash 
>>>>>> file, although that is one long term goal.
>>>>>> One benefit of the SQL back end is that it saves changes incrementally, 
>>>>>> and every change is committed to the back end as it happens. This is in 
>>>>>> contrast to the XML back end, which only writes to the data file when 
>>>>>> the user invokes the Save command. 
>>>>>> The SQL back end does allow users with SQL experience to write queries 
>>>>>> against the data to create custom reports without using Gnucash’s 
>>>>>> internal report system. It is important to note that modification of 
>>>>>> GnuCash data using external access modes is strongly discouraged by the 
>>>>>> development team, and damages to a GnuCash data file that result from 
>>>>>> such modifications are strictly the responsibility of the user.
>>>>>> 
>>>>>> Storage Comparison Table
>>>>>> 
>>>>>> XML                                              SQL
>>>>>> Default                                          Optional
>>>>>> Requires no additional software  Requires additional software
>>>>>> Requires no additional expertise Requires expertise with DBMS 
>>>>>> Compressed                                       Uncompressed
>>>>>> Save on command                          Save on commit
>>>>>> Uses log files                                   Does not use log files
>>>>>> Not multi-user                                   Not multi-user
>>>>>> Limited external processing              External processing through SQL 
>>>>>> queries
>>>>>> 
>>>>>> 
>>>>>> 
>>> 
>>> -- 
>>> Stephen M Butler, PMP, PSM
>>> stephen.m.butle...@gmail.com
>>> kg...@arrl.net
>>> 253-350-0166
>>> -------------------------------------------
>>> GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8
>>> 
>> 
>> _______________________________________________
>> gnucash-user mailing list
>> gnucash-user@gnucash.org
>> To update your subscription preferences or to unsubscribe:
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> If you are using Nabble or Gmane, please see 
>> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.
> 
> 
> _______________________________________________
> gnucash-user mailing list
> gnucash-user@gnucash.org
> To update your subscription preferences or to unsubscribe:
> https://lists.gnucash.org/mailman/listinfo/gnucash-user
> If you are using Nabble or Gmane, please see 
> https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.

_______________________________________________
gnucash-user mailing list
gnucash-user@gnucash.org
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
If you are using Nabble or Gmane, please see 
https://wiki.gnucash.org/wiki/Mailing_Lists for more information.
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to