Language other than English #languages #reports #french

Background

RootsMagic Inc promised non-English language versions would be forthcoming when RootsMagic 4 was released in 2008. RootsMagic 4 was built on a database that supports Unicode and data can be stored in most languages. RoostMagic would seek volunteers to help translate the user interface and report strings into their languages. Nothing has ever come of that promise and users continue to seek ways in which they may be able to, at least, produce reports that are in another language.

An Attempt

This page provides the means to change what you can in RootsMagic 7 into another language and demonstrates its limitations. French is the example used because the author knows it a little bit.

Ind_Summ_Delilah_Woods-_Franglais.png
Individual Summary report with French fact names. However, highlighted words are hard-coded and cannot be changed.

The Individual Summary Report has the fewest elements that are hard-coded in English, of any of the popular text reports. The Narrative reports have the most. The page above has highlighted examples of the hard-coded English text which the user cannot change.

The report does show French fact names (maybe not the best translations but that is beside the point). The RootsMagic user interface in Lists > Fact Type List, allows the user to change the fact names and abbreviations for user-added fact types but not for the built-in fact types. However, it is possible to change the built-in fact types through SQLite as described below.

One could open the database with a SQLite manager and edit the FactTypeTable fields Name and Abbrev directly for all having a FactTypeID under 1000 – these are the built-in ones. Everyone above 999 is custom and can be edited through RootsMagic.

I took a different approach. I opened the FactTypeTable and copied from it to Excel, keeping just the columns FactTypeID (the key), Name and Abbrev. I added columns for the translated Names and Abbrevs and for formulas to create SQLite statements. I copied the Name column into Google Translate and its output into the translated Name column. Likewise for the Abbrevs. In Excel, I revised the translations as some were clearly wrong or poor (and maybe some still are). The spreadsheet could be used for any language.

Then I developed a SQLite script in Excel that I could copy out to the SQLite manager. The script creates a table with the English and translated fact type names and abbreviations and revises RootsMagic’s FactTypeTable accordingly. It does not touch the fact sentences which remain in English but that is something the user can do through RootsMagic.

Downloads

FrenchFactTypes.xlsx Edit this spreadsheet to create the following script for another language.
Facts-TranslateNames.sql Run this script as-is to convert your built-in fact types to French.

Export to a French (or other) Database

Because RootsMagic does not produce a complete non-English report even with the above translations, the only other option is to export the subjects of the desired report to another software that does. Below is an example of a report from Family Tree Builder 8.0, a free software from MyHeritage.com that can work in 40 or more languages. This is the first page of a Descendant report; it has no equivalent to the RootsMagic Individual Summary. While it is a major improvement linguistically, there are flaws due to the GEDCOM translations by both programs. And FTB outputs footnotes in its French report as blanks, not even the English originals; perhaps a bug in this new version that has undergone a major rewrite from version 7 as RootsMagic did between 3 and 4.

RM_GEDCOM_imported_to_FTB-_Desc_Report_French.png
Sample report from Family Tree Builder 8.0 from data imported from a GEDCOM exported by RootsMagic 7.

Group – Population statistic #namedgroup

rev 2023-02-20 added version for #RM8

Groups_Population.png
As executed and displayed in SQLiteSpy.

This small query returns a list of named groups with the total number of people in each group.

It also includes the GroupID number which may be useful for inspecting the GroupTable.

It creates a temporary View which is dropped when the SQLite manager closes the database.

It requires the RMNOCASE collation.

It is very fast. On a database of some 1200 people and 40 named groups, it takes around 8 milliseconds to the results in the screenshot. On a database of 160,000 and 3 groups, just 1/3 second.

Download

GroupsPopulation.sql for pre-RM8 versions

FTM to RootsMagic Migration #ftm2014 #gedcom

This page provides some guidance to émigrés from Family Tree Maker to most completely and successful migrate their data to RootsMagic. It includes some operations in FTM itself in preparation for exporting data, the export itself, operations on the GEDCOM file before importing into RM, and then operations in RootsMagic and with SQLite that complete the process. What is provided here is from the perspective of a light user of FTM who primarily was interested in its ability to batch download citation images along with the Ancestry Family Tree, acting as an intermediary between Ancestry.com and my RootsMagic database. The platforms on which this page is based are Family Tree Maker 2014 for Windows and RootsMagic 7.0.9.0 for Windows.

Cleanup in Family Tree Maker

Don’t rush to export your database without considering whether there are things you should do to clean it up first, because:
a) You want as complete an export as possible (not everything makes it to GEDCOM)
b) You want the export to be as compatible as it can be with RootsMagic (if RootsMagic does not recognize something in the GEDCOM file, it is not going anywhere)
c) There may be some normalisation of your data and styles more easily done in Family Tree Maker.

One reference offering guidance on cleanup is Ben Sayer’s blog article, Replacing Family Tree Maker, Part 1: How to Scrub Your Data, but I would offer a caution: his approach is to achieve highest compliance with the GEDCOM 5.5.1 draft specification, according to his interpretation. While RootsMagic supports the same specification, that does not mean that it has been interpreted consistently with his. There may be differences that warrant different cleanup operations or, in some cases, inaction. It also is based on Family Tree Maker 3 for the MacIntosh computer, not Family Tree Maker 2014 for Windows which is the basis for this page. I recommend that you read through each Part and comments to Part 3 as there are things he discovered with the import of his ‘spec-compliant GEDCOM’ that counter some of what he recommended in prior Parts, e.g., he advises against converting EVEN tags to FACT tags as he had recommended in Part 2.

Exporting from Family Tree Maker 2014

FTMExport_Dialog.png
FTM2014 Export setting

The common recommendation has been to export to GEDCOM 5.5, Destination: Other. However, that GEDCOM omits some things, notably Media Description, that are included if you change the Destination to Family Tree Maker 2012. Use the UTF-8 Character Set for support of most alphabets.

Edit the GEDCOM for better compatibility

Ben Sayer’s page Replacing Family Tree Maker, Part 2: How to Get Your Tree out of FTM provides useful guidance on tools and procedures for editing the GEDCOM file exported from FTM. However, there are changes he advocates for compliance with GEDCOM 5.5.1 that may be unnecessary or inappropriate for an import to RootsMagic 7.0.9.0. Read Part 3 before you undertake any of the revisions he recommends in Part 2. This is a work-in-progress that will expand with experience.

Import into RootsMagic

Ben’s page

Post-import Operations

Events with no Media attached #events #media

I am wanting a list of events that have no media attached. I am looking specifically for Residence/Census events that don’t have the Census Media attached. I may use this for birth certificates, death certificates, headstones, etc. Do you have a query for this? I have looked for one but it didn’t seem to be what I was looking for. I want the ownerid, given name, surname, the fact type, thee date, the details.


You could start from scratch or adapt from several scripts already developed. Here’s an example that starts with the Wayfinder Views in Search -wayfinding from data tables to RM screens. Download and execute the script RM7_5_WaymarksViews.sql from that page. We’ll use the EventWay view as a start as it takes care of looking up the name and RIN of the person or the couple if a family-type event.
Events-sans_media.png
Events-sans_media_(res&census).sql

Tom


As promised, here is my overly grandiose script to find missing stuff in my database, mostly missing sources and media. It’s fine tuned for my personal research needs, but it may provide some ideas.

Jerry
missing_stuff.sql

Color Code by Consanguinity Degree #colorcoding #relationships

I only recently recognised that the values that RootsMagic puts into the Relate1 and Relate2 fields of the PersonTable when the Set Relationships function is applied are more useful than merely codifying the relationship (e.g., see Relationships). Apart from special cases for Self and in-laws, the sum of the two values corresponds to the degree of consanguinity (see this Wikipedia article). For example, the degree of separation in consanguinity is the same from you to your g-g-grandparents (4) as it is to your 1st cousins and your great-aunts and -uncles and your grand-nephews and -nieces. It strikes me that the consanguinity degree might be an interesting, if not useful, basis for color coding. Indeed, it is so easily implemented, I wonder why it is not an option for the Color Code People tool or that consanguinity is not a criterion for finding people and creating groups.

Color_Code-by_Consanguinity_Pedigree.png
Example of color coding by consanguinity degree. Note that each generation of grandparents gets a different color, a difficult task in RootsMagic.

There are 14 color codes plus black in RootsMagic 7 thus supporting consanguinity degrees out to your 12th great grandparents and other relatives of equal degree. They are set in the Color field of PersonTable and range from 0 (black) to 14 (gray). It is a trivial script to assign the consanguinity degree directly to these color codes:

UPDATE PersonTable SET Color = MIN(Relate1 + Relate2, 14);

The MIN() function forces the highest available color code for all degrees beyond 14, which includes Self and In-Laws. These could be excluded by adding a constraint:

UPDATE PersonTable SET Color = MIN(Relate1 + Relate2, 14)
WHERE Relate1 < 999;

I have uploaded three scripts that assign the colors differently:

ColorCode-byConsanguinity1.sql Consanguinity degree mapped directly to RootsMagic color code values.
ColorCode-byConsanguinity2.sql Consanguinity degree mapped via lookup table to RootsMagic color code values so that the closest are brightest and farthest are darkest.
ColorCode-byConsanguinity3.sql Consanguinity degree mapped via lookup table to RootsMagic color code values so that the closest are darkest and farthest are brightest.

ColorCode-byConsanguinityColorTable2.PNG
Consanguinity color coding by script#.

I used a spreadsheet to sort the colors by brightness and hue and to generate the SQL INSERT statements that create the table to map the consanguinity degrees to color codes for versions 2 and 3.
Color_Code-by_Consanguinity_Color_Table.png
ColorCodeDistances.xlsx You could adapt this spreadsheet to color code consanguinity as you see fit and edit a script accordingly with the revised set of SQL statements.

Ancestry TreeShare – Impact #ancestrycom #TreeShare

Disconnect but preserve Ancestry Sources links for next Upload

Subsequent to this script being published 2017-07-21, RootsMagic 7.5 was updated so that its File Option > TreeShare > Disconnect from Ancestry Tree behaves the same way or similarly in that the links with Ancestry Sources are not deleted. RootsMagic 7 Update History is silent on when that happened.  The text below has been edited accordingly.

SUPERSEDED: TreeShare-DisconnectButNotCitations.sql 2017-07-21 rev to correctly handle erroneous connection to multiple Ancestry Trees.
This is an intriguing discovery that means one could make many changes on the RM side of TreeShare, disconnect with this script instead of TreeShare’s Disconnect, and then upload to a new tree. It has the labour saving effect that batch updating of changes would have, if it were available. TreeShare’s Disconnect no longer causes all linked sources seen on the AMT as “Ancestry Sources” to be converted to “Other Sources” in the next upload and hints are generated all over again for “Ancestry Sources”. This script’s partial disconnect precludes that from happening. So both one-by-one acceptance of changes and one by one clearing of redundant hints are avoided. The downside is that one should thus work on only one end at a time followed by the up or download. And media migration will be repeated over and over at the expense of network bandwidth quota, computer time and storage space. If the only media is that of “Ancestry Sources” on the AMT, then there is an option in TreeShare upload to exclude the media thus saving bandwidth in one direction.

LinkAncestryTable #RM7.5 renamed AncestryTable #RM8

While the RootsMagic 6 database structure has been preserved with the introduction of Ancestry TreeShare in RootsMagic 7.5, an Ancestry specific table has been added:

CREATE TABLE LinkAncestryTable (LinkID INTEGER PRIMARY KEY, extSystem INTEGER, LinkType INTEGER, rmID INTEGER, extID TEXT, Modified INTEGER, extVersion TEXT, extDate FLOAT, STATUS INTEGER, Note BLOB );
 
CREATE INDEX idxLinkAncestryExtId ON LinkAncestryTable (extID);
 
