Source Templates by Origin #sourcetemplates

Results of the query shown below for a database from RM v8.1.8.0 and available in this Google Sheets: SourceTemplatesByCategory (updated 2022-04-28 for RM8).

CategoryNameInRM4?
[AQS inside left]Article, online (unsigned)Y
[AQS, inside left]Article, online archive (print publication)Y
[AQS, Front]Basic Ancestry Database TemplateY
[AQS, Front]Basic Ancestry Images TemplateY
[AQS inside left]Book, database extractions (online)Y
[AQS inside left]Census, U.S. Federal, 1890 Substitute (online)Y
[AQS inside left]Directories (City or County) (databases, online)Y
[AQS inside left]Directories (City or County) (images, online)Y
[AQS inside right]Family Trees, DocumentedY
[AQS inside right]Family Trees, UndocumentedY
[AQS inside right]Immigration-Emigration Rolls, DatabasesY
[AQS inside right]Immigration-Emigration Rolls, ImagesY
[AQS, back cover]Newspaper, ImagesY
[AQS back cover]PERSI DatabaseY
[based on EE, sec 7.32, p 346-7]New FamilySearch, online databaseY
[CYS, p 59-63]Census Record (U.S.)Y
[CYS, p 71-73]Church RecordsY
[CYS, p 68]Civil Vital RecordsY
[CYS, p 69-71]Courthouse RecordsY
[CYS, p 63-66]Family Bible RecordY
[CYS, p 71-73]Grave MarkersY
[CYS, p 80-83]Interviews (oral)Y
[CYS, p 73-76]Land Records, State and FederalY
[CYS, p 66-68]LettersY
[CYS, p 76-80]Military RecordsY
[CYS, p 53-59]Miscellaneous Documents, UnpublishedY
[CYS, p 49–52]NewspapersY
[CYS, p 46–49]Periodical (Serial)Y
[CYS, p 63]Tax Lists (U.S.)Y
[E!, p 64]Ancestral FileY
[E!, p 65]Baptismal RecordY
[E!, p 65]Bible RecordsY
[E!, p 65]Birth Certificate, local levelY
[E!, p 65]Birth Registration, local levelY
[E!, p 66]Birth Registration, state levelY
[E!, p 66; CYS, p 35]Book (Agency as author)Y
[E!, p 99, CYS, p 38]Book, Translated Work (author known)Y
[E!, p 72]CD-ROM (produced from original records)Y
[E!, p 75]Census, U.S. Federal (Local/State copy)Y
[E!, p. 73-74]Census, U.S. Federal, 1790-1840 (Filmed)Y
[E!, p. 73-74]Census, U.S. Federal, 1850-1870 (Filmed)Y
[E!, p. 73-74]Census, U.S. Federal, 1880-1930 (Filmed)Y
[E!, p 75]Census, U.S. State (off-site)Y
[E!, p 76]Church Minute Books (filmed, off-site)Y
[E!, p 78]Death Certificate, local levelY
[E!, p 78]Death Certificate, state levelY
[E!, p 78]Death Registration, local levelY
[E!, p 80]E-mail messageY
[E!, p 73]Grave Markers (Urban, large)Y
[E!, p 73]Grave Markers (Rural, small)Y
[E!, p 84]IGI EntryY
[E!, p 85]InterviewY
[E!, p 87]Legal Case (Unpublished)Y
[E!, p87]Letter (annotated citation)Y
[E!, p 88]Manuscript (Unfilmed)Y
[E!, p 89]Marriage Certificate (Church)Y
[E!, p 90]Marriage Record (Church, copy)Y
[E!, p 89]Marriage Record (Church, original)Y
[E!, p 90]Marriage Record (Civil)Y
[E!, p 91]Military Service File (filmed)Y
[E!, p 91]NA (U.S.) Manuscript (Basic)Y
[E!, p 91]NA (U.S.) Microfilm/fiche (Basic)Y
[E!, p 93]Obituary/Newspaper itemY
[E!, p 97]Passenger Lists (Filmed)Y
[E!, p 94]Pension Files, NARA microfilm/ficheY
[E!, p 94]Photo, Portrait, Archived (Annotated)Y
[E!, p 81]Photo, Portrait, Archived, Image FileY
[E!, p 95]Photo, Portrait, Private (Annotated with Provenance)Y
[E!, p 95]Probate Files, loose (local)Y
[E!, p 95]Probate Files, loose (removed to other facility)Y
[E!, p 96]Research ReportY
[E!, p 98]Tax rolls (unfilmed)Y
[E!, p 98]Town RecordsY
[E!, p 100]Wills (Recorded)Y
[E!, p 100]Wills (Unrecorded, consulted off-site)Y
[EE, sec 7.32, p 346-7]Ancestral File, CD-ROM databaseY
[EE, sec 7.32, p 346-7]Ancestral File, online databaseY
[EE, QC-3, p 102]Archived Material, Vertical FilesY
[EE, QC-3, p 93]Artifact, archivedY
[EE, sec 3.38, p 151]Artifact, Family, photographed (privately held)Y
[EE, QC-3, p105]Artifact, Family, privately held (by collection)Y
[EE, QC-3, p105]Artifact, privately heldY
[EE, sec. 12.33, p 682-83]AtlasY
[EE, sec. 12.34, p 683]Atlas, online imagesY
[EE, QC-14, p787]BlogsY
[EE, QC-12, p.647, with 651 and 671-675; E!, p 71, CYS, p 38]Book ChapterY
[EE, QC-12, p 654]Book, AudioY
[EE, QC-12, p 646; EE, QC-13, p 727; E!, p 66]Book, Basic formatY
[EE, QC-12, p 654]Book, CD/DVD (Text)Y
[EE, QC-12, p 647, with 648, 651, sec. 12.13–12.20; EE, QC-13, 727; E!, p 66-71; CYS, p 31-35, 39-45]Book, General (Author(s) known)Y
[EE, sec. 12.5–12.20; E!, p 66, 68, CYS, p 36]Book, General (Author(s) unknown or unidentified)Y
[EE, QC-12, p 658]Book, Image copy (CD/DVD publication)Y
[EE, QC-12, p 660]Book, Image copy (microfilm publication)Y
[EE, QC-12, p 661; E!, p 82; QS inside left]Book, Image copy (online)Y
[EE, ref: sec. 12.34, p 683]Book, Image copy (online, reprint)Y
[EE, QC-12, p 659]Book, Image copy (publication, FHL-GSU preservation film)Y
[EE, QC-12, p 649, with 648, sec. 12.13–12.20; E!, p 68; CYS, p 36-37]Book, Multivolume (Author(s) known)Y
[EE, QC-12, p 650, with 648, 651, sec. 12.13–12.20; E!, p 66-71]Book, Reprint (Author(s) known)Y
[EE, sec. 12.86, p 718; E!, p 69]Book, Series, by collection (Author(s) known)Y
[EE, sec 11.28, p 589-590]Bounty Land files (entire file)Y
[EE, sec 11.28, p 589-590, E!, p 71]Bounty Land files (single document)Y
[EE, sec 12.43, p 686]Broadside, originalY
[EE, sec 12.43, p 686]Broadside, reprintY
[EE, QC-13, 729, sec 13.18, p 750-51]Case Reporter, Federal (standardized series)Y
[EE, QC-13, 728, sec 13:20, p 752; E!, p 86]Case Reporter, State (series named for editor)Y
[EE, QC-5, p 212, sec 5.7, p 222-23]Cemetery Office Records (emphasis on single register) (FHL-GSU film)Y
[EE, sec 5.7, p 222-23]Cemetery Office Records (emphasis on whole series) (FHL-GSU film)Y
[EE, QC-5, p 211, sec. 5-17, p 223-24]Cemetery Office Records (online images)Y
[EE, QC-5, p 209, sec. 5-17, p 222]Cemetery Office Records (personally used)Y
[EE, QC-5, p 210]Cemetery Office Records (supplied by staff)Y
[EE, QC-3, p 218, sec 5.18, p 231]Cemetery Records, Abstracts (card file)Y
[EE, QC-3, p 217]Cemetery Records, Abstracts (vertical file)Y
[EE, QC-5, p 219, sec 5.19, p 233]Cemetery Records, Compiled (online databases)Y
[EE, sec 5.21, p 234; E!, p73]Cemetery Records, Compiled (published)Y
[EE, sec 5.22, p 234]Cemetery Records, Compiled (typescripts)Y
[EE, sec 6.49, p 298-99]Census, Australia (microfilm, FHL copy)Y
[EE, based on QC-12, p 646: Book: basic format]Census, Canada (index, published)Y
[EE, sec 6.46, p 299-302]Census, Canada (microfilm, FHL copy)Y
[EE, QC-6, p 254, sec 6.50, p 301]Census, Canada (online database)Y
[EE, sec 6.50, p 302]Census, Canada (online images)Y
[EE, sec 6.51, p 302-03]Census, England, Wales (microfilm, FHL copy)Y
[EE, QC-6, p 254, sec 6.50, p 301]Census, England, Wales (online database)Y
[EE, QC-6, p 241]Census, France (Online images)Y
[EE, QC-6, p 242]Census, U.K., Wales (Online images)Y
[EE, sec 6.46, p 296]Census, U.S. County (state microfilm)Y
[EE, sec 6.48, p 297-98; QS, inside left]Census, U.S. Enumeration Instructions (online)Y
[EE, QC-6, p 253]Census, U.S. Federal (CD/DVD database)Y
[EE, QC-6, p 239]Census, U.S. Federal (CD/DVD images)Y
[EE, QC-6, p 254; QS, inside left]Census, U.S. Federal (Database/Index)Y
[EE, QC-6, p 240; QS, front cover]Census, U.S. Federal (Online images)Y
[EE, QC-6, p 237]Census, U.S. Federal (Original, Local)Y
[EE, QC-6, p 238]Census, U.S. Federal (Original, NA)Y
[EE, QC-6, p 251]Census, U.S. Federal (State copy, microfilm)Y
[EE, QC-6, p. 247-250]Census, U.S. Federal, mil. sch. 1900— (Microfilm, NA)Y
[EE, QC-6, p 245, sec 6.46, p 296]Census, U.S. Federal, non-pop. sch. (FHL-GSU microfilm)Y
[EE, QC-6, p. 244, sec 6.34, p 285]Census, U.S. Federal, non-pop. sch. (NARA film)Y
[EE, QC-6, p. 245, sec 6.34, p 287-88]Census, U.S. Federal, non-pop. sch. (UNC film)Y
[EE, QC-6, p. 247-250]Census, U.S. Federal, pop. sch. (Microfilm, NA)Y
[EE, QC-6, p. 247-250]Census, U.S. Federal, pop. sch. 1790-1840 (Microfilm, NA)Y
[EE, QC-6, p. 247-250]Census, U.S. Federal, pop. sch. 1850-1870 (Microfilm, NA)Y
[EE, QC-6, p. 247-250]Census, U.S. Federal, pop. sch. 1880-1930 (Microfilm, NA)Y
[EE, QC-6, p. 247-250]Census, U.S. Federal, slave sch. 1850-1860 (Microfilm, NA)Y
[EE, sec. 6.37, p. 2889]Census, U.S. Federal, veterans sch. 1890 (Microfilm, NA)Y
[EE, QC-6, p. 243]Census, U.S. Native American Tribal (Microfilm, NA)Y
[EE, QC-6, p. 255, sec 6.41, p 292]Census, U.S. Soundex & Miracode (microfilm)Y
[EE, QC-6, p 252, sec 6.46, p 296-97]Census, U.S. State (FHL microfilm)Y
[EE, sec. 6.47, p 297; E!, p 75]Census, U.S. Statistical CompendiumY
[EE, QC-6, p 259, sec. 6.48, p 297]Census, U.S. Statistical Database (Online)Y
[EE, QC-7, p311, sec 7.13, p 327]Church Books (named volume)Y
[EE, QC-7, p312]Church Books (named volume, off-site)Y
[EE, QC-7, p313]Church Books (numbered volume, off-site)Y
[EE, QC-7, p319]Church Books (recopied)Y
[EE, sec. 7.28, p. 344 (ref: sec 12.3)]Church Histories, publishedY
[EE, sec 7.24, p 340-41]Church Issued Certificates (collection)Y
[EE, sec 7.24, p 340-41]Church Issued Certificates (family collection)Y
[EE, sec 7.24, p 340-41]Church Issued Certificates (single item)Y
[EE, QC-7, p315]Church Records (FHL-GSU microfilm)Y
[EE, QC-7, p316]Church Records (filmed LDS image copies)Y
[EE, sec 7.20, p 335-36]Church Records (filmed, archives)Y
[EE, sec 7.20, p 335-36]Church Records (filmed, local)Y
[EE, QC-7, p 317, sec 7.23, p 339]Church Records (microfilm publication)Y
[EE, QC-7, p320, sec 7.27, p 343-44]Church Records (online databases)Y
[EE, QC-7, p314]Church Records (online image copies)Y
[EE, sec 7.29, p 345]Church Records, Canada, Repértoire (CD)Y
[EE, sec 7.29, p 345]Church Records, Canada, Repértoire (print)Y
[EE, QC-7, p315, sec 7.43, p 365-68]Church Records, OPR, Scotland (FHL-GSU microfilm)Y
[EE, sec 7.43, p 265-68]Church Records, OPR, Scotland (online database)Y
[EE, sec 7.43, p 365-68]Church Records, OPR, Scotland (original)Y
[EE, sec 7.38, p 352-356]Church Records, Parish Registers (FHL-GSU microfilm)Y
[EE, QC-7, p311]Church Records, Parish Registers (original)Y
[EE, sec 7.29, p 345]Church Records, Parish Registers (transcripts/abstracts)Y
[EE, sec. 7.31, p 346; E!, p 90]Church Records, Parish Registers (typescripts)Y
[EE, QC-7, p314]Church Records, Parish Registers, UK (online image copies)Y
[EE, sec. 7.31, p. 346-47]Church Records, Typescript of RegistersY
[EE, sec 9.56, p 482-83]Civil Reg., Statutory Registers, Scotland (FHL-GSU microfilm)Y
[EE, sec 9.56, p 482-83]Civil Reg., Statutory Registers, Scotland (online database)Y
[EE, sec 9.56, p 482-83]Civil Reg., Statutory Registers, Scotland (online images)Y
[EE, sec. 9.46, p471-73]Civil Registrations, Canada (AO microfilm)Y
[EE, sec. 9.46, p471-73]Civil Registrations, Canada (FHL microfilm)Y
[EE, based on sec. 9.46, p471-73]Civil Registrations, Canada (online images)Y
[EE, sec. 9.48, p474-76]Civil Registrations, EnglandY
[EE, sec. 9.46, p471-73]Civil Registrations, England (online databases)Y
[EE, sec 13.9, p 744-45]Codes, Municipal CodeY
[EE, QC-13, p 730, sec 13.10, p 746-47]Codes, State (online database)Y
[EE, sec 13.10, p 746-47]Codes, State (online images)Y
[EE, sec 13.10, p 746-47]Codes, State (printed)Y
[EE, QC-13, p 731, sec 13.8, p 744]Codes, U.S. Code (online)Y
[EE, sec 13.8, p 744]Codes, U.S. Code (online, legal style)Y
[EE, sec 13.8, p 744]Codes, U.S. Code (online, short legal style)Y
[EE, QC-13, p 735, sec 13.35, p 760-61]Congressional Records (ID from title page)Y
[EE, sec 13.32, p 757-58; E!, p 96]Congressional Records, American State Papers (Gales & Seaton)Y
[EE, QC-13, p 736, sec 13.38, p 762-63]Congressional Records, House & Senate (academic style)Y
[EE, QC-13, p 737, sec 13.35, p 671-72]Congressional Records, Online ImageY
[EE, QC-4, p 161]Corporate Records (bound volumes)Y
[EE, QC-4, p 163]Corporate Records (extract by staff)Y
[EE, QC-4, p 162]Corporate Records (loose document)Y
[EE, QC-4, p 164]Corporate Records (microfilm)Y
[EE, QC-4, p 165]Corporate Records (online database)Y
[EE, QC-4, p 166]Corporate Records (online images)Y
[EE, QC-3, p 112]Correspondence, personal, private, in collectionY
[EE, QC-8, p 373]Court Case Files, localY
[EE, QC-8, p 374]Court Record Books, localY
[EE, QC-8, p 375]Court Record Books, local (archived off-site)Y
[EE, QC-8, p 376]Court Record Books, state (appeals)Y
[EE, QC-8, p 377]Court Record Books, state (petitions)Y
[EE, QC-8, p 378]Court Records (CD/DVD images)Y
[EE, QC-8, p382]Court Records (online databases)Y
[EE, QC-8, p 381]Court Records (online images)Y
[EE, QC-8, p 380]Court Records, bound volume (FHL-GSU film)Y
[EE, QC-8, p 379]Court Records, loose (preservation film)Y
[EE, QC-10, p 495]Deed Abstracts (online)Y
[EE, sec 10.14, p 505]Deed Books (state/colony)Y
[EE, QC-10, p 488, sec. 10.5, pp 498-500, sec 10.16, p 506-08; E!, p 78]Deeds, local registersY
[EE, sec. 10.6, p 500]Deeds, local registers (FHL microfilm)Y
[EE, QC-3, p 106; E!, p 79]Diary or JournalY
[EE, QC-3, p 94, sec 3.16, p 127-29]Digital archivesY
[EE, sec. 3.39, p 152]Diploma, privateY
[EE, sec. 12.55–59, p 695-98; E!, p 76]Directories (City or County)Y
[EE, sec. 12.55, p 695-96]Directories (City or County) (microfilm)Y
[EE, QC-14, p 788, sec 14.27, p 813; [E!, p 82]]Discussion Forum & ListY
[EE, sec. 3.22, p 134-37 with sec 3.5, p 120]Dissertation, unpublishedY
[EE, sec. 3.22, p 134-37 with sec 3.5, p 120]Dissertation, unpublished (microfilmed)Y
[EE, sec 11.47, p 473]Divorce Records (Canada) (online database)Y
[EE, sec. 11.33, p 598; AQS inside right]Draft Registrations, ImagesY
[EE, sec 7.37, p 352]Drouin Collection (microfilm)Y
[EE, p 154-155 (Ref: QC-3, p 113)]E-mail, personal, privately held, by writerY
[EE, QC-3, p 113]E-mail, personal, privately held, filed by collectionY
[EE, QC-10, p 493, sec 10.23, p 515-17; E!, p 88]Estray (Ranger) Books (local or county, FHL microfilm)Y
[EE, sec 10.23, p 515-17]Estray (Ranger) Books, parties identified (local or county)Y
[EE, sec 10.23, p 515-17]Estray (Ranger) Books, parties not identified (local or county)Y
[EE, QC-3, p 107]Family Bible, privateY
[EE, QC, p 108; E!, p 83]Family Chart/Group Sheet, privately heldY
[EE, sec 7.33, p 347-8]Family Group Record Collection, LDSY
[EE, sec 3.30, p 146]Family Records, non-bible (privately held)Y
[EE, sec 3.31, p 145]Frakturs (certificate) (single item)Y
[EE, sec 3.31, p 145]Frakturs (online images) (single item)Y
[EE, sec 4.8, p 181]Funeral Home Records (extract by staff)Y
[EE, sec 4.9, p 181-82]Funeral Home Records (held by library)Y
[EE, sec 4.8, p 181]Funeral Home Records (privately held)Y
[EE, based on sec 3.44, p 156]GEDCOM File (downloaded)Y
[EE, sec 4.10, p 183]Genetic Databases (online)Y
[EE, Sec. 4.27, pp 202]Genetic Test (DNA) CDY
[EE, Sec. 4.27, pp 201-202]Genetic Test (DNA) letterY
[EE, QC-4, p 171, sec 4.27, p 201-202]Genetic Test (DNA) reportY
[EE, QC-5, p 215]Grave Markers (online images)Y
[EE, QC-5, pp 213–214, sec. 5-10-13, pp 225–227]Grave Markers (Urban or Rural)Y
[EE, sec 9.6, p 438]Historical Records, abstracts (online)Y
[EE, sec 11.16, p 577; QS, right side, 4th model]Historical Records, transcripts (online)Y
[EE, QC-4, p 172]Historical Research Report (Corporate)Y
[EE, QC-4, p 173]Historical Research Report (Online)Y
[EE, sec 7.34, p 348-9]IGI, CD-ROM databaseY
[EE, sec 7.34, p 348-9]IGI, online databaseY
[EE, QC-3, p 110]Interview, privately heldY
[EE, QC-14, p 814; QS inside left]Journal Article, electronic edition/e-journalY
[EE, QC-14, p781; QS inside left]Journal Article, onlineY
[EE, QC-14, p779, sec 14.16, p 798; E!, p 64]Journal Article, printY
[EE, QC-14, p780]Journal Article, print, archived onlineY
[EE, Sec. 14.17, p 800; E!, p 64, 94]Journal Article, serializedY
[EE, sec 10.16, p 506-08]Land Grants, bound (state/colony)Y
[EE, QC-10, p 492, sec 10.18, p 509-10]Land Grants, image copies, CD/DVD (state or colony)Y
[EE, Sec 10.17, p 508]Land Grants, loose (state/colony)Y
[EE, QC-11, p 547, sec 11.25, p 585-86]Land Office Records, database, CD/DVD (GLO)Y
[EE, QC-11, p 547, sec 11.25, p 585-86]Land Office Records, database, CD/DVD (GLO, FHL copy)Y
[EE, sec 11.27, p 588-89; QS, inside right]Land Office Records, Federal (online images)Y
[EE, sec 11.27, p 588-89; QS, inside right]Land Office Records, Federal (online, database or image)Y
[EE, sec 10.44, p 534-35]Land Petitions, Provincial (online database)Y
[EE, sec 10.28, p 520-21]Land Records, Plat Books, countyY
[EE, QC-10, p 494]Land Records, Plat Books, county (online)Y
[EE, sec 10.44, p 534-35]Land Records, Provincial (FHL microfilm)Y
[EE, QC-10, p 496, sec 10.19, p 510-512; QS, inside right, 7th model]Land Records, State (online database)Y
[EE, sec 10.19, p 510-12]Land Records, State (online images, by database)Y
[EE, sec 10.19, p 510-12; QS, inside right, 8th model]Land Records, State (online images, by document)Y
[EE, QC-10, p 489]Land Records, Tract Books, localY
[EE, QC-10, p 491]Land Records, Warrants, loose (state)Y
[EE, QC-10, p 490]Land-Grant Registers (state)Y
[EE, QC-12, p 652]LeafletY
[EE, sec. 12.91, p 722-23]Lecture (download)Y
[EE, sec. 12.91, p 722-23; E!, p 86]Lecture (recorded, tape/CD/DVD)Y
[EE, QC-3, p 111]Legal Document, unrecorded (family copy)Y
[EE, sec 4.29, p 206]Legal Research ReportY
[EE, QC-3, p 109, p149-50]Letter, Historic, privateY
[EE, QC-11, p 540]Library of Congress, ManuscriptsY
[EE, QC-11, p 551, 555]Library of Congress, Online imagesY
[EE, QC-11, p 544]Library of Congress, PhotographsY
[EE, QC-4, p 167, sec 4.19, p 192-93; E!, p 87]Lineage Society, Application FilesY
[EE, sec 4.20, p 194-95; E!, p 77]Lineage Society, DAR GRC reports (local/state)Y
[EE, sec 4.20, p 194-95; E!, p 77]Lineage Society, DAR GRC reports (national)Y
[EE, QC-4, p 168, sec 4.19, p 193]Lineage Society, Online databaseY
[EE, QC-9, p 421]Local Records, File itemsY
[EE, QC-9, p 422]Local Records, Files moved to state archivesY
[EE, QC-9, p 423]Local Records, Registers (named volumes)Y
[EE, QC-9, p 424]Local Records, Registers (numbered volumes)Y
[EE, sec 14.20, p 804]Magazine Article, online archivesY
[EE, QC-14, p783]Magazine Article, online reprintsY
[EE, QC-14, p782]Magazine Article, printY
[EE, QC-3, p 95]Manuscript Records, Archived (collection as lead)Y
[EE, QC-3, p 96]Manuscript Records, Archived (document as lead)Y
[EE, QC-3, p 97]Manuscript Records, Archived (series as lead)Y
[EE, sec. 3.18, p 129-30; E!, p 88]Manuscript, Filmed (commercially published)Y
[EE, QC-3, p 103, sec 3.19, p 130-31]Manuscript, Preservation film (compiled series, FHL-GSU)Y
[EE,QC-3, p 104, sec. 3.19, p 130-31]Manuscript, Preservation film (in-house)Y
[EE, sec. 3.19, p 131]Manuscript, Preservation film (individual FHL film)Y
[EE, QC-3, p 101, sec. 3.22, p 134-37]Manuscript, unpublished narrativeY
[EE, sec 12.67, p 703-04; E!, p 88]Maps, HistoricY
[EE, sec. 12.67, p 703-04]Maps, Historic, OnlineY
[EE, QC-11, p 543]Maps, NA (U.S.)Y
[EE, sec. 12.68, p 704; E!, p 89]Maps, TopographicY
[EE, sec. 9.4, p 435]Marriage Record (bound volumes)Y
[EE, sec 9.5, p 437]Marriage Record (loose, licenses & bonds)Y
[EE, QC-5, p 216, sec 5.11, p 225-6]Memorial PlaqueY
[EE, sec 11.32, 11.34-35, p 596-600; AQS back cover]Military Records, DatabasesY
[EE, sec 11.32, 11.34-35, p 596-600; AQS back cover]Military Records, ImagesY
[EE, sec. 11.32, p 596-97]Military, Compiled Service Records (filmed)Y
[EE, sec 11.38, p 602-03; E!, p 90]Military, Muster Rolls (manuscript)Y
[EE, sec. 5.12, pp 226–227]Monumental InscriptionsY
[EE, QC-11, p 550, sec 11.60, p 630-32]NA (U.K.) (online images & database)Y
[EE, QC-11, p 539, sec 11.6, p 561]NA (U.S.) Audio/Video RecordingsY
[EE, QC-11, p 551]NA (U.S.) Database, OnlineY
[EE, QC-13, p 738, sec 13.44, p 767-769]NA (U.S.) Guides, Descriptive Pamphlet (Online)Y
[EE, sec 13.43, p 766]NA (U.S.) Guides, Guides (cited by ed)Y
[EE, sec 13.43, p 767; QS,inside left]NA (U.S.) Guides, Guides (online edition, by ed)Y
[EE, QC-13, p 739, sec. 13.46, p 770-72]NA (U.S.) Guides, Preliminary Inventory (microfilmed)Y
[EE, QC-11, p 555]NA (U.S.) Images, OnlineY
[EE, QC-11, p 541, sec 11.43, p 608]NA (U.S.) ManuscriptsY
[EE, QC-11, p 542]NA (U.S.) Manuscripts, RegionalY
[EE, sec. 11.8, p 362-68, template based on p 364]NA (U.S.) Microfilm (Evidence Style Citation)Y
[EE, QC-11, p 552]NA (U.S.) Microfilm (NARA Style Citation)Y
[EE, QC-11, p 553]NA (U.S.) Microfilm (Publication Style Citation)Y
[EE, sec 11.59, p 628-29]NA-LAC (Canada) LAC MicrofilmY
[EE, QC-11, p 549]NA-LAC (Canada), Online images & databaseY
[EE, QC-11, p 548]NAA (Australia) (online images & database)Y
[EE, sec 11.68, p 639]NAS (Scotland) (online database)Y
[EE, sec 11.49, p 618; E!, p 92]Naturalization RecordsY
[EE, sec 14.29, p 815; QS back]Newsletter Article, electronic (archived)Y
[EE, sec 14.29, p 815]Newsletter Article, electronic (distributed)Y
[EE, sec 14.21, p806]Newsletter Article, online imagesY
[EE, QC-14, p784]Newsletter Article, printY
[EE, QC-14, p 786; QS back]Newspaper, Online ArchivesY
[EE, sec 14.22, p 809]Newspaper, Online ImagesY
[EE, QC-14, p 785]Newspaper, Print EditionY
[EE, sec 3.36, p150; E!, p93]Newspaper, unidentified clipping, privately heldY
[EE, sec 11.68, p 639]NLW (Wales) (online database)Y
[EE, QC-4, p 169]Organization Records (archived in-house)Y
[EE, QC-4, p 170]Organization Records (archived off-site)Y
[EE, sec. 12.47, p 687-89; E!, p 97]Papers, Consolidated in Syllabus (by presenter)Y
[EE, sec. 12.48, p 689]Papers, Distributed IndividuallyY
[EE, sec 11.15, p 574]Passenger Lists, NARA manuscriptsY
[EE, sec 11.15, p 575]Passenger Lists, NARA microfilmY
[EE, sec 11.16-17, p 575-78; QS, Back]Passenger Lists, Online (by ship)Y
[EE, sec 11.16-7, p 575-78; QS, Back]Passenger Lists, Online (by title)Y
[EE, sec 11.18, p 578-9; QS, Back]Passenger Lists, Ship Image (online)Y
[EE, QC-11, p 556]Patent & Trademark Office (U.S.) (online)Y
[EE, sec 7.35, p 349-350]Pedigree Resource File, CD-ROM databaseY
[EE, sec 7.35, p 349-350]Pedigree Resource File, online databaseY
[EE, sec 11.40, p 608]Pension Files, NARA microfilmY
[EE, QC-11, p 545]Pension Files, Railroad Retirement BoardY
[EE, QC-3, p 98]Personal Bible, archivedY
[EE, sec 3.43, p 155]Personal KnowledgeY
[EE, QC-3, p 99]Photo, Portrait, ArchivedY
[EE, sec 3.37, p 150-51; E!, p 81]Photo, Portrait, Private, scannedY
[EE, QC-14, p789]PodcastsY
[EE, sec 10.32, p 524-526]Probates, bound (FHL microfilm images)Y
[EE, sec 10.36, pp 528–29]Probates, bound (removed to state archives)Y
[EE, sec. 10.32, p 525-26]Probates, bound (state microfilm images)Y
[EE, sec 10.30, pp 522-523]Probates, bound volumesY
[EE, sec. 10.33, p 526-27]Probates, case file indexes (online databases)Y
[EE, QC-10, p 487]Probates, case files (local)Y
[EE, sec. 10.33, p 526-27]Probates, case files (online images)Y
[EE, sec 10.32, p 524-525]Probates, loose (FHL microfilm images)Y
[EE, sec 10.36, p 528–29]Probates, loose (removed to state archives)Y
[EE, sec 10.31, p 523-524]Probates, loose pages/filesY
[EE, QC-14, p790]Radio & Television ClipsY
[EE, QC-3, p 100]Research Report, ArchivedY
[EE, QC-3, p 114, sec 3.44, p 156-57]Research Report, Privately heldY
[EE, QC-4, p 174]School Records (administrative material)Y
[EE, QC-4, p 175, sec 4.17, p 189-90]School Records (student transcripts)Y
[EE, QC-13, p 732]Slip Laws, FederalY
[EE, sec 13.17, p 750]Slip Laws, stateY
[EE, QC-11, p 546]Social Security Application formsY
[EE, sec 11.55, p 626; QS back cover]Social Security Death Index (SSDI) (FHL, online)Y
[EE, sec 11.55, p 626; QS back cover]Social Security Death Index (SSDI), onlineY
[EE, QC-9, p 429, sec 9.11, p 442-43]State Records, miscellaneous filesY
[EE, QC-13, 733, sec 13:12, p 747-48]Statutes, Federal (1874 & later)Y
[EE, sec 13:12, p 747-48; E!, p 85]Statutes, Federal (pre-1874)Y
[EE, QC-13, 734, sec 13:13, p 748; E!, p 85]Statutes, StateY
[EE, sec 10.38, p 530–31]Tax rolls (local)Y
[EE, sec 10.42, p 532-34]Tax rolls (state/colony)Y
[EE, sec 10.16, p 506-08]Tax rolls, filmed, off-site (state/colony)Y
[EE, sec. 3.22, p 134-37 with sec 3.5, p 120]Thesis, unpublishedY
[EE, QC-3, p 115]Tradition, recorded, privateY
[EE, QC-12, p 656; E!, p 99]VideoY
[EE, sec., 9.32, p. 457; E!, p. 99]Vital Record, Filmed (FHL-GSU)Y
[EE, QC-9, p 427]Vital Records (local, amended)Y
[EE, QC-9, p 425]Vital Records (local, certificates)Y
[EE, QC-9, p 428]Vital Records (local, delayed)Y
[EE, QC-9, p 426]Vital Records (local, registers)Y
[EE, QC-9, p 432]Vital Records (state, amended)Y
[EE, QC-9, p 430]Vital Records (state, certificates)Y
[EE, sec 9.6, p 439]Vital Records (state, certificates, online)Y
[EE, QC-9, p 431]Vital Records (state, registers)Y
[EE, sec 9.42, p 467-470; QS, inside right, models 7-9]Vital Records (state-level, online derivatives)Y
[EE, sec 9.43, p 470]Vital Records (town registers, New England)Y
[EE, sec. 12.92, p 724; E!, p 100]Vital Records, PublishedY
[EE, QC-12, p 657; E!, p 80]Website “as book”Y
[EE, sec 3.16, p 127]Website (with multiple databases)Y
[EE, sec 8.12, p 387-88]WillsY
[QS-Front]Basic Online TemplateY
[QS, inside right, 1st model]Historical Records, abstracts (online)Y
[QS, right side, 2nd model]Historical Records, databases (online)Y
[QS, inside left, 3rd model]Historical Records, images (online)Y
Ancestry Member TreeN
Ancestry RecordN
Census, Canada (microfilm)Y
Land Petitions, Provincial (microfilm)Y
Upper Canada Sundries (LAC microfilm)Y

Query

SELECT LTRIM(category) AS Category, Name
FROM SourceTemplateTable
ORDER BY SUBSTR(LTRIM(Category),1,3) || Name COLLATE NOCASE
-- the occasional leading space character required to be LTRIMmed
;

Source Template List – Query #sources #sourcetemplates

RootsMagic 4 added the concept of Source Templates. With the new feature, no report functionality for it has yet been integrated into the Source List Print, however (RM 4.0.7.1, currently).

This information might be useful in a number of applications, including in the case in which the initial Master Source/Source Details field split resulted in too many entries and some consolidation were desired.

The following SQL code is simply designed to indicate which Sources are associated with which Source Template and brings together the information between SoureTemplateTable and SourceTable:

-- Source Template List
-- created by romermb 13 Feb 2010
SELECT *
FROM   SourceTemplateTable
       INNER JOIN SourceTable ON
       SourceTemplateTable.TemplateID = SourceTable.TemplateID

For purposes of this query and the one to follow, entries within SourceTable with SourceID of 0 are effectively excluded. This value refers to a Free-Form template and is not stored in SourceTemplateTable.

The code can be extended to provide citation-related details in a bit of a similar way to the Source List Print in RM4:
SourceTemplateListWithCitationDetails.sql Revised 2011-11-04

