[GNC] File Format Documentation (Bug 777893)

Adrien Monteleone adrien.monteleone at lusfiber.net
Wed Aug 15 22:24:39 EDT 2018


As a linux user trying to use the repo version, I’ve never had to separately install sqlite to my recollection. Certainly, it’s part of the preps for building if sqlite support is intended. But even then, I don’t recall separate installation. It was already there when I checked. I can certainly attest that MacOS does not require separate installation of software.

Regards,
Adrien

> On Aug 15, 2018, at 7:37 PM, Derek Atkins <derek at ihtfp.com> wrote:
> 
> 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