[jsword-devel] Key issues

DM Smith dmsmith555 at yahoo.com
Tue May 13 10:31:05 MST 2008


Jonathan Morgan wrote:
> On Tue, May 13, 2008 at 7:36 AM, Brian Fernandes
> <infernalproteus at gmail.com> wrote:
>   
>> I'm upgrading FireBible to handle Genbooks, Dictionaries, Glossaries and
>>  probably Daily Devotionals too, but I'm running into a few issues with keys.
>>
>>  First, a little background on how FB works:
>>  When you select a Bible, Book and Chapter in the FB interface, that
>>  selection is converted into a URL (e.g. bible://gen.1). The URL is then
>>  "loaded", as if you had typed it into the address bar yourself and
>>  pressed enter. Firefox then passes that URL onto FB's "bible" protocol
>>  handler. The protocol handler picks up the active
>>  Bible(org.cw.js.book.Book) from the combo box in the UI and then calls
>>  book.getKey("gen.1") to get a key. This key is then used to retrieve the
>>  data to be displayed.
>>
>>  Problem 1:
>>  The problem with this approach, is the fact that the URL does not
>>  contain the bible(book) name/Id. For example, if you bookmark the link
>>  bible://gen.1 when viewing the ESV bible, the next time you open the
>>  bookmark, if you have the ACV bible selected in the combo you will see
>>  ACV text instead of ESV.
>>     
>
> It's somewhat questionable whether a bookmark should be a bookmark of
> a reference in the current work, or just a bookmark of the reference
> in whichever version is current at the time of accessing the bookmark
> (I can quite easily think of uses for either).  However, I would
> expect the history to return to the version that it was in.

For the Elephant release, I am working on a BookMark class which will 
memorize some of the state of the application when the bookmark was 
made. The basic idea is that each action that results in viewing module 
data is something that can be bookmarked.

With regard to whether the reference should have the current work, I 
think it depends upon the implementation. In BD, we plan to allow a user 
to apply a bookmark against a different work. See "Applied Bookmark" below.

This is based upon BD-59 in Jira (Jira is down, so I'll repeat it here):

BD-59:

This can use the save/open verse list feature, but it needs to be fixed. Save All, should be changed to create a BookMark set.

It should store the state of the Bible View. This should include:
1) the books that are selected and their order.

2) Their selection (e.g. passage lookup or search request for Bibles; BCV for commentaries, displayed entry for "dictionaries") [Probably should save both lookup and search request so that if the index is dropped the restore will still work and so that the search does not have to be done again.

3) The state of the View Menu at save.

4) The font spec currently in effect. (This may not be necessary)

In order to have this work with current lists, there should be a version number.

Also, the directory that they are currently saved in is ~user. It should probably be a bookmark subdirectory of $JSWORD_HOME.

There should be Bookmarks list which the user can access and maintain (delete, rename).

This should dovetail with History, allowing the user to save any history element as a Bookmark.

The user should be able to specify that BibleDesktop automatically saves all Bible Views as a BookMark set, using that to restore the application on startup.

The user should be able to specify that a BookMark set is used to start BibleDesktop each time it starts.

Some key features are:
1) Bookmarks - The ability to save a view of a book. This may be a single verse, a collection of verses, a chapter, a dictionary entry, a commentary selection.... The Bookmark will also retain the View settings when the Bookmark is created.
2) Automatic Bookmark - The ability to automatically save the Bookmarks for every book that is being viewed when the program closes.
3) Historical Bookmarks - The use of Bookmarks in "Forward" and "Backward" navigation. Currently the program only remembers what verses are being viewed.
4) Applied Bookmarks - The ability to apply a Bookmark pertaining to one Bible version to another.
5) Annotated Bookmarks - The ability to save notes for a Bookmark. Other SWORD programs use "Personal Commentary" This will be our primary mechanism instead of Personal Commentary.

It is likely that this will replace Save and Save All.

This won't save the physical layout, but only the content layout and its order. Saving the physical layout will come later.







More information about the jsword-devel mailing list