-- Source Template List with Citation Details
-- created  by romermb 14 Feb 2010
-- modified by romermb 15 Feb 2010 to override SQLite query optimization routine treatment of
--             IsPrimary field in order to produce faster run time,
--             to add Template Type field
-- 2010-06-01 rev by ve3meo to replace IF construct (not supported without a load extension) by CASE
 
-- Person Citations
SELECT   SourceTemplateTable.Name COLLATE NOCASE AS 'Source Template Name',
         CASE WHEN SourceTemplateTable.TemplateID < 10000
           THEN 'Built-In'
           ELSE 'User-Defined'
         END AS 'Template Type',
         SourceTable.Name COLLATE NOCASE AS 'Source Name',
         'Person' AS 'Citation Type',
         NULL AS 'Fact Type',
         NULL AS MRIN,
         NameTable.OwnerID AS 'RIN 1',
         NameTable.Surname COLLATE NOCASE AS 'Surname 1',
         NameTable.Suffix COLLATE NOCASE AS 'Suffix 1',
         NameTable.Prefix COLLATE NOCASE AS 'Prefix 1',
         NameTable.Given COLLATE NOCASE AS 'Given 1',
         NameTable.Nickname COLLATE NOCASE AS 'Nickname 1',
         NULL AS 'RIN 2',
         NULL AS 'Surname 2',
         NULL AS 'Suffix 2',
         NULL AS 'Prefix 2',
         NULL AS 'Given 2',
         NULL AS 'Nickname 2',
         COUNT(1) AS Records
