Write Sources Implementation Guide
Create a Source
Users can programmatically create sources that are placed in a collection in their own source box using the source resource of the api or the application can post to Create Source Destination Page.
Assumptions
- The user is signed in and authenticated with FamilySearch through the third-party application.
Programming Steps
- List Sources created by the current user.
- Collect source description information.
- Create the source.
- Save the srcID.
User Interface Suggestions
This example shows how to initiate creation of a source while viewing a list of sources. You could initiate creation of a source while viewing the details of a person. There are many places in your application you could initiate creation of a source.
- Display the list of current sources in the user's source box.
- Show the options to create, edit, attach, detach, and delete sources.
- The user selects the option to create a new source.
- Prompt the user to enter the source title, URL, citation, and notes.
Note: The title is the only required field. - Save the source or cancel.
- Return to the list of sources.
Attach a Source to a Person
A source can be attached to a person in Family Tree. Attaching a source is accomplished by creating a source reference.
Assumptions
- The user is signed in to FamilySearch through the third-party application.
Programming Steps
- Select a source to attach.
- Select a person to attach the source to, and specify which vitals to tag with the source.
- Prompt the user to enter an explanatory note.
- Attach the source to the person.
User Interface Suggestions
Select a source from a list of sources, and click Attach.
The user searches for and selects a person to attach to or enters a Person ID.
The user specifies the conclusions to tag with this source.
- Prompt the user to enter a reason for attaching the source.
- Attach the source and return to the sources list, or cancel and return to the Person selection page.
Edit an Existing Source Starting from a Source List
Sources can be edited.
Assumptions
- The user is signed in to FamilySearch through the third-party application.
Programming Steps
- List Sources, and select a source to edit.
- Display the source information, and allow editing.
- Save edits.
User Interface Suggestions
Select a source from a list of sources, and click Edit.
Display the selected source title, URL, citation, and notes. (Optional) Display the following information if available:
- Contributor's name
- Contribution date
- Reason statement
- List of persons and relationships that the source is attached to.
- Allow the user to modify the source title, URL, citation, and notes.
Note: The title is the only required information. - Prompt the user to enter a reason for the changes.
- Show the prior reason, if available, in the reason entry box
- The label of this entry box should be “Why this edit is correct”
- The user can add to it, write over it or delete it.
- Save or cancel the changes.
- Return to the list of sources.
Detach an Existing Source
Sources can be detached from persons. Detaching a source from a person is to delete a source reference. That is, when you delete a source reference, you are detaching the source from the person.
Assumptions
- The user is signed in to FamilySearch through the third-party application.
Programming Steps
- Read the list of sources the user has created. Display the sources, and prompt the user to select one to detach.
- Read all persons who are attached to the targeted source. Display the persons, and prompt the user to select one to detach from.
- Detach the selected source from the selected person.
User Interface Suggestions
- Display the list of sources that a user has created.
- The user selects the source to be detached.
- The user clicks Detach.
- Display the persons who are attached to the selected source
- The user marks the person to detach from.
- Prompt the user to enter a reason why the source is being detached.
- The user clicks DETACH or CANCEL.
Detach the source, or cancel and return to the list of sources.
Delete an Existing Source
Sources can be deleted by the user who created them.
Assumptions
- The user is signed in to FamilySearch through the third-party application.
Programming Steps
- Read the sources created by the current user.
- Read a selected source, and display the details, including all persons and relationships the source is attached to.
- Delete the source if you are sure it is not relevant to any and all the referenced persons and relationships.
User Interface Suggestions
- Select a source from a list of sources, and click Delete.
- Display the source details.
- Prompt the user to enter a reason why the source is being deleted.
- The user clicks DELETE or CANCEL.
- Display a confirmation page with a list of all persons and relationships attached to the source.
- Require confirmation to delete the source, or cancel.
- Delete the source, or cancel and return to the list of sources.
Side-by-Side Comparison of Sources from Separate Trees
Source information found in two separate databases can be displayed side-by-side for easy comparison. Each side can show source details, and the differences can be visually enhanced. Users can be enabled to add, replace, delete, or detach source data from one database to the other. When updating the FamilySearch database, the contributing source detail must be viewable with the contribution date and the contributor's name. The reason for the change should be entered by the user before finalizing the change. Try to map with as much fidelity as possible from citation to Source fields so the user avoids any duplication of sources and keeps the FamilySearch sources in "sync" with the partner's product. Most important are the Title, URL followed by and Citation and Note.
Assumptions
- The user is logged in and authenticated to both FamilySearch and the third-party application.
Programming Steps
- Read and display the sources from each database side-by-side. Highlight differences.
- Collect instructions from the user.
- Summarize and ask for user confirmation or to cancel.
- Update the data using match SrcIDs. Use FamilySearch APIs to update FamilySearch data.
- Read and display the sources from each database side by side again.
User Interface Suggestions
Update Partner Data from FamilySearch Data
- Display the data from each database side by side or have an icon or button to display the details.
- Using a checkbox or icon, the user selects a FamilySearch source to copy to the local database.
- Display the prior values, contributor, date, and reason.
- The user designates the action to take.
- Display the changes on the partner side.
Update FamilySearch Data from Partner Data
- Display the data from each source side by side or have an icon or button to display the details.
- Using a checkbox or icon, the user selects a local source to copy to FamilySearch.
- Display the application source values.
- Prompt the user to enter a reason for the changes.
- Show the prior reason, if available, in the reason entry box
- The label of this entry box should be “Why this edit is correct”
- The user can add to it, write over it or delete it.
- The user confirms the copy or cancels.
- Display the changes on the FamilySearch side.