CREATE INDEX idxLinkAncestryRmId ON LinkAncestryTable (rmID);

For any modification made directly through SQLite to a database connected to an Ancestry Tree, TreeShare will not report that there has been a change unless the Modified field of the record in LinkAncestryTable corresponding to the modified person, event, citation, … has been set. Thanks to member alerum68 for flagging this issue.

Structure

LinkAncestryTable structure appears to be identical to that of LinkTable used with FamilySearchFamilyTree. While LinkTable anticipated connections with other online tree servers, RM Inc possibly chose to add a dedicated table for AMT TreeShare to simplify development and debugging or to allow interchange of RM 7.5 database files with prior versions down to RM6.

Field Usage

One download of an AFT indicates the usage of these key fields:
LinkType: 0 = PersonTable; 4 = CitationTable; 11 = MultiMediaTable
rmID: the record number or rowid of the linked table
extID: Ancestry’s key for access to its record used by RM according to LinkType…

IF LinkType = 0 THEN extID contains what I think is the unique key for the Ancestry Family Tree and Person and extVersion contains the Ancestry Universally Unique ID for the linked person in that tree
IF LinkType = 4 THEN extID contains the unique key to access the Ancestry source database record for the linked citation.
If LinkType = 11 THEN extID contains the unique key to access the Ancestry image file and MultiMediaTable.MediaFile = extID.extension (the media filename)

There may be more LinkTypes to be identified as this was a tree developed solely on Ancestry.

Temporary ADP File During TreeShare Download

I caught this because of an error message during a TreeShare download that could not complete. A temporary file of the name databasefilename.ADP was visible. While a binary file, some of the content is readable with a hex editor and contains a mix of SQLite statements and data about some people. Also while Windows associated the extension with Microsoft Access, it clearly has nothing to do with that program. Perhaps ADP stands for Ancestry Data|Download Procedure|Process|Progress. The ADP file is deleted on completion of the TreeShare download.

Transfer via Drag and Drop and Export

A drag’n’drop from a TreeShare database to a new database surprisingly preserved the Ancestry WebHints. The new database’s LinkAncestryTable was populated with LinkType=0 records for the persons transferred. The extID value was carried over but the extVersion value was blank. The extID value is also exported to the custom GEDCOM tag _AMTID which suggests that RM’s drag’n’drop transfer continues to rely solely on GEDCOM export/import in the background.

TreeShare connected to the same Ancestry Member Tree as the original (that, too, was a surprise) and executed a Compare Databases and reported no close matches nor any matches through the “Show All” link. However, the name list showed that the transferred people were paired with an AMT person; selecting them showed the green match for all facts but all citations were unmatched (pink). That follows from there having been no transfer of LinkAncestryTable records for any LinkType other than 0.

Citations for the Ancestry Name were now seen in the RM Person field whereas they disappeared from TreeShare on the downloaded database. It appears that the drag’n’drop moves these hidden citations from being Name citations to Person citations (see Citations Invisible Revealed for background).

LinkAncestryTable.extVersion field

Copying the extVersion value from the source database to the destination database had no apparent effect on the latter’s TreeShare results. It did not result in a reported match and had no effect on the sidelist icons – the RM icon remained pale green tree on gray background.

LinkAncestryTable.Modified field

Copying the Modified value from the source database to the destination database had no effect on the reported number of changes (0) but did invert and saturate the colours of the RM icon in the sidelist to white tree on darker green background.

From 2 TreeShare databases to 1

A drag’ndrop from a second TreeShare database connected to a different Ancestry Member Tree than the target database does not carry over any data from the source database LinkAncestryTable. Thus the Ancestry WebHints from the second database are unavailable to the target. The transferred persons are unmatched people that have to be manually Linked or Added to the Ancestry Tree to which the target database is connected. A fresh set of Ancestry Hints for these added people will eventually generate on the AMT and become available to the target database but will ignore any prior Accepts and Rejects in the source database. The ostensibly identical person is now in two different Ancestry Trees, effectively two unique persons in the Ancestry database.

Separate drag’n’drops of multiple sets of people from the same TreeShare database to a second database that has not had any such transfers from a different TreeShare database nor has been TreeShared with an Ancestry Family Tree other than the one connected to the source database do retain their links to the AMT people so their WebHints are immediately available.

Rename Downloaded Media Files

Because LinkAncestryTable contains the Ancestry key for its media file, one can rename a downloaded file from AncestryMediaKey.ext to something more meaningful without apparently affecting anything, provided that the MultiMediaTable itself has the new filename. The MultiMediaTable.filepath can also be changed if the file is moved without effect on TreeShare. This might suggest the possibility of some procedure renaming and reorganizing media files that have been downloaded through a TreeShare Tree download. See TreeShare – Rename Cryptic Filenames for Media

New Source Templates #RM7.5 #RM8

Two new Source Templates have been added in the RM7.5 update, for a total of 415 built-in templates (unchanged as of RM7.9.310):

  1. TemplateID 438: Ancestry Member Tree
  2. TemplateID 439: Ancestry Record

I’m not sure that the template for Ancestry Member Tree is complete because it lacks sentence templates for the Short Footnote and Bibliography. If it is used in a TreeShare download and if a user wishes to use the Short Footnote option or include cited Trees in the Bibliography of a report, they will not be included. The template cannot be edited so there is no user fix; a future RootsMagic update would be needed.

The template for Ancestry Record was used by all citations in a TreeShare download of an Ancestry Member Tree. It is identical to the Book, Basic format source template except it omits the [SubTitle] field. Thus it is very compatible with GEDCOM with a 1:1 relationship between its fields and the available standard GEDCOM fields. However, RootsMagic exports sources to just two standard GEDCOM fields, TITL and PAGE so there is potential distortion of footnotes when exported to other systems. A source downloaded through TreeShare, stored through the Ancestry Record template, and transferred to FamilySearch Family Tree will become a Free Form source when brought from FSFT into another RM database or back to the same database.