FROM     SourceTemplateTable
         INNER JOIN SourceTable ON
         SourceTemplateTable.TemplateID = SourceTable.TemplateID
         INNER JOIN CitationTable ON
         SourceTable.SourceID = CitationTable.SourceID
         INNER JOIN NameTable ON
         CitationTable.OwnerID = NameTable.OwnerID
WHERE    CitationTable.OwnerType = 0 AND +NameTable.IsPrimary = 1
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
 
UNION ALL
 
-- Family Citations
SELECT   SourceTemplateTable.Name COLLATE NOCASE AS 'Source Template Name',
         CASE WHEN SourceTemplateTable.TemplateID < 10000
           THEN 'Built-In'
           ELSE 'User-Defined'
         END AS 'Template Type',
         SourceTable.Name COLLATE NOCASE AS 'Source Name',
         'Family' AS 'Citation Type',
         NULL AS 'Fact Type',
         FamilyTable.FamilyID AS MRIN,
         NameTable1.OwnerID AS 'RIN 1',
         NameTable1.Surname COLLATE NOCASE AS 'Surname 1',
         NameTable1.Suffix COLLATE NOCASE AS 'Suffix 1',
         NameTable1.Prefix COLLATE NOCASE AS 'Prefix 1',
         NameTable1.Given COLLATE NOCASE AS 'Given 1',
         NameTable1.Nickname COLLATE NOCASE AS 'Nickname 1',
         NameTable2.OwnerID AS 'RIN 2',
         NameTable2.Surname COLLATE NOCASE AS 'Surname 2',
         NameTable2.Suffix COLLATE NOCASE AS 'Suffix 2',
         NameTable2.Prefix COLLATE NOCASE AS 'Prefix 2',
         NameTable2.Given COLLATE NOCASE AS 'Given 2',
         NameTable2.Nickname COLLATE NOCASE AS 'Nickname 2',
         COUNT(1) AS Records
