[GNC] File Format Documentation (Bug 777893)

David T. sunfish62 at yahoo.com
Wed Aug 15 20:25:51 EDT 2018


As you note, backups are not a germane topic here. I will note that Section 2.6 of the Guide is titled “Backing Up and Recovering Data.” Perhaps that section could include further discourse on data backups.

David

> On Aug 15, 2018, at 3:04 PM, David Carlson <david.carlson.417 at gmail.com> wrote:
> 
> While file backups are not germane to the topic, it might be nice to
> mention them in passing as the users might tailor their procedure to the
> particular data type they choose.
> 
> David C
> 
> On Wed, Aug 15, 2018, 3:46 PM Derek Atkins <derek at ihtfp.com> wrote:
> 
>> I believe SQLite is included on Windows as well.
>> -derek
>> 
>> On Wed, August 15, 2018 4:35 pm, Adrien Monteleone wrote:
>>> Looks pretty clear.
>>> 
>>> Though I’m noticing sqlite does generate log files too. Note, these are
>>> transaction replay logs from what I understand in case of a crash. As I
>>> believe John Ralls noted, any of these past the last successful save are
>>> useless. I’m not sure if this is what you are referring to by ‘Uses log
>>> files.’  I don’t know if sqlite can even utilize them at all. I’ve never
>>> had to try. You might want to get clarification on that point.
>>> 
>>> Also, I’d get clarification about the state of GnuCash sqlite on Windows.
>>> It may or may not be packaged with GnuCash by default and may or may not
>>> need some additional software. (if so, you might need a footnote) On Mac
>> &
>>> Linux, it’s just a file format choice without any other effort.
>>> 
>>> Regards,
>>> Adrien
>>> 
>>>> On Aug 15, 2018, at 12:49 PM, David T. <sunfish62 at yahoo.com> 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
>> 
>> _______________________________________________
>> 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.



More information about the gnucash-user mailing list