Script Revision

Because the only obvious database changes are the additions of the LinkAncestryTable and two more built-in source templates, prior scripts should function as they did before the update. However, those that modify or add records will not cause TreeShare to flag that a person’s RootsMagic records have changed. Differences between RM and the connected AMT are detected but there is no easy way to find them. It is desirable to set up SQLite triggers that detect a change to a table record and set the Modified flag for a person accordingly. Further investigation and development is needed.

The first script to be updated for RM 7.5 is to help a SQLite user see what the new table LinkAncestryTable relates to, just as it did for LinkTable used in conjunction with FamilySearch Family Tree. This revised Waymarks script is described on the page: Search – wayfinding from data tables to RM screens . RM7_5_WaymarksViews.sql

Correction of the Flawed Ancestry Record Source Template #RM7.5 #RM8

This template was added in RM7.5 to handle sources downloaded through TreeShare from Ancestry. Problems with the way it renders Footnotes and Bibliography for most of these sources were reported in the RootsMagic Forums discussion Plz correct configuration of Ancestry Record source template (lost or deleted before May 2019). It works fine for a conventional human name in the Author field but not for a blank name, a one-word name such as Ancestry.com nor an institutional name such as “The Church of Jesus Christ of Latter Day Saints”. There are unwanted commas or laughable reversed names.

Here’s a possible workaround using a SQLite query to modify the built-in Ancestry Record template. Yes, they can be edited through SQLite but the customisation is lost in a RootsMagic transfer.

Original sentences:
Tree_Share-_Ancestry_Record_Template_Original.png

Revised sentences:
Tree_Share-_Ancestry_Record_Template_Modified.png
SQLite statement:

UPDATE SourceTemplateTable
SET Footnote =      '<i>[Title]</i> (<[PubPlace]|N.p.>: <[Publisher]|n.p.>, <[PubDate]|n.d.>)<, [Page]>.'
   ,ShortFootnote = '<i>[Title:Abbrev]</i><, [Page]>.'
   ,Bibliography =  '<i>[Title]</i>. <[PubPlace]|N.p.>: <[Publisher]|n.p.>, <[PubDate]|n.d.>.'
WHERE TemplateID = 439 -- Ancestry Record template
;

I eliminated the [Author] field completely to avoid the problem of parsing it correctly or the extraneous comma in its absence. I don’t know if this will work okay for all possible sources that Ancestry may deliver through TreeShare with this template. If you want to keep {Author] at risk of the “Saints, …” issue, then:

UPDATE SourceTemplateTable -- keeps [Author] but clears extraneous comma
SET Footnote      = '<[Author], ><i>[Title]</i> (<[PubPlace]|N.p.>: <[Publisher]|n.p.>, <[PubDate]|n.d.>)<, [Page]>.'
   ,ShortFootnote = '<[Author:Surname], |[Author], ><i>[Title:Abbrev]</i><, [Page]>.'
   ,Bibliography  = '<?[Author:Surname]|[Author:Reverse]. |[Author]. ><i>[Title]</i>. <[PubPlace]|N.p.>: <[Publisher]|n.p.>, <[PubDate]|n.d.>.'
WHERE TemplateID = 439 -- Ancestry Record template
;

Discussions & comments from Wikispaces site


ve3meo

LinkAncestryTable

ve3meo
29 June 2017 16:51:50

LinkAncestryTable structure appears to be an extension of that of LinkTable used with FamilySearchFamilyTree. While LinkTable anticipated connections with other online tree servers, RM Inc possibly chose to add a dedicated table for AFT TreeShare to simplify development and debugging or to allow interchange of RM 7.5 database files with prior versions down to RM6.

One download of an AFT indicates the usage of these key fields:
LinkType: 0 = PersonTable; 4 = CitationTable; 11 = MultiMediaTable
rmID: the record number or rowid of the linked table
extID: Ancestry’s key for access to its record used by RM according to LinkType.
IF LinkType = 0 THEN extID contains what I think is the unique key for the Ancestry Family Tree and extVersion contains the Ancestry Universally Unique ID for the linked person in that tree
IF LinkType = 4 THEN extID contains the unique key to access the Ancestry source database record for the linked citation.
If LinkType = 11 THEN MultiMediaTable.MediaFile = extID.extension (the media filename)

There may be more LinkTypes to be identified as this was a tree developed solely on Ancestry.

Tom ve3meo


thejerrybryan

Problems with Extremely Basic Queries

thejerrybryan
08 July 2017 18:55:17

I have run into error messages with very basic queries that shouldn’t have anything to do with RM 7.5, e.g. SELECT S.* FROM SourceTable AS S; The error messages do not seem to prevent the query from completing successfully. If the error messages persist and I cannot figure out what the problem is, I will post more details. I’m aware that you don’t even need a query so basic because you can get the same info by double clicking a table name. But I usually follow up such a query with another one with a WHERE clause or some such.

Jerry


thejerrybryan

thejerrybryan
09 July 2017 13:12:01

This appears to be solved. I ran all the database tools, and the problem went away – even though “Test database integrity” showed no problems before running the other tools. So whatever the problem was, it surely was not a 7.5 problem. I’m just super-sensitive to such things because 7.5 added a table.

List of Pages imported from Wikispaces Site

  1. Home
  2. A Migration Test Page
  3. A Proposal for a Named Group and Color Manager
  4. A Query for a To Do List in a Grid Format
  5. A Sample Query Created with Views
  6. Adding Virtual Columns to an RM4 Table
  7. Addresses – How Used
  8. Ahnentafel 64 generations
  9. All Citations & Dupes Count – Query
  10. All Citations – Query
  11. AllCitations.sql Error
  12. Alternate Names List
  13. An Example of Using SQLite Views
  14. Ancestors Named Group
  15. Ancestors Query
  16. Ancestors Query – Recursive
  17. Ancestry TreeShare – Impact
  18. Ancestry.com and RootsMagic 5
  19. Ancestry.com Sync
  20. Another version of a Set Living query
  21. Backup Media with Database – 7Zip
  22. Backup Media with Database – RAR
  23. Birth Year Mis-Match
  24. Births – Add from Christening or Baptism
  25. Births – Share with Parents
  26. Births of children as facts
  27. Bundled Utilities – Example content
  28. Bundled Utilities – Groupings
  29. Bundled Utilities – RMtrix
  30. Bundled Utilities Project
  31. Bundled Utilities Project Name
  32. Census Needed – Named Group
  33. Check RootsMagic Database Integrity
  34. Check RootsMagic Database Integrity on Opening
  35. Children – Needing Manual Arranging
  36. Children – Set Lineage to Birth
  37. Children – Set Order by Birth SortDate
  38. Citations – Delete Duplicates
  39. Citations Invisible – Reveal and Revert
  40. Citations Invisible Revealed
  41. Color Code by Consanguinity Degree
  42. Comparing Two RM Databases
  43. Complete List of Pages on this Site
  44. ConfigTable RecID 1
  45. Convert Database to NOCASE
  46. Copy Fact to Group
  47. COPY FamilySearchID to REFN fact
  48. Copy RIN to REFN
  49. Corrupt Database Recovery
  50. County Check
  51. Data Definitions
  52. Database – Copy Master Lists to Shell
  53. Database Design Spreadsheets
  54. Database is locked
  55. Database Properties List – Query
  56. Database System Catalog
  57. Date Decoder
  58. Date Formats
  59. Date Last Edited
  60. Dates – Same Day Sort Order
  61. Dates – SortDate Algorithm
  62. Death Year Mismatch
  63. Delete Many
  64. Delete Phantom Citations – Query
  65. Delete Phantoms
  66. Depopulate but keep Customs, Places, Sources
  67. DNA Test results list
  68. Download wPDF300A.DLL
  69. Duplicate Name Search – query
  70. Duplicate Search Merge Database
  71. Earlier Queries by Date
  72. Event – Add Marriage to Couples Without
  73. Events – Add to all Children a Parent event shared with parents
  74. Events – Merge
  75. Events – Move Description to Note
  76. Events – Move Short Note to Description
  77. Events with no Media attached
  78. Exporting Data
  79. Fact Inclusion Controls
  80. Fact Type – Convert Census to yyyy Census and back
  81. Fact Types
  82. Facts – Add custom MRIN event to each family
  83. Facts – Change Fact Type
  84. Facts – Reference Numbers for person, spouse and parents.
  85. Facts – Sort Order Problems
  86. Facts – Split Shared to Individual
  87. Facts Having Place Details – Query
  88. File Question
  89. File Types
  90. Four Little Queries
  91. FTM import – restore Event description from Place Details
  92. FTM to RootsMagic Migration
  93. Future of SQLite Tools for RootsMagic wiki
  94. Future of SQLite Tools for RootsMagic wiki 2016-17
  95. GEDCOM & DnD Event Description Length Anomalies & Bugs
  96. GEDCOM & DnD transfer losses
  97. Gedcom Help
  98. Genealogy Software Comparison
  99. Geo-Lifelines Query
  100. Group – Ancestors
  101. Group – Descendants
  102. Group – Persons with Duplicate Events
  103. Group – Persons with Text Dates
  104. Group – Population statistic
  105. Group – Unconnected Persons
  106. Groups – Extract most everything for one to a new database
  107. How to Query RootsMagic
  108. Identifying Events with Individual Sentence Template Customization
  109. Language other than English
  110. LifeLines
  111. Living Flag – Set Globally
  112. MapEvents-KML query
  113. Maps – Geo-Pedigree, plotting your ancestors’ birth places
  114. Maps – markers proportional to number of events
  115. Marriages, Length of
  116. Media – Bulk Rename and Relink
  117. Media – Delete Unused
  118. Media – Preserve Captions et al from RM4 to RM5
  119. Media – Set Primary Photo for Persons
  120. Media Comparison & Attach Utility
  121. Media List Query
  122. Media Metadata, Read, Write, Compare with Picasa
  123. Media Repair Queries
  124. Media Type Reset
  125. Media Users List Query
  126. MediaTags – Copy Shared Facts Media To Sharee Personal
  127. MediaTags – Delete Personal Having Fact Duplicates
  128. Merge Duplicate Single Parent Couples
  129. Migrating from Wikispaces
  130. Missing Media
  131. MS Access Engine
  132. MS Access Engine – Event Query
  133. MS Access Engine – EXCEL Pivot Tables
  134. MS Access Engine – The BLOB Fields
  135. MS Access Engine – Using EXCEL
  136. MS Access, SQLite, and Don Quixote
  137. Multiple Spouses query
  138. Name Find query
  139. Named Group – Mark or Unmark List refresh
  140. Named Group Refresh
  141. Names – Add Married
  142. Names – Delete Duplicate Alternate Names of Type ‘Married’
  143. Names – Edit NameTable with SQLite Expert
  144. Names – married name in death sentences
  145. Names – Move Prefix to empty Suffix
  146. Nickname Manipulations
  147. Notes Invisible Revealed
  148. Open Office
  149. Paragraphing
  150. People View Error – at most 64 tables in a Join
  151. People Who Share a Fact with a Principal List – Query
  152. People Who Share A Fact with a Principal, But Who Are Not in a Tree in The File List – Query
  153. Phantom Spouses – Unnamed and childless
  154. Place Details without a Place
  155. Place Errors
  156. Place Names – parse and recombine
  157. Places – Conversion of Place Details to Places
  158. Places – Count People and Events for a Group
  159. Places – Delete Unused
  160. Places – first name exploit for improved narratives
  161. Places – Frequency of Use
  162. Places – Recombine Fractures from FTM 2012
  163. Places to Place Details Conversion
  164. Places without Geo-codes for Named Groups
  165. Possible Orphaned Records in the Event Table
  166. Privatize Living
  167. Problem Adding Entries to MediaLinkTable
  168. Problem Query Example
  169. Pulling Together All the Events for An Individual
  170. Query – All Names in Tree
  171. Query for Sources Without Media
  172. Query is taking a very, very long time
  173. Query Menu
  174. Query to Add Parents Events to RM Database
  175. Question with respect to Changing a Master Source to a Different Source Template
  176. Questions about RM4 Tables
  177. Quick Start for Dummies
  178. Rebuild Indexes and Update Birth and Death Years
  179. Rebuttal by Jeff La Marca
  180. Recursive Queries – Ancestors and Descendants
  181. Relationships
  182. REMATCH to FamilySearch ID in REFN fact
  183. Removing media from one person
  184. Reporting Missing Census Information
  185. ReportNon_proven
  186. Reports – Concordances for Indexes
  187. Reports – New Paragraph for General Note
  188. Reports – Point Form Narratives Setup
  189. Reports, Narrative, Jerry Bryan Trick
  190. RIN MRIN – add Reference Number fact to all persons
  191. RM Database Design
  192. RM Infrastructure to support FSFT
  193. RM4 To Do List
  194. RM5 Database System Catalog
  195. RM5 Table Summaries
  196. RM5 Version Monitoring
  197. RM6 Database System Catalog
  198. RM6 Version Monitoring
  199. RMGC Tables Row Count
  200. RMGC_Properties – Query
  201. RMNOCASE – faking it in SQLite Expert, command-line shell et al
  202. RMNOCASE – faking it in SQLiteSpy
  203. RMNOCASE – Nunicode Extension
  204. RMpi GEDCOM Pre-Import Tweaker for RootsMagic
  205. Role Types
  206. Roles-Sort Alphabetically
  207. RootsMagic 7
  208. Scope of Names in Queries and Sub-queries
  209. Scrapbook Files Status
  210. Search & Replace
  211. Search – Find Almost Everywhere
  212. Search – wayfinding from data tables to RootsMagic screens
  213. Set Living Flag
  214. Sharable Events – Find and Convert to Shared
  215. Shared Events – Sort Witnesses by Consanguinity plus Name
  216. Shared Events With Missing Witnesses
  217. Site Page Popularity
  218. Source Citation Sort
  219. Source Detail View (Parsing XML)
  220. Source List Query
  221. Source Template List – Query
  222. Source Template, A Better Free Form
  223. Source Templates
  224. Source Templates – Convert Builtins to Editable, Split, Import
  225. Source Templates – Field Count
  226. Source Templates – Merge Duplicates
  227. Source Templates – Revision Utilities
  228. Source Templates – Set Quotation Punctuation to ‘UK’ or ‘Logical’ Placement
  229. Source Templates – Versatile Free Form Hybrids
  230. Source Templates by Origin
  231. Sources – Adventures in Extreme Splitting
  232. Sources – Copy Repository Name, Address from Repository List
  233. Sources – Merge Duplicate Masters
  234. Sources – Unreverse Author Names
  235. SplitTree
  236. Spouse Order – Global Sort by Marriage or First-Birth SortDate
  237. SpouseID Invalid
  238. SQLite Expert Personal Edition Version 5.2.2.240 (x64) problem
  239. SQLite Managers for Mac OS
  240. SQLite Queries
  241. SQLite Question – SELECT WHERE IN
  242. SQLiteManagers
  243. Statistics
  244. Submit Your Problem
  245. Table Summaries
  246. TestPaste
  247. Thanks for your help!
  248. TMG to RootsMagic Migration
  249. TMG-RM Check for False Spousal Event Sentences
  250. TMG-RM Convert TMG_ID to Record Number
  251. TMG-RM Convert TMG_ID to Reference Number
  252. TMG-RM Fact Sentence Tweaks
  253. TMG-RootsMagic Sentence Variables & Format Codes
  254. TMG-RootsMagic Split Citation Details
  255. To-Do List – filter by locale
  256. Tools – Problem Search – Spouse Order Questioned
  257. TreeShare – Link Pasted Ancestry Sources
  258. TreeShare – Rename Cryptic Filenames for Citation Media
  259. Update Media Paths
  260. Utilities by R. Steven Turley
  261. Version Monitoring
  262. WebTags – Consolidate
  263. WebTags – convert to Notes et al
  264. WebTags – from Ancestry.com and FTM
  265. WebTrees Website – Pre-Processing Tools using SQLite in Visual Basic et al
  266. Where is the data stashed
  267. Where is this data?
  268. Which Platform for RootsMagic Utilities?
  269. Wish List

