Internals

Introduction

This page describes the internals of Bibledit. That is, it gives technical specifications and information about how Bibledit works internally.

Temporary directory

The directory where Bibledit stores all temporary working data is in directory

.bibledit_temp

in your home directory, e.g. in

/home/joe/.bibledit_temp

Stylesheets storage

The stylesheets, as templates, are xml files. Same for imported and exported stylesheets, except that they are zipped.

Internally stylesheets are stored in a database. This makes reading them faster. The databases are stored in <data directory>/stylesheets.

Data storage

Data, that means, the USFM files, are internally stored as flat files, one file per chapter. This gives faster access to the data. The files are stored in <data directory>/projects/<project name>, along with other files related to this project.

Git tasks

When Bibledit shuts down, it stores any undone git tasks in the temporal directory in file gitjobs.xml. Next time Bibledit starts, it will load these tasks, and execute them.

Bibledit Windows Outpost

The Outpost allows Bibledit to interact with Windows related stuff.

The Outpost does not have any visible functionality of its own.

For communication to take place, Windows Outpost needs to use the same emulator as the other Windows programs you use on Linux. This means that if you install BibleWorks using Wine, then Windows Outpost must also be installed on Wine. And if you use CrossOver Office, then you need to use CrossOver Office for both, and both need to be installed in the same bottle.

Bibledit connects to the interface on the Outpost, and communicates through that channel. This TCP/IP interface listens on port 51515.

For diagnostics or control you can connect to it. In a terminal type

telnet localhost 51515

The following commands are recognized.

BibleWorksReferenceGet

This returns the reference that BibleWorks now displays.

BibleWorksReferenceSet Mat 1:1

This causes BibleWorks to scroll to Matthew 1:1.

SantaFeFocusReferenceGet

This returns the reference that is displayed by programs that work with the SantaFeFocus system, such as Paratext.

SantaFeFocusReferenceSet MAT 1:1

This lets programs, that work with the SantaFeFocus system, display Matthew 1:1.

SantaFeFocusWordSet Saviour

This lets programs like Toolbox, that work with the SantaFeFocus system, jump to the word "Saviour".

Version

This gives the version number.

Hide

This hides Bibledit Windows Outpost.

Show

This shows Bibledit Windows Outpost.

Quit

This disconnects from Bibledit Windows Outpost.

Exit

This exist Bibledit Windows Outpost.

Open http://domain.org

This opens a html or pdf file. Works on Windows only.

All this information is not really needed in normal cases. Bibledit takes care of it.

Outpost version 1.7 and later have support for the Online Bible. See the examples below of what can be done with it.

OLB Connect

Connects to the Online Bible.

OLB GetVersionList

This gets the list of abbreviations of Bibles that the Online Bible provides, e.g. AV.

OLB GetVersionTitleList

This is like "GetVersionList", but it provides the full titles, e.g. AV - 1769 Authorized Version.

OLB GetBookNamesForVersion

This gets the list of names of the books that is in a certain version. The version is to be provided, e.g.: OLB GetBookNamesForVersion AV.

OLB GetBookAbbreviationsForVersion

This is like GetBookNamesForVersion, but it provides the abbreviations.

OLB GetChapterCountForBook

This gets the number of chapters in a book. The version has to be provided, and the book abbreviation, e.g.: OLB GetChapterCountForBook AV Ge.

OLB GetVerseCountForChapter

This gets the number of verses in a chapter. The version has to be provided, then the book abbreviation, then the chapter number, e.g. "OLB GetVerseCountForChapter AV Ge 1".

OLB GetVerseText

This gets the text of a verse, e.g.: OLB GetVerseText AV "Ge 1:1". Notice the use of quotes.

OLB GetSearchList

This searches a version in for some text. Sample:

OLB GetSearchList AV "Noah"

You can add a "T" at the end to make it a phrase search, and a "F" to make it a word search. A space should be before the T or the F.

OLB ShowPassage

Scrolls the Online Bible to the passage, e.g.: OLB ShowPassage AV "Ge 2:4". Quotes are needed.

OLB GetPassage

This receives the focused passage from the Online Bible.

OLB Disconnect

Disconnects from the Online Bible.

Floating windows

All the windows of Bibledit are floating and can be resized. If a new window is opened, then Bibledit will look for the largest available open space, and place the window there. It will also size the window so that it fills that open space. If there is no sufficient space available to place a window in, then Bibledit will look for the largest window, make it half the size, and place the new window in the open space so created.