[GNC] File Format Documentation (Bug 777893)

Derek Atkins derek at ihtfp.com
Wed Aug 15 20:37:52 EDT 2018


I am a developer and Linux user.
I have had to manually install the sqlite dbd.

-derek
Sent using my mobile device. Please excuse any typos.
On August 15, 2018 8:35:35 PM "David T." <sunfish62 at yahoo.com> wrote:

> Can a developer or linux user confirm this for me? I am neither.
>
>> On Aug 15, 2018, at 5:33 PM, Derek Atkins <derek at ihtfp.com> wrote:
>>
>> Depends on the platform.
>> On Linux the sqlite dbd may not come installed.
>>
>> -derek
>> Sent using my mobile device. Please excuse any typos.
>> On August 15, 2018 8:20:03 PM "David T." <sunfish62 at yahoo.com> wrote:
>>
>>> Derek,
>>>
>>> I understand the point, but my intention on this is to indicate that a user 
>>> must separately install libdbi libraries in order to use MySQL and 
>>> PostgreSQL. As I understand it (and from personal experience) I do not have 
>>> to perform any additional driver installations when I choose either XML or 
>>> SQLite. Your note that SQLite is also available in Windows makes it a clean 
>>> sweep for availability by default.
>>>
>>> David
>>>
>>>> On Aug 15, 2018, at 11:27 AM, Derek Atkins <derek at ihtfp.com> wrote:
>>>>
>>>> SQLite uses libdbi, too.
>>>>
>>>> -derek
>>>>
>>>> On Wed, August 15, 2018 1:49 pm, David T. via gnucash-user wrote:
>>>>> Here is a newer version of the table:
>>>>>
>>>>> Storage Comparison Table
>>>>> 	XML	SQLite	MySQL	PostgreSQL
>>>>> Installation	Default	Default	libdbi	libdbi
>>>>> File extension	gnucash	gnucash	N/A	N/A
>>>>> Additional software	None	None	MySQL	PostgreSQL
>>>>> Additional expertise	None	None	DBMS	DBMS
>>>>> Compression	Y	N	N	N
>>>>> Save on command	Y	N	N	N
>>>>> Save on commit	N	Y	Y	Y
>>>>> Uses log files	Y	N	N	N
>>>>> Multi-user	N	N	N	N
>>>>>
>>>>> How does that seem?
>>>>>
>>>>>> On Aug 15, 2018, at 10:34 AM, Adrien Monteleone
>>>>>> <adrien.monteleone at lusfiber.net> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> On Aug 15, 2018, at 12:11 PM, David T. <sunfish62 at yahoo.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> On Aug 15, 2018, at 10:02 AM, Adrien Monteleone
>>>>>>>> <adrien.monteleone at lusfiber.net> wrote:
>>>>>>>>
>>>>>>>> But it’s not a ‘plain file’ as it is XML formatted. Someone expecting
>>>>>>>> plain text and trying to view it is going to be met with tag soup
>>>>>>>> they’ve never seen before and might very well not know how to read it.
>>>>>>>
>>>>>>> Not to mention that it’s compressed.
>>>>>>
>>>>>> True, forgot about that. Certainly, they’ll see gibberish mostly.
>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> It also carries an .xml extension. So specifying the format is very
>>>>>>>> specific and informative, even for users who aren’t familiar with XML.
>>>>>>>> They’ll see in their file manager the extension, and/or the OS’s
>>>>>>>> interpretation of the file type itself. (in this case both XML)
>>>>>>>
>>>>>>> However, the file extension used is “gnucash” and not “xml”
>>>>>>
>>>>>> Facepalm. I forgot about that. (I honestly rarely even look at the
>>>>>> location where it’s stored anyway) I’d suspect unless Win10 uses the
>>>>>> file descriptor for file type instead of the extension as was the
>>>>>> practice through at least Win7, then no, those users won’t see XML
>>>>>> anywhere. (if the descriptor is set as XML that is)
>>>>>>
>>>>>> So I just checked on both MacOS and Ubuntu, MacOS reports the ‘Kind’ as
>>>>>> ‘Gnucash Document’ regardless if sqlite or xml, and at least with xml,
>>>>>> Ubuntu reports the file type as ’spreadsheet’. (yes, it’s registered to
>>>>>> open with GnuCash, but this was built from source, so perhaps the file
>>>>>> type was not registered properly, repo versions may vary)
>>>>>>
>>>>>> So I guess on that point I was way off.
>>>>>>
>>>>>>
>>>>>>> Perhaps the save process needs to be refactored to identify clearly and
>>>>>>> separately the name of the data file AND its format?
>>>>>>
>>>>>> Since .gnucash is not really proprietary or somehow a special format
>>>>>> from XML then I agree, the extension should be .xml.
>>>>>>
>>>>>> Combine this with the fact that the sqlite version of the file ALSO uses
>>>>>> the .gnucash extension can make for some confusion. At a glance, you
>>>>>> can’t tell what the format is. You can’t even tell until you try to open
>>>>>> it with something other than GnuCash. (or you notice that GnuCash
>>>>>> doesn’t offer a Save option) The only reason I know which is which is I
>>>>>> had to use filename.xml.gnucash to tell them apart. That’s a usability
>>>>>> bug in my opinion. I don’t know how hard that is to change, but I’d
>>>>>> support the move.
>>>>>>
>>>>>> On that note, the documentation somewhere (I suppose in the ‘file >
>>>>>> save/save as’ section) should document that the extension is currently
>>>>>> ‘.gnucash’. A new user shouldn’t have to go to a wiki or website FAQ
>>>>>> after reading the documentation for something this basic.
>>>>>>
>>>>>> Would it be out of order to include in your table that both use this
>>>>>> extension? If you expand the table to show MySQL and Postgres, I suppose
>>>>>> that row would have some other note since their data stores are very
>>>>>> different than single files. (though in this case they might store it
>>>>>> that way, I haven’t used either to know)
>>>>>>
>>>>>> Regards,
>>>>>> Adrien
>>>>>>
>>>>>>
>>>>>>>
>>>>>>>>
>>>>>>>> Knowing this might very well help them find their file if they know
>>>>>>>> the format they are looking for.
>>>>>>>>
>>>>>>>> But I do agree, the documentation should cover where files are stored.
>>>>>>>> Ideally, this should be made part of the Help or Guide in the Getting
>>>>>>>> Started section. It is certainly a common enough issue on the list.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Adrien
>>>>>>>>
>>>>>>>>> On Aug 15, 2018, at 10:24 AM, Christoph R
>>>>>>>>> <subscriptions+listen at rohland.net> wrote:
>>>>>>>>>
>>>>>>>>> Hi David,
>>>>>>>>>
>>>>>>>>>> The default file storage format is XML
>>>>>>>>>
>>>>>>>>> I would not call this “XML" but "plain file”. From a user perspective
>>>>>>>>> it is not important in which internal format it is stored. But it
>>>>>>>>> makes a big difference if it is a simple file created by Gnucash or
>>>>>>>>> if Gnucash needs to connect to a DBMS.
>>>>>>>>>
>>>>>>>>> And one of the biggest confusion for users on the mailing list is the
>>>>>>>>> question: “Where is my data?”. Pointing out that all your accounts
>>>>>>>>> and transactions are in a simple file might reduce that problem.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Christoph
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> gnucash-user mailing list
>>>>>> gnucash-user at 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 at 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.
>>>>
>>>>
>>>> --
>>>>      Derek Atkins                 617-623-3745
>>>>      derek at ihtfp.com             www.ihtfp.com
>>>>      Computer and Internet Security Consultant
>>>>
>>
>>
>>





More information about the gnucash-user mailing list