Check RootsMagic Database Integrity on Opening #pragma #database #integrity #batch

Here are some tricks using a shortcut and a Windows command file (.bat file for old DOS programmers) in conjunction with the command line version of SQLite3. The shortcut, which you can place in your Start menu, on your desktop or wherever it is convenient, calls the batch file and passes the path and name of the RootsMagic database file you want to work on. The batch file calls SQLite3 to open the database file and run the quick integrity check on it. The results are displayed in the command window, SQLite exits and closes the file, and the batch program awaits a keypress so that the user can view the results. On keypress, the batch program calls RootsMagic to start and open the database file.
CheckIntegrityOnOpening.png

The batch or cmd file can be placed anywhere that you think is appropriate as you will point the shortcut to it. You will need to edit the batch file to change the path to sqlite3.exe to wherever you install it.

Download the command line version of sqlite3 from here – look for the ZIP file below the heading Precompiled Binaries For Windows, about 2/3 of the way down the page, beside the line A command-line program for accessing and modifying SQLite databases. As of writing, the version is 3.6.23. Extract the file sqlite3.exe to the folder of your choice and copy its path to replace that in the batch file Any family tree.bat listed under its download link below (.bak extension added due some systems’ security).
Any-family-tree.bat

Any-family-tree.bat.bak