FROM     SourceTemplateTable
         INNER JOIN SourceTable ON
         SourceTemplateTable.TemplateID = SourceTable.TemplateID
         INNER JOIN CitationTable ON
         SourceTable.SourceID = CitationTable.SourceID
         INNER JOIN FamilyTable ON
         CitationTable.OwnerID = FamilyTable.FamilyID
         INNER JOIN NameTable AS NameTable1 ON
         FamilyTable.FatherID = NameTable1.OwnerID
         INNER JOIN NameTable AS NameTable2 ON
         FamilyTable.MotherID = NameTable2.OwnerID
WHERE    CitationTable.OwnerType = 1 AND +NameTable1.IsPrimary = 1 AND
         +NameTable2.IsPrimary = 1
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
 
UNION ALL
 
-- Person Fact Citations
SELECT   SourceTemplateTable.Name COLLATE NOCASE AS 'Source Template Name',
         CASE WHEN SourceTemplateTable.TemplateID < 10000
           THEN 'Built-In'
           ELSE 'User-Defined'
         END AS 'Template Type',
         SourceTable.Name COLLATE NOCASE AS 'Source Name',
         'Fact - Person' AS 'Citation Type',
         FactTypeTable.Name COLLATE NOCASE AS 'Fact Type',
         NULL AS MRIN,
         NameTable.OwnerID AS 'RIN 1',
         NameTable.Surname COLLATE NOCASE AS 'Surname 1',
         NameTable.Suffix COLLATE NOCASE AS 'Suffix 1',
         NameTable.Prefix COLLATE NOCASE AS 'Prefix 1',
         NameTable.Given COLLATE NOCASE AS 'Given 1',
         NameTable.Nickname COLLATE NOCASE AS 'Nickname 1',
         NULL AS 'RIN 2',
         NULL AS 'Surname 2',
         NULL AS 'Suffix 2',
         NULL AS 'Prefix 2',
         NULL AS 'Given 2',
         NULL AS 'Nickname 2',
         COUNT(1) AS Records
FROM     SourceTemplateTable
         INNER JOIN SourceTable ON
         SourceTemplateTable.TemplateID = SourceTable.TemplateID
         INNER JOIN CitationTable ON
         SourceTable.SourceID = CitationTable.SourceID
         INNER JOIN EventTable ON
         CitationTable.OwnerID = EventTable.EventID
         INNER JOIN FactTypeTable ON
         EventTable.EventType = FactTypeTable.FactTypeID
         INNER JOIN NameTable ON
         EventTable.OwnerID = NameTable.OwnerID
WHERE    CitationTable.OwnerType = 2 AND +NameTable.IsPrimary = 1 AND
         EventTable.OwnerType = 0
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
 
UNION ALL
 
-- Family Fact Citations
SELECT   SourceTemplateTable.Name COLLATE NOCASE AS 'Source Template Name',
         CASE WHEN SourceTemplateTable.TemplateID < 10000
           THEN 'Built-In'
           ELSE 'User-Defined'
         END AS 'Template Type',
         SourceTable.Name COLLATE NOCASE AS 'Source Name',
         'Fact - Family' AS 'Citation Type',
         FactTypeTable.Name COLLATE NOCASE AS 'Fact Type',
         FamilyTable.FamilyID AS MRIN,
         NameTable1.OwnerID AS 'RIN 1',
         NameTable1.Surname COLLATE NOCASE AS 'Surname 1',
         NameTable1.Suffix COLLATE NOCASE AS 'Suffix 1',
         NameTable1.Prefix COLLATE NOCASE AS 'Prefix 1',
         NameTable1.Given COLLATE NOCASE AS 'Given 1',
         NameTable1.Nickname COLLATE NOCASE AS 'Nickname 1',
         NameTable2.OwnerID AS 'RIN 2',
         NameTable2.Surname COLLATE NOCASE AS 'Surname 2',
         NameTable2.Suffix COLLATE NOCASE AS 'Suffix 2',
         NameTable2.Prefix COLLATE NOCASE AS 'Prefix 2',
         NameTable2.Given COLLATE NOCASE AS 'Given 2',
         NameTable2.Nickname COLLATE NOCASE AS 'Nickname 2',
         COUNT(1) AS Records
FROM     SourceTemplateTable
         INNER JOIN SourceTable ON
         SourceTemplateTable.TemplateID = SourceTable.TemplateID
         INNER JOIN CitationTable ON
         SourceTable.SourceID = CitationTable.SourceID
         INNER JOIN EventTable ON
         CitationTable.OwnerID = EventTable.EventID
         INNER JOIN FactTypeTable ON
         EventTable.EventType = FactTypeTable.FactTypeID
         INNER JOIN FamilyTable ON
         EventTable.OwnerID = FamilyTable.FamilyID
         INNER JOIN NameTable AS NameTable1 ON
         FamilyTable.FatherID = NameTable1.OwnerID
         INNER JOIN NameTable AS NameTable2 ON
         FamilyTable.MotherID = NameTable2.OwnerID
