This is just curiosity more than anything, but does anybody here know how the infrastructure in RM works to support FSFT? I can’t find any tables that support FSFT, for example, but I’m probably just missing them. For example, how does RM know who in your RM database has been matched against somebody in FSFT and who has not? Is the required data maybe stored on your account at FSFT itself rather than in your RM database?
The LinkTable appears to be key to the linkage between RootsMagic and FamilySearch Family Tree. There is one record for each person matched.
CREATE TABLE LinkTable (LinkID INTEGER PRIMARY KEY, extSystem INTEGER, LinkType INTEGER, rmID INTEGER, extID TEXT, Modified INTEGER, extVersion TEXT, extDate FLOAT, STATUS INTEGER, Note BLOB ); CREATE INDEX idxLinkExtId ON LinkTable (extID);
This is based on a very limited test with a small set of persons.
|Field Name||Type||Key||Typical Values||Notes|
|LinkID||I||PRIMARY||1,2,3,…||TBA, not obviously linked to any other table despite sharing name with AddressLinkTable|
|extSystem||I||1||1 probably indicates FamilySearch Family Tree; other values may be available for other external systems.|
|LinkType||I||0||0 probably indicates a person|
|rmID||I||1,2,3…||(probably, If LinkType = 0, Then) rmID = PersonID or RIN in RM|
|extID||T||Text code||(probably, If extSystem = 1 AND maybe LinkType=0, Then) extID = FSFT ID, e.g. “9WMY-1KJ”|
|Modified||I||0,1||Appears to be 0=False, 1=True or the complement but unclear what triggers it|
|extVersion||T||hexadecimal string len=40||Changes with changes to the data shared with the FSFT person; thus likely a key component to the comparison and detection of differences over time.|