ECHO OFF
REM Any family tree.bat
REM by Tom Holden 2010-05-28
REM Calls sqlite3 to open the RootsMagc database file path and name passed as a parameter
REM  and do the quick integrity check on it.
REM  Waits for user to view result until a key is pressed.
REM  Then launches RootsMagic to open the database.
REM
ECHO ************************************************
ECHO CHECKING INTEGRITY of RootsMagic SQLite database
ECHO %1
ECHO ----------------
"D:Program FilesSQLitesqlite-3_6_22sqlite3.exe" %1 "PRAGMA quick_check;"
ECHO ************************************************
ECHO When ready to open this file in RootsMagic,
PAUSE
"C:Program FilesRootsMagic 4RootsMagic.exe" %1

The shortcut, in this example named Some family tree as seen on the title of the cmd window , has the following properties:

  • Target = “D:MyDocsFamilyTreeHolden-Cudworth_Wilson-WasonAny family tree.bat” “D:MyDocsFamilyTreeRM4EmilEmptyDatabase.rmgc”
  • Start in = leave empty
  • Shortcut key = None (or change it to what you want)
  • Run = Normal window

You will have to set the Target to point to the full paths to “Any family tree.bat” and to your database file. The use of quotation marks is essential if there is a space character in the pathname.

To create a shortcut to the batch file, right-click on it in Windows Explorer and select the corresponding menu item. Then right-click on the shortcut file just created to edit its properties. Then drag and drop it to wherever you want. You can make shortcuts for multiple databases, one per database, the only difference being the pathname for each database file and a unique name for each shortcut if they are altogether in one folder.

In my case, I have named a shortcut to my main database My family tree and placed it in the Windows Start Menu:
CheckIntegrityOnOpeningShortcutStartMenu.png

One of the neat byproducts of starting RootsMagic this way is that one can use relative paths in its Tools > Program Options > Folders settings:
FolderOptionsRelativePaths.png
Provided the folders exist as sub-folders of the one containing the opened database, RM4 will use them. If they do not exist it will default to My Documents folder. Of course, you may want to have some of these folders the same, regardless of where the database file is located; you would enter the conventional, full, absolute path for each of those.

Check RootsMagic Database Integrity Why? How? (if you didn’t get here from there, it’s worth a reading)

Discussions & comments from Wikispaces site


Geraniums

RM 5 questions

Geraniums
10 March 2012 18:40:46

How do I use this query with RootsMagic 5?

If I already have SQLite installed, do I have to get the sqlite-shell-win32-x86-3071000.zip from
http://sqlite.org/download.html ?

Is the following another way to check the database in RM5?

You wrote, “Running a full GEDCOM export of everyone in the database is a more relevant test for corruption. If it does not complete, the database is certainly corrupted.”

That was at this forum discussion: http://forums.rootsmagic.com/index.php?showtopic=8541

Wow, that was 2 years ago and still there’s no RM database integrity check built into the program!


Geraniums

Geraniums
10 March 2012 18:51:14

I just remembered that doing the gedcom test would require that you first go to Lists > Fact Types and change every fact type to “Yes” in the GEDCOM section. That’s a lot of work! But I guess it’s less work than trying to fix a broken database.

GEDCOM & DnD Event Description Length Anomalies & Bugs #gedcom #events

This page complements the thread in the RootsMagic Forums titled GEDCOM & DnD Event Description Length Anomalies & Bugs. (2024-01-04 URL updated to The Wayback Machine)
It reports issues that arise when the values entered in the Description fields are too long. On this page are links to the backup file of the test database and to the GEDCOM file it exported plus SQLite scripts with which a new test database can be created.

AllFacts-2014-08-22.rmgb A backup of the test database file. Persons 1 & 2 are the original persons; RINs 3 & 4 are after the originals were dragged’n’dropped to another database and back again, which database did not have all fact types set with Descriptions enabled so there is some loss; RINs 5 & 6 were a second bounce off the other database with all fact Descriptions enabled.

AllFactsWidthTest.ged GEDCOM export of the original persons (RINs 1 & 2) from the test database from which RootsMagic imported only the persons, no events. Event/Attribution descriptions all exported with full 256 character value. even though GEDCOM prohibits some and constrains all others to lengths such as 248, 90, 30, 2.

AllFactsWidthTestGenerate.sql SQLite script to run against a test database comprising one couple having RINs 1 and 2. Generates a script to be copied into the editor of the SQLite manager and run against the same database. SQLiteSpy recommended. Cannot seem to get a text copy of the generated script from SQLite Expert Personal.

AllFactsWidthTestParameters.sql Two SQLite queries: one enables Descriptions for all Fact Type; the other assigns values to all other fields of the events in case <null> values themselves are having an adverse effect (none noted with the original persons’ events).

Migrating from Wikispaces

You are probably aware that Wikispaces has announced a phased shutdown of its services with that for SQLite Tools for RootsMagic terminating on 30th Sep 2018. After much gnashing of teeth, I have started investigating alternatives to which the wiki might migrate. I would welcome your help in the process, especially if you are knowledgeable in this area, to arrive at a decision. And if it ends up as a page by page manual copy and paste to the new system, then volunteers to do so for batches of our 277 pages would be a huge help. Let me know if you can help.
There seem to be many possibilities with different strengths and weaknesses and ranging in cost from free to formidable. The biggest hurdle is the completeness and fidelity of the transferred content. I started a forum for Wikispaces Organizers to pool their ideas and experience at https://wikispaces-refugees.groups.io and have been dabbling with Groups.io as a possible host for our wiki at https://groups.io/g/SQLite4RootsMagic. Both are public so you can lurk at will and can subscribe to participate.
We have six months left before the lights are turned off! Use the Discussion area below to advance your ideas, offers of help,…
Tom
P.S. I added A Migration Test Page late on May 21 to test subsequent exports and imports.P.P.S. Here are export files on Google Drive for those with site development skills to play with. (HTML, DokuWiki, MediaWiki, PDF)

Discussions & comments from Wikispaces site


Brian_Neale

Migrating from Wikispaces

Brian_Neale
19 March 2018 19:47:09

Tom
Thanks for the note on progress, I have little knowledge that would be helpful.

I can report that the NMUG (Norwich Mac User Group) went to Groups.io some 6 months ago, and everything is fine so far. I am in the UK.

Brian


alerum68

alerum68
21 March 2018 03:45:55

I’ve been reviewing the options, and I think the two best options would be WordPress wikiWP, or to host and create a custom made wiki using MediaWiki. Google Sites, PBWIki, group.Io, and EditMe all have major drawbacks. Google doesn’t allow direct import of html with its new format. Group.io isn’t will suited for the needs of the wiki. PBWIki and EditMe would have much higher support cost.

I am more partial to a cheap or free web server with apache, php, and mysql support. With a self created MediaWiki site, you will only have to recreate the site once, and will never be dependant on having to migrate to a proprietary format like now.

I see this as less work than the WordPress migration, and again frees the site to move as need and retain format.


Ed2017

Migrating from Wikispaces

Ed2017
22 March 2018 14:47:29

Tom
I migrated from TMG to RM7 and I am still cleaning up data that did not transfer correctly. Looking at Wikispaces generated pages there are many proprietary functions and the code is very specific and not relative. Every link points to a fully resolved URL and would need to be changed many times for each page that you have. Also there are many resources that are part of wikispaces that would need to be recreated for use once wikispaces goes away. I can give more specific examples if needed. It looks like you would need a large manual effort to recreate what you have already created. (I tried copying two pages to see what the effort would be to convert to relative addressing and it would be as time consuming as the manual effort)

If you define the functions that you need they would be:

Create an account for a user with login and logout features similar to what you have.

Provide for user input for their suggestions on SQL for Rootsmagic.
Have an easily navigable structure similar to wikispaces.

Migratable code in case your next effort results in the same problem as wikispaces
Provide for rock solid solutions that a user cannot edit. A user would submit, possibly visible to the public, and the suggestion or code would be verified by you or a support group and when it is ok, moved to the general layout of your site.

I have copied/stolen/appropriated some of the content from your site to preserve it for my own use should something happen to your migration plans. I have created a spreadsheet of your database structure and a graphic of the database of my own showing how the tables all relate and which fields that are used to link the tables together. This is not complete yet. I was able to generate very simple code to display the spreadsheet and the spreadsheet itself was created using Excel and saved as an html file. This simple code could be transferred intact to many many hosting sites as it is just plain vanilla code therefore protecting your next effort from changes like what you are seeing now.
I have had some programming experience so I would opt for something like this:

A webpage(s) that would be static and be only updateable by a select few. A hosting site that could be as cheap as $4 per month. No logon or databases required as it would be viewable by anyone.

I would probably create a facebook page that would allow for public input and comments and discussion and posting here would be caveat emptor and your group would move the suggestions/code from the facebook pages into your static site.
The facebook page and the static website could be linked together so it presents a single consistent interface.

Just my 2c on this issue, with no in-depth experience on any of the other solutions mentioned, but then I don’t always chose the easiest options.


alerum68

Migration Attempt

alerum68
23 March 2018 01:36:07

I’ve tried a migration to mediawiki, and I agree with Ed that it’s gong to be more time consuming and prone to errors to migrate as opposed to recreating the site from scratch. I took five pages and tried the migration, and recreating the pages from scratch, using copy and paste directly to the wiki site on the usb stick. It was quicker and cleaner then trying to find and fix broken links.

I like to concept of a wiki much more then a static web page, but feel keeping the site in a format that that isn’t priority is important as well. MediaWiki is the best solution if you want to maintain a wiki. Next best option would be a static webpage with a separate forum. I think this would require more work in the long term to maintain than the wiki. Either option will require php, sql, and apache on the server to operate fully.

What is the size of the whole wiki now Tom? If it’s small, I remember there were a few free servers they had these built in.


ve3meo

ve3meo
23 March 2018 02:53:28

Was “priority” autocorrect for a mis-typed “proprietary”? Yes, in response to both yours and Ed’s points, I am concerned about the transferability of content. Wikispaces, to its credit, is pretty good about it. If you are following my Wikispaces Refugees group at https://wikispaces-refugees.groups.io/g/main, you will see the export options listed.

MediaWiki is one of the formats and I could send you the 70 MB ZIP file (PM me with coords). One of the alternative sites suggested by Wikispaces is Referata.com which uses MediaWiki but I discovered it wants the page in XML format, not any of the formats exported by Wikispaces.


alerum68

XML files needed

alerum68
23 March 2018 22:19:25

Tom, I need access to the pure XML dump… Can you give me access or post it on google drive?


ve3meo

ve3meo
24 March 2018 03:25:30

There is no dump in which the pages are exported in XML. I think all of the exports except PDF include a XML file of page Discussions and Comments.


ve3meo

Comparative Trials

ve3meo
11 April 2018 19:16:54

Thanks to cooperating providers, I have multiple trials going for migrations of this site. I hope to get around to making some comparisons and observations but you can look at them yourself and make your own. They are all listed in the Wikispaces-Refugees Databases table “Wikispaces Migration Examples” at https://wikispaces-refugees.groups.io/g/main/table?id=4607&q=%22sqlite+tools%22


ve3meo

ve3meo
08 July 2018 03:24:27

Trials hosted by EditMe and CiviHosting have ended – they both gave me more than 30 days but would not do so until September. I am occasionally futzing around with free hosting for HTML, DokuWiki and WordPress. Page Comments and Discussions are still the biggest hurdle but there are numerous other issues; the former may simply have to be copied into their page. EditMe did the most complete and easiest import but their hosting fee structure is too limiting and costly. Groups.io is still so Yahoo Groups import focussed and email reflector oriented that I cannot see it working except either with an external host for images and other files or as a discussion group loosely linked to the main website. I’m not satisfied by anything yet so, ultimately, the best of poor alternatives will be what I go with. Basic HTML for a non-discussion website is easiest… WordPress is prettiest…