Gramps 5.1.6 on Ubuntu 20.04 (hosted by Digital Ocean).
I have Gramps Web running, and I’ve been able to enter some data. I’m learning my way around, and starting to plan my workflow.
I have a Word document with a couple hundred people (name, birthdate, marriages, places) that I would like to enter, and I’m trying to figure out my workflow. From playing around, I can tell that I really don’t want to enter a couple hundred people and families using the web UI. I am very comfortable working with text data (CSV or other formats). I have an extensive background in programming, databases and data modeling, so I am leaning to creating the bulk of data manually, e.g. as a CSV file and importing it. The structuring using identifiers like [I0001] and [F00000] is pretty obvious.
Questions about this approach:
General advice? Is this sane?
Is there any reason to prefer .ged to .csv? The .csv format looks simpler to me.
I’ve only entered information on four people so far. Before importing the entire data set (as .csv or .ged) is there some way to wipe data and start clean? In the worst case, I will just delete the four people (and one family) I’ve created manually. Alternatively, is it okay to import data into a non-empty database?
CSV is a good ‘roughing in’ approach using the Desktop version. Use the Gramps Web Sync to start with a Desktop and Web database in sync.
Then, on Gramps Desktop, begin experimenting with the CSV import. (Make a backup before each import.)
I like using the Gramps 5.2 beta because @SNoiraudadded the option to select the delimiter. (Changing delimiters is a bit of an Easter Egg – the GUI is hidden in the Edit → Configure… of views with tabular data. ) This means that you do not have to Save a spread sheet to a CSV file, then import the CSV file. With a ‘tab’ delimiter instead of ‘comma’ delimiter, you can simply copy the spreadsheet Cells to the OS clipboard and paste them into the Import Text gramplet.
You can create a new tree for experimenting or testing imports. The easiest way to start clean is to delete the tree and create a new one. (Or to be safe, start a new tree first and only delete the old tree when you’re confident that will not be a mistake. Rename the old tree so you do not confuse it with what is current.)
Pardon a newbie question: What do you mean by “Gramps Desktop”? Is that Gramps running locally in Docker?
Fixing data in Excel sounds like a nightmare. I am proficient in Python, and have homegrown tools for operating on CSV and other forms of data. These have proven very effective in a variety of projects.
So what I’d like to do is to treat my CSV files as my primary source that I operate on while cleaning the data. Then periodically, I would wipe the Gramps database and import all the CSVs.
How can I wipe the Gramps database? I would think that there are Postgres tables like Place, Person, Family, etc., and simply writing a psql script to truncate those tables (leaving admin tables in place) would do the trick.
Or perhaps wipe through the API? That seems to be oriented exclusively to working on one object (Person, Family, etc.) at a time. So wiping that way seems like it would be quite slow.
(Just saw your last response)
Wiping the tree sounds like it does what I need. How do I go about doing that? I looked around the web UI and didn’t see anything that looks appropriate. Is a Tree the same thing as a Family Tree? If my CSVs are my primary source of data, deleting a tree is a low-risk operation.
Any pointers to documentation on these basic concepts would be appreciated. I haven’t been able to find such documentation so far.
Gramps Web is a young (July 2021) project created for collaborative work on web servers. Since 2011, Gramps been a single-user database python application which runs on Linux, macOS and Windows desktop/laptop computers. Having to distinguish between the local desktop-based and hosted/online server-based variants of Gramps is a new problem.
This question was submitted in the general “Help” category, not the “Gramps Web” category. So I assumed that you wanted to take advantage of the more mature and feature-complete Desktop version. Then use Gramps Web Sync to push the data up to the Gramps Web instance being hosted on Digital Ocean.
I only mentioned a spreadsheet be cause it is an easy way of manipulating CSV data without hassling with formatting problems: strings that include commas, dates. And to take advantage of tabbing between cells, fill-down, pasting blocks of cells, etc.
This data (4 people: the home person of the example.gramps tree, his spouse and parents) was exported to CSV and imported (as Text fields) into LibreOffice calc. Then pasted here into Discourse. But it would be just as easy to have pasted it into the Text Import gramplet with TSV delimiting.
Well, it is an ignorant question, as the difference between Gramps and Gramps Web is just now becoming apparent. Let me take a look at the desktop version and revise my thoughts about my workflow.
Thanks for your code, that may come in handy.
BTW: I’ve worked with many open source projects over the years, and I have to say that the support I’m finding here is amazing, on a par only with Postgres.