Hello,
I need to import CSVs and assign the uuid generated by a different software used for mass data collection.
This seems like a simple issue, but I cannot find any relevant information online.
Example of the ID format I need to use : uuid:be4212ad-e2a4-4742-ace2-d98a8d580714
Is this problem resolved by going: Preferences/ID formats, and manually changing the expected format there?
What is the column name I should supply for gramps to correctly read the supplied ID?
My workflow before importing to gramps:
ODK-X : for census data collection, produces csv or sqlite database,
R Studio : for tidying and manipulating data gathered, export as Gramps tailored CSV
I wonder if the Isotammi āSuper Toolā might not be the appropriate add-on for this?
Kari sent me some of its example scripts for experimentation & building non-developer documentation just today.
My objective was similarā¦ I wanted to export a ālocal Placesā dictionary that could be used by a variety people & tools. (Iām sharing work with the county historical society.) So that People & Events would have a common frame of reference when Researchers bring their data together. The Isotammi group was working on another aspect of the merging complexity: recognizing & merging duplicate people & families.
Perhaps you could define a Custom Attribute for storing those unique IDs? You could use the Super Tool to generate expanded CSVs that include the Attribute.
Iāve tried a couple approaches for storing IDs. For WikiTree, FamilySearch, lineage societies, etc.; I created each organization as a Source. The identifier is a citation where the the Page is that organizationās internal ID & the citation is a freshness date: when their data was polled.
For other broader IDs (ISBN, LCCN, Social Security Number, etc.), I create a named Attribute and the āValueā is set to the ID.
Note that each Gramps object has an Internal Handle. It is NOT normally accessible via the user interface.
Thank you, Super Tool looks incredible for all sorts of things.
I was hoping there would be an easier solution for what seemed to be a simple issue!
Also thank you for the explanations on your process, I have found them very useful.
I though I should add more info on what my requirements are:
I want to use the IDs supplied by the imported CSVs as if they are gramps IDs.
This is so I can pull in the family and marriage edgelists which use these same IDs as pointers to the person nodes.
I am trialing this to see if it feasible to use for a study involving between 400-500 individuals, so automation of the process is paramount.
Looking at on the bugtracker I can only see one feature request from 2016 for uuidās( Universally unique identifierās) to be used instead of gramps hashes.
When UIDs are imported via GEDCOM (_UID tag), they are currently converted to attributes. The attribute is identified with the ā_UIDā type, and the string is in the value.
Accordingly, I would put the UID field in attributes, as this will be a bit better supported in the future.
Now as to CSV; our current CSV importer doesnāt have any way to do what you want. It would not be too difficult to hack up the importer to add a UID column to Persons and Families. But you would need a good general understanding of programming, or Python programming in particular to get this done.
You can use the ID field, if you donāt care about future compatibility with our UID plans. In this case donāt worry about the Preferences, just put the UID you want into the right column of the CSV grampsID, and it will get used. It might not display very well, the field is generally expected to be less than 10 characters when doing reports etc.