Sharing gnucash account files between users

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Sharing gnucash account files between users

Ronan KERYELL
I'm thinking about sharing some account files for some research projects
between several users with a version control system such as subversion.

Since gnucash files are in XML, I expect it can be possible with some
careful merges in the case of conflicting writes (well, if we ask
"uncompress mode" in the prefs :-) ).

Does it make sense?

Are there some subtle invariants we should ensure?

I've encountered this one:
<gnc:count-data cd:type="account">114</gnc:count-data>
<gnc:count-data cd:type="transaction">315</gnc:count-data>
that seems easy to manage.

Can I expect the unique-ID-like such as
       <split:id type="guid">d460704ada6fbde0e08c7a7cd71a608f</split:id>
everywhere are sensibly random and are not, for example, a function of the old
file state, in which case 2 futures of the same file would pick the same
unique ID and we would always need to deal with non unique ID...
--
  Ronan KERYELL               |\/  Tel:    (+33|0) 2.29.00.14.15
  Département Informatique    |/)  Fax:    (+33|0) 2.29.00.12.82
  ENST Bretagne, CS 83818     K    GSM:    (+33|0) 6.13.14.37.66
  F-29238 PLOUZANÉ CEDEX      |\   E-mail: [hidden email]
  FRANCE                      | \  http://enstb.org/~keryell
                                   callto:ils.seconix.com/[hidden email]

_______________________________________________
gnucash-user mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.
Reply | Threaded
Open this post in threaded view
|

Re: Sharing gnucash account files between users

Derek Atkins
The recommended way to share a data file across multuple users is to
have a shared network file system.  The data file must be shared
serially.  You don't want to use a subversion-style system because
you'll likely have merge issues.  GnuCash does not necessarily
re-create the same file every time it saves your data.  The order of
the objects can many times swap around, even if you didn't change any
data.  This means that the subversion merge could potentially
duplicate data as things move around a lot.

No, your best bet (and a SUPPORTED method) is to use an NFS server
and have all your users point gnucash at the same network share.
The limitation is that only one user can access the data file at
a time.  But we DO support this sharing model.

-derek

Ronan KERYELL <[hidden email]> writes:

> I'm thinking about sharing some account files for some research projects
> between several users with a version control system such as subversion.
>
> Since gnucash files are in XML, I expect it can be possible with some
> careful merges in the case of conflicting writes (well, if we ask
> "uncompress mode" in the prefs :-) ).
>
> Does it make sense?
>
> Are there some subtle invariants we should ensure?
>
> I've encountered this one:
> <gnc:count-data cd:type="account">114</gnc:count-data>
> <gnc:count-data cd:type="transaction">315</gnc:count-data>
> that seems easy to manage.
>
> Can I expect the unique-ID-like such as
>        <split:id type="guid">d460704ada6fbde0e08c7a7cd71a608f</split:id>
> everywhere are sensibly random and are not, for example, a function of the old
> file state, in which case 2 futures of the same file would pick the same
> unique ID and we would always need to deal with non unique ID...

--
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       [hidden email]                        PGP key available
_______________________________________________
gnucash-user mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.
Reply | Threaded
Open this post in threaded view
|

Re: Sharing gnucash account files between users

Josh Sled
In reply to this post by Ronan KERYELL
On Tue, 2006-08-29 at 15:25 +0200, Ronan KERYELL wrote:
> Since gnucash files are in XML, I expect it can be possible with some
> careful merges in the case of conflicting writes (well, if we ask
> "uncompress mode" in the prefs :-) ).
>
> Does it make sense?

Merging XML diffs sounds horrible, to me, but if it's what you want to
do...

While the major sections of the file (accounts, transactions, &c.) are
going to be stable, I'm not sure if there's stability in the ordering of
any collections on file write.  So there might be spurious diffs because
of this.


> Can I expect the unique-ID-like such as
>        <split:id type="guid">d460704ada6fbde0e08c7a7cd71a608f</split:id>
> everywhere are sensibly random and are not, for example, a function of the old
> file state, in which case 2 futures of the same file would pick the same
> unique ID and we would always need to deal with non unique ID...

They're sensibly random, IIRC from a forward-chaining MD5 of system
randomness derived at application-instance startup.

--
...jsled
http://asynchronous.org/ - `a=jsled; b=asynchronous.org; echo ${a}@${b}`

_______________________________________________
gnucash-user mailing list
[hidden email]
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

signature.asc (196 bytes) Download Attachment