Skip to content

Restructure the architecture that links merge keys to Biblical terms and to Scripture references #61

@inkeysoftware

Description

@inkeysoftware

Problems:

  • Different map collections may want to hang different things on the same biblical key term. "Way of Shur" vs "Shur"; "Ziklag" vs "Ziklag?"; "Ammonites" vs "Ammonites*"; "Kidron Valley" vs "Kidron River"
  • We need to ensure consistency of terms that are just part of a label. e.g. "To Jericho"; "Jebus (Jerusalem)"; "Azotus / Ashdod", "Cana: Jesus turns water into wine. (Jn. 2)"
  • Many maps make a good deal of use of Scripture references as labels or within labels, which shouldn't have to all be retyped. e.g. "(Act. 8:23-28)"
  • The current model of loading all map definitions, all merge keys, all key terms, and all their references into memory will not scale well when adding BOB maps.
  • There is no mechanism to ensure that placenames that should be spelled consistently between Old and New Testaments are. e.g. If you spell it "Harran" for the NT Greek term, you should also spell it "Harran" for the OT Hebrew term. (Currently we link a placename to either a Greek or a Hebrew term, but not to both, as ACAI does.)
  • Our "explicit map form" hack, such as (@Jordan River) might not be feasible with PT10.

Possible Components of a Solution:

  • All map labels for all collections are stored in a project-wide dictionary that maps "label templates" to vernacular text for that label template. Labels themselves are no longer "stored" in the term renderings, though their contents may be derived from term renderings and may need to match term renderings.
  • map definitions are individual json files in a mapdef folder within the collection.
  • mergeKey definitions are individual json files in a mergekey folder within the collection.
  • mergeKeys map to "label templates" rather than 1:1 directly to term IDs, and optionally include multilingual label glosses (which are otherwise derived from ACAI data).
  • Label templates are a mix of tags and text. e.g.
    {@Jerusalem}
    {q}{@Ziklag}{/q}
    {@Jebus} ({@Jerusalem})
    {t}{@Jericho}{/t}
    {@Azotus}{a}{@Ashdod}{/a}
    {@Cana}: Jesus turns water into wine. ({#JHN 2})
    {#ACT 8.23-28})
  • {#___} tags indicate Scripture references.
  • {@___} tags relate to ACAI place IDs.
  • {%___} tags relate to selected ACAI person IDs.
  • {^___} tags relate to selected ACAI realia IDs.
  • ACAI-derived records are stored at a global level under the templates folder. e.g. _LabelerTemplates\acai\place
  • Some additional records may be added for non-Biblical placenames. e.g. Mediterranean Sea; Pacific Ocean.
  • These records contain a subset of the original ACAI records, plus a list of term IDs of Major Biblical Term items from which to potentially draw renderings.
  • A collection may override any ACAI record by including a replacement record within the collection folder. e.g. _LabelerTemplates\UBS\acai\place.
  • Likewise, a collection may supplement the global set with custom IDs and references. e.g. "Londinium" (with no refs); "goads" (with ref of ACT 26:14).
  • Scripture references for the PDL bottom pane come from ACAI json files, not from the Biblical Terms list, though perhaps such references can be associated with.
  • Certain function tags are predefined:
    {t}___{/t} Direction. e.g. "To Jericho"
    {q}___{/q} Question. e.g. "Ziklag?"
    {a}___{/a} Alternation. e.g. "Azotus / Ashdod"
    {m}___{/m} Mountain. e.g. "Mt. Tabor"
    {r}___{/r} River. e.g. "Jordan R."

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions