Just some ideas...
On Monday 25 June 2007, Alex Roitman wrote:
> As some of you may already know, we have a new Family Tree Manager
> in the unstable tree (trunk). I will refer to it as DBManager for
> The new DBManager hides the details of where and how the data is
> stored from the user. The user can create/delete/rename the
> "family trees", but DBManager only shows the symbolic names of
> the "family trees" and manages the exact data structure on its own.
> This solves at once many problems that we have in 2.2 tree.
> Now, the question remains: are we going to allow the users to open
> XML and GEDCOM files *directly*? By "directly" I mean "without
> setting up a Family tree and then importing XML data into it".
> We have backend allowing gramps to view/edit Gramps XML file
> in place. The question is, how do we enable user to do that?
> The subtlety here is, with the new DbManager we really offer
> one way to open data. Offering an alternative way to open file
> directly will likely be more confusing: one would be able to either
> use dbmanager or open directly, and some users would be lost on
> the distinction.
I haven't tested this functionality, but most other applications
(e.g. OpenOffice) have some native format which they handle directly,
other formats are just imported and exported.
So, maybe there could be following:
- Open works only with the new databases
- Import and export menu entries work with legacy/other formats:
Gramps 1.x XML, Gramps 2.0/2.2 Grdb, Gramps CSV, GEDCOM...
- Show warning dialogs that data might be lost due to minor
incompatibilities (GEDCOM doesn't support all Gramps features and
Gramps doesn't support proprietary/undocumented GEDCOM extensions etc.)
- Asks user whether a new database should be created for the imported
data or whether it should be merged to the current one. This could
actually be a Gramps "What to do on import" setting:
- Create automatically a new database from the imported data.
The new database name could be taken from the imported file name
- Merge automatically to current database
- Ask user what to do
The other applications (OO) also ask when saving the data whether user would
like to do the save to the native format because saving to non-native format
cannot preserve all of the data that may be present.
I don't think Gramps needs to support this for any other format besides XML
(as other formats lose (too much) information). However, as Gramps doesn't
have save as such, I'm not sure how this should be handled:
- Have on XML "import" an additional "keep in this format" option
- Have an additional "import to temporary db" option which will export
the edited data on exit back to the same format and remove the Gramps
- Make Gramps ask with the "to new db" import option on exit whether
the new database data should be exported back to the same format
from which it was imported from
> On the other hand, when I double-click on the Gramps XML file in
> the graphical file manager, I would really expect the file to open.
> I would be annoyed if I am instead presented with the db manager
> and have to set up some family tree, then give it a name, then load it.
All these steps could be automated by Gramps and there could be a Gramp
setting for it, which could be overridden from the command line. Some of
these cli options could be even used when the gramps data types are
> So, here's the actual question: would it be OK to *only* allow
> direct opening of XML and GEDCOM with double-click, drag-n-drop,
> and command line, and not have any "File->Open" ways for this?
> I realize that the issue is subtle and complex. We would like
> to get feedback, but I would strongly advice people to actually
> try the code in trunk before giving their opinion.