WHERE    CitationTable.OwnerType = 2 AND +NameTable1.IsPrimary = 1 AND
         +NameTable2.IsPrimary = 1 AND EventTable.OwnerType = 1
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
 
UNION ALL
 
-- Alternate Name Fact Citations
SELECT   SourceTemplateTable.Name COLLATE NOCASE AS 'Source Template Name',
         CASE WHEN SourceTemplateTable.TemplateID < 10000
           THEN 'Built-In'
           ELSE 'User-Defined'
         END AS 'Template Type',
         SourceTable.Name COLLATE NOCASE AS 'Source Name',
         'Fact - Alt Name' AS 'Citation Type',
         'Alt Name' AS 'Fact Type',
         NULL AS MRIN,
         NameTable2.OwnerID AS 'RIN 1',
         NameTable2.Surname COLLATE NOCASE AS 'Surname 1',
         NameTable2.Suffix COLLATE NOCASE AS 'Suffix 1',
         NameTable2.Prefix COLLATE NOCASE AS 'Prefix 1',
         NameTable2.Given COLLATE NOCASE AS 'Given 1',
         NameTable2.Nickname COLLATE NOCASE AS 'Nickname 1',
         NULL AS 'RIN 2',
         NULL AS 'Surname 2',
         NULL AS 'Suffix 2',
         NULL AS 'Prefix 2',
         NULL AS 'Given 2',
         NULL AS 'Nickname 2',
         COUNT(1) AS Records
FROM     SourceTemplateTable
         INNER JOIN SourceTable ON
         SourceTemplateTable.TemplateID = SourceTable.TemplateID
         INNER JOIN CitationTable ON
         SourceTable.SourceID = CitationTable.SourceID
         INNER JOIN NameTable AS NameTable1 ON
         CitationTable.OwnerID = NameTable1.NameID
         INNER JOIN NameTable AS NameTable2 ON
         NameTable1.OwnerID = NameTable2.OwnerID
WHERE    CitationTable.OwnerType = 7 AND +NameTable1.IsPrimary = 0 AND +NameTable2.IsPrimary = 1
GROUP BY 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
 
ORDER BY 1, 3, 7, 13, 5

Revised Query for Easier Reading

Screenshot

SourceTemplateListWithCitationDetails2-screenshot.png
Separate fields for surname, suffix, prefix, given and nickname concatenated into one for more compact and easier to read results.

Download

SourceTemplateListWithCitationDetails2.sql

Discussions & comments from Wikispaces site


romermb

Microsoft Access and Other Database Applications

romermb
15 February 2010 05:16:00

For those who are using Microsoft Access and other database applications and might want to store the sections of code between UNION ALL as separate queries, with the final one using UNION ALL to bring the various pieces together, I’ve gone ahead and retained the alias references in each section.

I propose that we adopt this standard going forward, as well.


romermb

Additional Fields?

romermb
15 February 2010 05:23:22

For those using the Source Template List with Citation Details query to consider consolidating Master Sources to create new Source Templates, please let me know if any additional fields might be helpful.

In addition, if a different sorting sequence might be useful, I’d be interested in knowing, as well.

I created the query without having gone through that exercise, so anyone with practical experience might have some unique insights or needs to better accomplish the task.


romermb

romermb
15 February 2010 13:11:28

Forgot to add also that query performance is slower than I’d expect it to be. My guess is that the issue relates to SQLite3 query optimization, so I’ll have to play around with the query a bit here at some point to see if I can resolve it.


ve3meo

Good query!

ve3meo
15 February 2010 15:42:00

Subject says it all!
Thanks, Romer.


romermb

romermb
16 February 2010 02:13:47

Thanks — hope it helps those who find it useful.


ve3meo

TemplateID, Pre- vs User-defined

ve3meo
15 February 2010 15:46:58

For those of us into the tables, adding a column for the TemplateID would be useful.

For reporting to others who are not, a column indicating whether the template is Pre-defined or User-defined could be useful. The TemplateID indicates that, any >9999 are user-defined.


romermb

romermb
16 February 2010 02:22:53

Good idea. I decided to go ahead and add a Template Type indicator field to the code that I just modified on the page.

For those instead wanting TemplateID, the field that I added could easily be modified to fit your needs:

SourceTemplateTable.TemplateID AS ‘Template Number’

Instead of ordering on ‘Template Name’, you might then consider ordering on TemplateID and/or even shifting the order of those two fields in the SELECT clause.


ve3meo

SQL Error – no such function IF

ve3meo
01 June 2010 03:38:16

This is a surprise – both my updated versions of SQLite Developer and SQLiteSpy return this error message when compiling the long query:
/* Error message: no such function: IF */ . They both use SQLite 3.6.23. I’m sure both ran this query when it was first published.


ve3meo

ve3meo
01 June 2010 03:47:19

I am probably mistaken that either Developer or SQLiteSpy ran this query OK because IF is not a core SQLite function. You must have used a SQLite manager with an extension. We would have to use CASE instead for base level compatibility.


ve3meo

Correction re Alternate Name Fact

ve3meo
03 November 2011 20:49:53

Not sure why this was not detected before but I found that sources cited by Alternate Name facts were ascribed to the wrong person using the query SourceTemplatesUsageList.sql and others derived therefrom. This is corrected by changing the lines:

INNER JOIN NameTable AS NameTable2 
ON NameTable1.OwnerID = NameTable2.NameID
WHERE CitationTable.OwnerType = 7


to

INNER JOIN NameTable AS NameTable2 
ON NameTable1.OwnerID = NameTable2.OwnerID
WHERE CitationTable.OwnerType = 7 
AND NameTable2.NameType=0


I have revised the page accordingly and will follow up on the affected files.

Tom


ve3meo

ve3meo
04 November 2011 01:58:55

That was not quite right because NameType could be 0 for an Alt Name if no NameType has been assigned. The correct code is:

INNER JOIN NameTable AS NameTable2 
ON NameTable1.OwnerID = NameTable2.OwnerID
WHERE CitationTable.OwnerType = 7 
AND +NameTable2.IsPrimary = 1

Media Files Status #filenames #media #links #broken

I collect images and files in sporadic flurries under each RootsMagic database’s Media folder intending to use them in the database later on, when I have time. Naturally, I get sidetracked and forget about some of them. So I thought it would be desirable to have a report that listed all the files under the Media folder and flag those that are already used by the relevant RootsMagic database. Then I could work my way through the rest and get them referenced in the database or moved or deleted. There are many ways this might be done, even without SQLite, by starting with RM’s built-in Multimedia List report. That would be outside the intent of this Wiki. Besides, this SQLite query produces the desired report in the blink of an eye!

Here’s a sample for which the Media folder for this database was named “Scrapbook”:

 C:\MyDocs\FamilyTree\Holden-Cudworth_Wilson-Wason\Scrapbook\Holden, James\Holden, James – OntObs adv selling bldg 1863-05-28.png
1C:\MyDocs\FamilyTree\Holden-Cudworth_Wilson-Wason\Scrapbook\Holden, James\Holden, James – Ontario Observer published by, 1858.png
1C:\MyDocs\FamilyTree\Holden-Cudworth_Wilson-Wason\Scrapbook\Holden, James\Holden, James – Passenger – SS Austrian 2 Sep 1869.pdf
 C:\MyDocs\FamilyTree\Holden-Cudworth_Wilson-Wason\Scrapbook\Holden, James\Holden, James – bio – Port Perry-Scugog Twp Heritage Gallery.odt
 C:\MyDocs\FamilyTree\Holden-Cudworth_Wilson-Wason\Scrapbook\Holden, James\Holden, James – poet.txt

The ‘1’ flags that the file is referenced by the subject database; its absence indicates the opposite.

The procedure uses Windows shortcuts, the Windows CMD shell to automate some things, the command line utility sqlite3.exe, and launches Excel with the resulting report. In my case, all the files that support this procedure are stored in one folder. The shortcut that calls the batch file may be located elsewhere and multiple shortcuts can be created for each database and associated media folder.

The permanent and transient files are:

sqlite3.exe


Command line shell for SQLite (download file sqlite-tools-… under “Precompiled Binaries for yourOS” at https://www.sqlite.org/download.html; extract sqlite3.exe which does not have to be in the procedure folder if there is a Windows PATH setting for it or the batch file is revised to have the full path to it)
Excel.lnk
Shortcut to Excel (copy from the Start menu to the procedure folder or revise the batch file with the full path to the Excel shortcut)
MediaFilesStatus.lnk



Shortcut to the batch file with the RootsMagic filename and media folder passed as parameters. You create the shortcut; for example:
Target: C:\SD\OneDrive\RootsMagic\MediaFilesStatus\MediaFilesStatus.bat “..\Data\Bradshaw-OneDrive.rmgc” “..\Data\Bradshaw-OneDrive_media”
Start In: C:\SD\OneDrive\RootsMagic\MediaFilesStatus
MediaFilesStatus.bat.bak

Windows command shell batch that gets the directory listing, writes and executes a SQL file to generate a report file which it opens with Excel.
(Remove .bak extension after download )
MediaFilesList.txtThe directory listing of files under the Multimedia folder path (transient)
MediaFilesStatus.sqlSQL query generated by the batch file (transient)
MediaFilesStatus.db3
SQLite database with one table with one field filled with the content from ScrapbookFilesList.txt (transient)
MediaFilesStatus.txt
The report in tab-delimited format (batch file opens it with Excel; you can use Excel to generate CMD shell commands to delete or move unused files)

N.B. I advise using the RM tool “Fix broken media links” before running this procedure because a file that is in a different location than recorded in the database will be reported as unused. You might not want to delete it!

Here’s the batch file, downloadable from the link above:

 ECHO OFF
 REM MediaFilesStatus.bat
 REM Tom Holden 13 Mar 2011
 REM rev 2021-07-04 Media folder parameterized as %2; support double-quotes around calling parameters
 REM Lists files under a folder and sub-folders and checks 
 REM and flags if they are used by a RM4-7 database; does not support RM8.
 REM Command line: MediaFilesStatus RootsMagicFile.rmgc MediaFolder
 REM - full paths or relative to the 'Start in' location, double quoted if space character is in path
 REM
 REM List files under the media path and store to a file.
 DIR %2 /B /S /ON > MediaFilesList.txt
 REM
 REM Erase old sql file and database file
 ERASE MediaFilesStatus.sql
 ERASE MediaFilesStatus.db3
 REM Build a SQL query and save to a file
 ECHO CREATE TABLE FILES(file); > MediaFilesStatus.sql
 ECHO .import MediaFilesList.txt FILES >> MediaFilesStatus.sql
 ECHO ATTACH DATABASE REPLACE('%1', '^"', '') AS RM ; >> MediaFilesStatus.sql 
 ECHO .mode tabs >> MediaFilesStatus.sql
 ECHO .output MediaFilesStatus.txt >> MediaFilesStatus.sql
 ECHO SELECT LIKE(FILE,MediaPath^|^|MediaFile) AS USED, FILE FROM FILES LEFT JOIN MultimediaTable ON (FILE LIKE MediaPath^|^|MediaFile) >> MediaFilesStatus.sql
 ECHO  WHERE FILE NOT LIKE '%%.THU' AND FILE LIKE '%%.<em>_</em>%%' ORDER BY FILE; >> MediaFilesStatus.sql
 REM SQL file building finished
 REM
 REM Execute SQL to generate report file
 sqlite3.exe MediaFilesStatus.db3 &lt; MediaFilesStatus.sql
 REM
 REM Open report file with Excel
 excel.lnk MediaFilesStatus.txt
 REM END

RMGC Tables Row Count #databaseproperties #integrity

This query lists the number of rows counted in each of the 22 tables comprising a RootsMagic4 database. If one or more tables are not shown in the list, then these tables are corrupt. The database may be corrupted in other ways not shown by this report, e.g., one or more of the 36 indexes could be corrupted.

RMGC_TablesRowCount.sql

RMGC_TablesRowCount.png

Problem Query Example #requestforhelp

This is an example problem

blahblahblah
TGC55C.ged

Discussions & comments from Wikispaces site


mdriscol

Exporting SQL results to Excel

mdriscol
24 January 2016 23:20:39

I’ve searched the postings here and researched on the internet. I am using SQLite Expert Personal 3 with my RootsMagic 7 database and don’t find anywhere that I can use this version of SQLite to export results to a .csv or some file version that can be imported into Excel. Does anyone know if that is possible?

Thanks!

Mark


ve3meo
ve3meo
25 January 2016 04:14:14

You can copy from the results of a query to the clipboard and paste into Excel. To export to a file, I think you need the Pro version. Look up Export in Help – I don’t see this feature in the free version.

Tom

Tom


momakid

Can I get Alternate Name back into NameTable?

momakid
18 July 2017 03:40:56

I’ve searched the postings here and researched on the internet. I am using SQLite Spy with my RootsMagic 7 database and didn’t find anywhere how to accomplish what I need.

I am fairly new to RootsMagic.

Some action I did in the application causes a record to be added to the NameTable file with the IsPrimary filed is equal to 0. The IsPrimary equal to 0 causes the Alternate Name to be displayed on the Edit Person screen in the application. Alternate Name is displayed both in the left column with a plus and on the Edit Person screen.

I saw several Alternate Name lines on the Edit Person screen. I did not want all of the alternate names so I deleted all of the events with a fact type of Alternate Name in the application.

I still found Alternate names displayed in the left column and in the Edit Person screen. I found documentation that said Alternate names are in the NameTable with the IsPrimary = 0. I deleted them also.

Now I realize those were the married name and did not realize that when I deleted them.

I found a file that had the Alternate Names still in it and ran a query over it to get a list of the people in the NameTable file that have the IsPrimary = 0. I have put those records in a spreadsheet. I want to get those people back in the NameTable file.

Is there a query I can run to repopulate the NameTable file? Or is there a query that I can run that I can put the ownerid in to get the alternate names back into the NameTable?


ve3meo

ve3meo
19 July 2017 03:03:08

Did you see my response to your earlier posting on the home page?

Is it necessary to repopulate the NameTable from the spreadsheet or can the desired Alternate Names be filtered from the old database?

Tom

Named Group – Mark or Unmark List refresh #namedgroup

Intro

We might want to modify a group that we created using one of the parameterised scripts by adding or deleting persons that our programmed rules just can’t catch. For example, a Census Needed group might have someone in it who immigrated to the census jurisdiction after the census year or emigrated from it beforehand. Its rules are not complex enough to filter out these persons. So as we work through a group, we will find that there are persons we would like to remove from the group without getting all fancy about the rules. This page shows how we can go about building a script that we can run in tandem to ‘unmark’ or ‘mark’ selected persons for a group.

WARNING: you may use this type of refresh only on groups fully refreshed by an outboard SQLite query or on empty groups BUT NOT on groups last built or modified by using RM4’s Mark Group/Unmark Group functions as it is possible that the deletion of a person from the latter group may actually remove a range of persons with consecutive Record Numbers.

Group Unmark List

This script could be one of several similar ones with different lists of people. If we have a Census needed #1871 Canada group and a Census needed #1900 Pennsylvania group, the two sets of people to unmark will be very different. So we cannot use a single list with runtime parameters. We will need an Unmark script for each one. Each script will have a corresponding name and hardcoded parameters by which it will select and operate on the correct group. Let’s make an Unmark script for the group “*Census needed #1871 Canada” which we have previously built using the script at Census Needed – Named Group.

This first block of code clears out the temporary table GroupParmTable and re-creates it for the Unmark operation:
NB- LabelID instead of LabelValue error corrected 2011-11-27 21:45 EST

DROP TABLE IF EXISTS GroupParmTable
;
CREATE TEMP TABLE IF NOT EXISTS GroupParmTable
AS
SELECT LabelValue AS GroupID, LabelName COLLATE NOCASE FROM LabelTable
WHERE LabelName LIKE '%Census needed%#1871%Canada%'
;

This table stores the GroupID corresponding to the Group Name that matches the search string ‘%Census needed%#1871%Canada%’ for use by later statements in the script.

The next statement contains the list of RINs that are to be deleted from the group and deletes them.

-- Unmark (list of manual unmarks)
 
DELETE FROM GroupTable
WHERE GroupID LIKE
(
SELECT GroupID FROM GroupParmTable
)
AND StartID IN (78,829) -- list of RINs to unmark, separated by commas
;
 
-- END OF SCRIPT

And that’s all there is to it. As you find more persons you want to delete from the group, you just edit the list of RINs between the parentheses … (78,829,97,12345,2,678) No need to keep them sorted. Putting it altogether, here is my working script: Census needed #1871 Canada – group Unmark list.sql


Group Mark List

A similar procedure for refreshing the ‘manual’ marking of a group follows…

It starts with the same first block of code as Group Unmark above to ensure GroupParmTable registers the group to which we want to add people.

If the list is to replace all that is currently in the group, then we need to clean out the current members of the group with this block of code:

-- delete all persons from the named group whose id is stored in the temp table set up at the start
DELETE FROM GroupTable WHERE GroupID =
(
SELECT GroupID FROM GroupParmTable
)
;

If, instead, the list is to be added to a non-empty group, skip the foregoing block. BUT, be warned that the following code does not prevent the duplication of existing persons in the group. That requires some extra measures TBA.

Now, we add the members in the list to the group:

-- Mark (list of manual marks)
INSERT INTO GroupTable (GroupID, StartID, EndID)
SELECT GroupID, MarkList.*, MarkList.*  FROM GroupParmTable
LEFT JOIN
(
SELECT 78       -- RIN to be marked
UNION           -- required for each successive RIN to be marked
SELECT 829      -- RIN to be marked
--UNION         -- uncomment for next RIN to be added
)
AS MarkList
;

That’s the end of the script. RINs 78 and 829 get added to the target group when the script is run against your database.

If the list got very large, it would be cumbersome to maintain and you can consider a couple of alternatives. One is to keep the list of RINs in a spreadsheet table and use formulas to produce the SELECT RINUNION statements, copy and paste into the script. You can also do it with a regular expression text editor such as PSPad ( Find: (d+) Replace: SELECT $1 UNION ). Another is to create a table of RINs either within your database or in a separate database and revise the procedure to SELECT DISTINCT RIN FROM databasename.tablename, replacing all the SELECT RIN UNION statements with this one.

Name Find query #search

Producing a list of names from your database similar to what is found by RootsMagic 4’s Search > Person List > NameFind, this query does it faster. Moreover, you can sort and filter the results, not supported in RootsMagic Explorer’s NameFind. As a list, it may prove handy to use in conjunction with RM Explorer’s “Record number to find” function (Alt-R).

This query requires the use of SQLite Expert Personal or another SQLite manager that fully supports SQLite runtime parameters of the form $AA::AA(anytext). Neither SQLiteSpy nor SQLite Developer do.

Download

NameFind.sql

Screenshots

NameFindMissingParamDialog.PNG
Sample input dialog

On running the query, you will encounter a series of dialog windows prompting for inputs for:

  • UseSoundex(Y/N) – Y will use the Soundex function to look for soundalikes
  • Surname – the search string for surnames
  • Given – the search string for given names; left blank returns all surname matches

When Soundex is not invoked, you can also use wildcards in the name strings: _ for 1 character, % for any number of characters.

NameFindResult.PNG
Sample result sorted on death year.

The query adds a suffix after the found surname if it is not the person’s primary name: (m) for married name (i.e., the name of the male spouse although that might not be accurate for all cases), (alt) for alternate name.

SQLite Expert Personal allows you to sort these results on any column (it re-runs the query adding an ORDER BY columnname clause). It also lets you filter simply entering a value in the cell of a column above the results or a more complex filter can be built using its Customise button. You can copy and paste selected results directly into Excel and Microsoft Word (use Convert text to table accepting its default settings).

Future

This is about the simplest result set that is useful. Of course, more RM4 tables could be tied in to extend the type of information that could be brought out.

Geo-Lifelines Query #places #placedetails #geocoding #events

2021-11-22 Compatible with #RM8

Have you ever wished to be able to look at all the facts in your family tree database that happened within a day’s horseride of a certain location? Until RootsMagic contains such a report, this adaptation of the LifeLines query helps you view your events for any geographic area in addition to looking at the lifeline of any person in your database.

Edit the SQL file to set the coordinates of your target location and the distance from it you want included. Set the values to (0,0,12450) to include all facts for everywhere. As coded near the end of the query, the results will be sorted by RIN and SortDate so that each person’s events are all together sorted by timeline. With SQLiteSpy et al, you can override that sort by clicking on a column header. Click on SortDate to mix people’s events in a pure timeline sort that may reveal some interesting connections.

Download: Geo-Lifelines.sql

Geo-Lifelines.png
SQLiteSpy screenshot showing results from a database filtered for a range of 10 miles from Oshawa, Ont., Canada.

A Proposal for a Named Group and Color Manager

I’m going to write this up as a free standing utility program that performs only one function. But of course I would prefer that it be included in a bundled and comprehensive utility program. The proposal is for a Named Group and Color Coding Manager for RM5. This intent is to supplement the Named Group and Color Coding capabilities that are already in RM5. For example,

  1. It is possible to create a Named Group from a collection of individuals that are color coded. But it is not possible to create a color coding scheme from Named Groups.
  2. The criteria used to create a Named Group or to color code a collection of individuals does not apply to any persons or facts or changes made to the database after the criteria are applied.
  3. It is not possible to save the criteria that were used to establish a color coding or to save the criteria used to create a Named Group and later to reapply those criteria.
  4. It is not possible to document the purpose of a Named Group or of a color coding with a comment that is associated with the Named Group or color coding.
  5. It is not possible to establish a default color coding scheme for a database, to temporarily change some of the color coding in the database, and then automatically to reset the color coding back to the default.
  6. There are not timestamps maintained about a Named Group or a color coding to indicate when they were established or when they were last reapplied.
  7. It is not possible for the criteria used to define a Named Group or a color coding to include complete Boolean logic (AND, OR, NOT, and parentheses).
  8. It is not possible for the criteria used to define a Named Group or a color coding to apply two or more tests to the same fact. For example, the test “census date equal 1850” and the test “census place contains Tennessee” are not guaranteed to be applied to the same census fact.
  9. There are a number of criteria that would be useful to include in the definition of a Named Group or in the creation of a color coding that are not supported by RM5. Examples are that it is not possible from within RM5 to search for number of parents or number of children, and there are a number of source and citation fields that cannot be searched.

The intent will be to address all these issues.

Here follows a mockup of a proposed “main screen” for the utility program. The mockup assumes that an RM5 database has been opened and that the database already includes a number of named groups.

group_manager.jpg

Note that one of the groups was created from within RM5 itself. Such groups will not include additional metadata needed by the proposed Group Manager.

The proposed Group Manager will need two additional tables in the RM5 database. A table called the GroupDefTable would contain the following data elements.

  1. GroupDefID – a numeric primary key that has no other purpose than to be a unique primary key.
  2. OwnerID – a unique foreign key that can be joined to RM5’s own GroupTable and LabelTable.
  3. CreationDate – the date the Named Group was created.
  4. EditedDate – the date the Named Group was lasted edited.
  5. Comment – Descriptive text for the group (the area in yellow).
  6. Color – the color code to be applied to all the members of the group (if any). This data element is on the Edit Group screen below.
  7. ColorDefaultFlag – a flag to indicate whether this group and its color is a part of the default color scheme for this database. This data element is on the Edit Group screen below.

In order to edit the group criteria for an existing group, the user would double click one of the groups in the list, or would single click or scroll to one of the groups in the list and click the Edit Group button at the top of the screen.

In order to delete the group criteria for an existing group and to delete the group, the user would single click or scroll to one of the groups in the list and click the Delete Group button at the top of the screen.

In order to create a new group, the user would click the New Group button at the top of the screen, and the screen would look something like the following.

group_manager2.jpg

After entering the data for the new group, click Edit Group to bring up the Edit Group screen where the group criteria are entered.

group_manager3.jpg

This screen and the underlying GroupCriteriaTable are not fully formed in my mind just yet. Because this note is becoming so long, I’ll return to it later and fill in more details of how this screen would work for entering the group criteria and how the underlying table will work. I’ll also follow up with some more details of how the group definition process would interact with color coding.

Jerry

Discussions & comments from Wikispaces site


ve3meo

Great!

ve3meo
22 January 2012 13:47:42

What a great surprise this morning, Jerry! Your proposal and detailed outline sound very thorough and useful. I think Named Groups is long overdue for enhancement and your tool will be most welcome by many. I look forward to your further description and progress and would be happy to assist in any way I can.

Are you developing in Visual C++?

Tom


snowathlete

snowathlete
24 October 2012 12:42:33

i also think this looks like an excellent idea. i would definately use this. does it have an ETA?


ve3meo

Manual Mark/Unmark

ve3meo
23 January 2012 23:02:21

I wonder if you have given thought to building and maintaining a list of individual Mark/Unmark settings in addition to the algebraic rules. Your Group Editor might be an adequate user interface with one row taken for each person. Alternatively, I could envision a Mark > Persons or Unmark > Persons opening up another dialog window with the list of persons in the database (as in RM Explorer) with checkboxes – maybe a common list with two mutually exclusive checkboxes each, one for Mark, one for Unmark (or maybe the proper term is Exclude). At its simplest, the dialog interface could just be a list of RINs that the user copies from RM.

I showed a very crude Mark/Unmark of individuals in

This may warrant another table with three fields, GroupID, PersonID and Mark or perhaps a 4th, Unmark. Three would be adequate but the 4th might be easier to work with.


thejerrybryan

thejerrybryan
24 January 2012 05:22:16

Yes, I envisioned a mark/unmark capability on an person by person basis. I don’t think an additional table would be required. But whether an additional table would be required or not, the trickier part would be the user interface. As you suggest, the two basic options for the user interface would be to have row after row of “mark/unmark individual nnnnn” (i.e., by RIN number), or to have a RM Explorer style of marking capability

I’m trying to stay away from what I think is RM’s excessive clickiness. So for example, to enter comments about a group, a note window would not open up. Rather, the user would type directly into what I’m describing as the “yellow area”. I would like to do the same for mark/unmark on a person by person basis, but it may be necessary to do it RM Explorer style.

Jerry