Uploaded image for project: 'Bible Desktop'
  1. Bible Desktop
  2. BD-135

Bible Desktop does not display Map modules correctly

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0
    • Component/s: book display
    • Labels:
      None

      Description

      Install and select "Net Bible Maps" or "Maps by Epiphany Software" module in BD.
      Observe that the section of the sidebar which usually displays a table of contents (either a list or a tree) remains empty, without which you cannot do anything with these modules.

      Note: ftp://ftp.kleinpaste.org/pub/sword/zip/ has netmaps.zip and epiphany-maps.zip used for this test.

        Attachments

          Activity

          Hide
          dmsmith DM Smith added a comment -

          I've fixed this and tested the mentioned modules. There were a couple of bugs:
          1) The display code assumed MAPS were GenBooks. There were several possible solutions:
          a) have BD see if the Book was an instanceof SwordDictionary. This approach had the disadvantage of being the first and only place that BD knew about SWORD modules.
          b) Make the tree also handle lists. That is let a list be a tree of depth = 1. The problem with this is that the optimization that was applied to large dictionaries would have to be applied to gen books. While this is probably a good idea, it was not a simple idea.
          c) Expose whether the book presents it's keys as verses, as a list or as a tree.
          I chose c), implementing KeyType.

          2) If the module didn't have an entry it would throw an exception. In one of the modules, there was no 0 entry. Such an entry now returns a usable value.

          Show
          dmsmith DM Smith added a comment - I've fixed this and tested the mentioned modules. There were a couple of bugs: 1) The display code assumed MAPS were GenBooks. There were several possible solutions: a) have BD see if the Book was an instanceof SwordDictionary. This approach had the disadvantage of being the first and only place that BD knew about SWORD modules. b) Make the tree also handle lists. That is let a list be a tree of depth = 1. The problem with this is that the optimization that was applied to large dictionaries would have to be applied to gen books. While this is probably a good idea, it was not a simple idea. c) Expose whether the book presents it's keys as verses, as a list or as a tree. I chose c), implementing KeyType. 2) If the module didn't have an entry it would throw an exception. In one of the modules, there was no 0 entry. Such an entry now returns a usable value.

            People

            • Assignee:
              dmsmith DM Smith
              Reporter:
              brian.fernandes Brian Fernandes
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: