Open main menu

Gramps β

Changes

Addon:Gramps Web Sync

11,049 bytes removed, 08:17, 1 September 2025
See also
{{Third-party pluginaddon}}{{man tipwarn|Not for all versions of Gramps|Released for Gramps 5.1.x ''only''/ 5.2.x and 6.0.x. This documentation is derived from the ''[https://www.grampsweb.org/user-guideadministration/sync/ Synchronize with Gramps]'' section of the '''[https://www.grampsweb.org/user-guide/ Gramps Web User Guide]'''. Their page should be considered the definitive reference.}} [[File:GrampWebSync_Intro51GrampWebSync-tool-addon-Introduction-tab-60.png|thumb|right|350px450px|"Introduction" tab of "Gramps Web Sync" tool]]The {{man label|Gramps Web Sync}} tool is an addon for Gramps that allows you to synchronize a '''Gramps (for desktops)''' database with Family Tree data on a [[Gramps Web|'''Gramps Web''' (for Servers)]], database including media files.
Gramps Web Sync is an addon for Gramps that allows to synchronize your Gramps database on your desktop computer with Gramps Web, including media files.
== Purpose of this tool ==
This tool was specifically written to harmonize the family tree data between a "Gramps Web " instance and a "Gramps Desktop for Desktops" instance.  Make no mistake, maintaining synchronization is '''''hard'''''! And this tool Gramps Web is not magic, it does not make the process simple but it ''is'' easier much younger than the alternatives.<!--{{man note|Important Note|This tool this requires that the Family Tree being merged must be a Gramps Family Tree ''derived from a desktop version'' of the currently loaded Family Tree.}}  A situation occurs occasionally after giving someone a copy of your tree in our native [[Gramps XML]] format. Then each person makes changes to the copy in their possession using Gramps locally. (You can verify the Trees differ and log those revisions with the [[Addon:Database_Differences_Report|Database Differences]] addon report.) Programmers call this a 'fork.' (As in: when travelers come to a 'fork in the road' and each chooses different paths.) But the bottom line is that you now have two tree variants derived from a common Tree and you want share your updated Tree. You can't just give the person a fresh copy of your Tree because then their changes would be overwritten. At some point, you may want to merge the forks into a common tree... without losing the useful changes from either tree. That synchronization is what this tool is designed to facilitate. It depends on the two Trees sharing common internal handles (so not just all the user-editable IDs) to simplify ignoring unchanged records. Then interface for the tool focuses you on just the changesdesired features have been created.
But say the other user doesn't use Gramps{{man note|Make no mistake, so you exported with [[Gramps_and_GEDCOMmaintaining synchronization is {{man menu|GEDCOM]] (or another format) and got it back? Sorry... hard}} !|And this tool wonis not magic, it does not make the process simple but it ''is''t be any easier than a manual merge after a standard import. You'd still need to hand compare every recordthe alternatives.}}
The derived trees need not be limited to those edited by someone else. I often take a copy of my tree on my laptop when traveling ==Gramps Web installation and sometimes I make updates while on the road. But then I may forget to copy it back to my home desktop computer until after I've made more updates. This tool helps to merge these back together.{{man warn|1account setup=Warning: Data Corruption Risk |2=Mass changes mean more potential for mangling the data. Back up your current tree BEFORE using this tool to merge.<br />If something goes wrong, Before you will have a way to go back and can start over. See [[How to make a backupuse the {{man label|make a Gramps XML backup]].Web Sync}}-->==Installation==The tool addon it requires a working Gramps Web installation has been setup and also requires a Gramps Web account with owner privileges, Gramps 5.1 running on Python 3.7 or newer.
The {{man label|Gramps Web Sync}} tool addon can be installed like any other version 5.1 Addon tooladdon; see {{man label|[[Third-party_Addons#Installing_Addons_in_Gramps|Installing Addons in Gramps]]}}. Specifically, the [https://github.com/gramps-project/addons/blob/master/gramps51/download/GrampsWebSync.addon.tgz GrampsWebSync.addon.tgz] archive download is available for [[{{man version}}_Addons#Manually_installed_Addons|manual installation]] or via the [[{{man version}}_Addons#Installing_Addons_in_Gramps|'''Third party addons management''']] section of the {{man menu|Edit &#x27a1; Preferences}} of the Gramps Desktop.
There is are no installation (or user interface options) on the Gramps Web side because it the {{man label|Gramps Web Sync}} tool communicates directly with that the Gramps Web webservice's native restful API.
==Usage==
Once installed, it is run You access the tool by using the menu {{man menu|Tools -> Family Tree Processing -> Gramps Web Sync...}}. 
=== Running Gramps Web Sync ===
[[File:UndoHistoryWarning-Tool-dialog-5052.png|thumb|right|350px|Batch Tool warning]] <!-- https://gramps.discourse.group/t/only-some-tools-warn/4324 -->The tool will start with an 'Undo history warning' that suggest that you back up your work. You are then presented with the import file dialog, which shows '.gramps' files from your import location. <!-- When you have selected a file to import, the main tool window comes up and some progress meters pop up indicating the import and comparison process. When this is complete you end up with a three part window. The bottom part provides control and 'Action' buttons and a hint that changes depending on what you are doing. ==== Control buttons ==== {{man buttonlabel|Help}} brings up this wiki. [[Gramps_{{man button|Edit importversion}} allows editing of the selected item. Any changes are temporarily saved in your imported data, and will be kept only if that data is merged into your current tree. If your editing creates new items, they will appear in the top pane list when you finish editing. Changes here cause the 'Action' to be cleared, so be sure to choose an Action when finished. {{man button_Wiki_Manual_-_Error_and_Warning_Reference#Undo_history_warning|UnmarkUndo history warning]]}} clears any current Action. If an item remains unmarked when you are done, it will be treated as if 'Ignored', that is, there will be no changes to your tree for that item. {{man button|Ignore}} sets the action for the item so that there will be no changes to your tree for that item. This is the same as leaving the item unmarked, but makes it clear ' dialog that suggest you have looked at that item. {{man button|DoneStop}} tells the tool that you are finished marking the various actions. The tool will bring up a confirmation dialog, allowing you to save and backup your work, cancel and return to marking, or abandon it. The remaining buttons are considered 'Actions' and depend on the Status of the item. {{man button|Add}} appears for items with an 'Added' status. When added, the imported data will be added to your current tree. then select {{man button|Delete}} appears for items with a 'Missing' status. When selected, the data in your tree for this item will be deleted. {{man button|Replace}} appears for items with a 'Different' status. When replaced, the imported data for the item will completely replace the same data in your current tree. {{man button|Merge Original}} appears for items with a 'Different' status. When selected, the imported data for the item will be merged with the original tree and the IDs of the original item are retained. The portions of the data that cannot be merged will remain as it is in your current tree data. {{man button|Merge Import}} appears for items with a 'Different' status. When selected, the imported data for the item will be merged with the original tree and the IDs of the imported item are used. The portions of the data that cannot be merged will be replaced by the import data. When you select an 'Action' with one of the buttons, a hint will appear that states the action in more detail. You can change the 'Action' at any time on any item, it may be instructive to see the results of choosing the various choices in the lower pane. In general I recommend that you start marking your items Proceed with the 'Different' items first. Within these, doing '''Families''' and '''Persons''' first will usually minimize the amount of work to merge your tree. This tool starts up with the sort set to put these items first, so starting at the top is easy=== Automatic Mark === This tool includes the ability to automatically mark those items that are 'referred to' by the item you are currently marking. For Example, if you {{man button|Add}} a person, the events, notes, media, citations and families that the person refers to will also be added. The same process is applied for each of the various 'Action' buttons. The marks that are automatically generated are shown in the top pane action column with a '*' preceding the action. Occasionally you may mark items that create a conflict in the automatic marking. For example you {{man button|Add-}} a person that refers to a media, and then later {{man button|Ignore}} a person that also refers to the same media. In this case, the media item will be marked with a '?' and the action that tends to conserve more data will be used. This means that Adds have priority over Ignore, Ignore over Delete etc.  You should review any items marked this way to make sure that you agree with the program. Note that families and persons in particular usually have a lot of references to other families or persons. In fact if your imported file contains a whole new branch of your family tree, selecting any one of the people or families in that branch will automatically mark all the new people and families at once. This is usually desirable, but not always. ==== Automatic mark with Families Introduction tab====This [[File:GrampWebSync-tool is not ideal for selecting only parts of a tree for merging, but it can be done-addon-Introduction-tab-60. If you wish to include a person, but not his family (spouse and children) then you can uncheck the {{man labelpng|Automark Families}} checkbox. This applies to all persons found via the Automark as well. The effect is that you can get ancestors (if {{man labelthumb|Automark Parent Families}} is checked) included but not all the descendants of those ancestors. If you wish to get a set of spouses and descendants included when adding a person but not all the ancestors of the spouses, then you can uncheck the {{man labelright|Automark Parent Families}} checkbox and leave the {{man label450px|Automark Families}} unchecked.If you don't want any family or parent families automatically included, leave both {{man label|Automark Parent Families}} and {{man label|Automark Families}} unchecked. === Finishing up ===When you have marked up as many items as you want and reviewed the automatic marks to make sure they are what you desire, you can press the {{man button|Done}} button. The tool will bring up a confirmation dialog, allowing you to save your work, cancel and return to marking, or abandon it. If you abandon, your markings are lost and no changes are made to your current tree. If you decide to save your work, the tool will perform a series "Introduction" tab of checks as it saves your work. These checks make sure that any conflicts that may have been created will not result in errors in your database. For example, if you selected a person to add, but decided to ignore a note attached to that person, the "Gramps Web Sync" tool will 'clean up' the reference to the note on the person before saving it.]]
== FAQ ==;Why would I want to use the {{man button|Edit import}} button?: If you had an item You are then presented with a difference, where both the current tree and ''Synchronization Assistant''s dialogs first '''Introduction''' tab that details the imported tree made changes. Because processes stages of some limitations of Gramps and this tool, you cannot choose between current and imported for every detail within an object. For these details, you can only choose to keep your current data with {{man button|Ignore}} or {{man button|Merge Original}}Synchronization, or use the imported data with select {{man button|ReplaceNext}} or {{man button|Merge Import}}. In either case some changes will be lost. For example, if you have edited a Person and added a Nickname, and the imported tree had edited the same person to add a LDS Ordinance, you can only keep the information for one side. In this case you might want to edit the imported person to change it to add the Nickname so that data will not be lostcontinue.
;Why does the import file have to be derived from the same original source?: If it is not, then the matching process will not find any items that are the same or even different. Every item in the import file will end up showing as 'Added', and every item in the current tree will show as 'Missing'. You can use this tool to add in part or all of the imported data, but it is not ideal for this purpose. You would be better importing the data into a new tree, using all the Gramps views and filters to find what you do or don't want, make any deletions or edits and export to a new XML before importing that into your tree the usual way.{{-}}
;When would it make sense to use 'Merge Original' vs 'Merge Imported'?====Login tab====[[File: The difference between 'Merge Original' or 'Merge Imported' is which GrampWebSync-tool-addon-Login-tab-60.png|thumb|right|450px|"Login" tab of "Gramps IDs are kept as the final object. If you would like to keep your starting family tree the way you have set it up, use Merge Original. If you think that the imported tree is better, has better IDs etc, then use the Merge Imported.Web Sync" tool addon]]
;Why canOn the '''Login't you use a GEDCOM file as the import source?: One of the things that make this tool work is that every 'object' in the Gramps database has a unique ID called a handle (this is different than the ID shown in the GUI for each object). The tool can compare objects with matching handles relatively easily, much more easily than guessing if John Smith in tab provide your tree is the one from 1722, 1854, or 2012. : At this time Gramps GEDCOM import and export has no way Web credentials to save these handles to make this sort of matching possible. A few of the other family tree tools can import and export the so called '_UID' GEDCOM tag (which is not standardized) which might be usable used for this, but most tools will simply discard them or modify them the Synchronization then select {{man button|Next}} to be unusable. Even if these were available and not lost in translation, Gramps data model does not always match with GEDCOM data model. So a GEDCOM export/import, even without any changes made by the user, would have a lot of differencescontinue.
-->
== Notes ==<!{{--If you are not sure exactly what an imported tree contains, you should use Gramps to examine it before using this tool. Import the tree into a new family tree, and look it over with the various charts (I like the relationship chart myself) to see if there are branches that you don't want. It is frequently easier to use Gramps filters or editing tools to remove items than to use the tool to exclude them, although the tool will suffice for simpler cases. Even then you should take notes on the IDs of people or families that you don't want, to make it easier to find them with this tool.}}
This {{man warn|Beyond this it is a new tool and fairly complexrecommended to see the current instructions|'''[https://www. Please report any issues or desired enhancements to paulr2787 at gmailgrampsweb.com I have included a French translation of org/user-guide/sync/ Synchronize with Gramps]''' page from the tool, mostly as a test of the internationalization code. Since I don't speak French (USA Texas version of English only), please excuse my French''Gramps Web User Guide''' for further information.-->}}
==See also==
* Category search for [https://gramps.discourse.group/search?expanded=true&q=sync%20%20%23gramps-web sync]
* [https://gramps.discourse.group/c/gramps-web/28 Category]
* [[Addon:Gramps_Web|Gramps Web]]
<!--
* [[Addon:Database_Differences_Report|Database Differences Report]] - allows a mostly complete comparison between the currently opened database (Family Tree) and a Gramps XML file.
-->
 
[[Category:Addons]]
[[Category:Plugins]]
3,146
edits