Select all, then copy (CTRL-A, CTRL-C):
------------------------------------------------------------------------
Simple Parallel Bible (PHP/MySQL) [Generated] 2008-08-08 10:31:55 GMT
+1000 [URL] http://jesus.com.au/html/page/parallel [Path] Home /
Etcetera / Techology / Parallel
------------------------------------------------------------------------
The *Simple Parallel Bible* is a search and lookup tool that can be
easily added to any PHP/MySQL website. It lets you link to multiple
passages, in parallel [1] (for side-by-side comparison) or in a list
[2], with a single link, without leaving your website.
[1] http://www.jesus.com.au/bible/matt+19.16-30|mark+10.17-31|luke+18.18-30
[2] http://www.jesus.com.au/bible/matt+5.43-48/6.5-8,19-21/7.24-28
-- View the Screenshots below
-- Try the demo version [3]
-- Download bible.tar.gz [4] (0.6.0, replaces 0.5.2 [5]) and
web.sql.gz [6] (right-click/hold-click and 'Save As')
-- Follow the install instructions below.
[3] http://www.jesus.com.au/bible/
[4] http://www.jesus.com.au/demo/bible.tar.gz
[5] http://www.jesus.com.au/demo/bible.0-5-2.tar.gz
[6] http://www.jesus.com.au/demo/web.sql.gz
*2007-02-19* -- The 0.6.0 release (a) corrects two bugs which caused
abbreviated sequential references to display incorrectly (thanks,
Matthew V. for the bug report), (b) simplifies search results, and (c)
adds virtual paths. So instead of /bible/index.php?q=john+3.16, or even
/bible/?q=john+3.16, you can now link to /bible/john+3.16, IF your
Apache configuration supports mod_rewrite and .htaccess (see below).
Email me [7] with any questions, or Add feedback [8] to this page.
[7] http://www.jesus.com.au/html/email/editor/parallel
[8] http://www.jesus.com.au/html/add/feedback/parallel
1. License (GPL)
2. Screenshots and overview
3. Promotion
4. Installation: FTP
5. Installation: Linux shell
6. Upgrading to version 0.6.0.
7. Virtual paths in Apache2 with mod_rewrite and .htaccess
8. Known Issues
9. A note to Bible copyright holders
10. Similar programs
11. Future developments
........................................................................
[[ 1. License (GPL) ]]
The *Simple Parallel Bible* is distributed under the GNU General Public
License. Take it, use it, change it, enjoy.
GNU General Public License (GPL) [1]
From OpenSource.org, the text of the leading open source
software license. "The licenses for most software are designed to
take away your freedom to share and change it. By contrast, the GNU
General Public License is intended to guarantee your freedom to
share and change free software--to make sure the software is free
for all its users."
World English Bible [2]
Modern English, no copyright -- perfect for web use! The *Simple
Parallel Bible* presently uses the World English Bible.
[1] http://www.opensource.org/licenses/gpl-license.php
[2] http://www.ebible.org/
........................................................................
[[ 2. Screenshots and overview ]]
Some screenshots of version 0.5.2; almost the same as the current
version.
[[ Figure 1. Simple [2] ]]
[1] http://www.jesus.com.au/img/SPB-Help.png
[2] http://www.jesus.com.au/demo/bible/index.php
The *Simple Parallel Bible*, as the name suggests, is mainly designed
for simplicity. Thus there are no radio buttons or checkboxes to
complicate the interface. The program determines from the nature of each
query whether a search or a lookup is being performed. It correctly
handles terms like 'Philemon', which it recognizes as a passage
reference rather than a search term.
[[ Figure 2. Parallels [4] ]]
[3] http://www.jesus.com.au/img/SPB-Parallels.png
[4] http://www.jesus.com.au/demo/bible/index.php?q=matt+19.16-30|mark+10.17-31|luke+18.18-30
When queries are separated by pipe '|' characters, they are displayed in
parallel, for side-by-side comparison. A maximum of four parallel
queries can be shown for the sake of readability.
[[ Figure 3. Ranges [6] ]]
[5] http://www.jesus.com.au/img/SPB-Ranges.png
[6] http://www.jesus.com.au/demo/bible/index.php?q=matt+5.43-48/6.5-8,19-21/7.24-28
Passages references can include dashes and commas to indicate ranges. In
the results, an ellipsis (...) will indicate any omitted text. Passages
separated by slashes will be shown in sequence, and book names, if
omitted will carry on from the prededing term.. A maximum of ten
sequential queries can be shown.
[[ Figure 4. Search [8] ]]
[7] http://www.jesus.com.au/img/SPB-Search.png
[8] http://www.jesus.com.au/demo/bible/index.php?q=church|assembly|SHINE
The search facility is primarily designed for ease of use. Terms are
combined with an AND, so adding terms narrows a query. Terms will match
any part of a word. Lowercase queries search the New Testament, while
uppercase queries search the Old Testament. One of the quirks of the
World English Bible, the fact that the word "church" never appears, is
illustrated in this example.
[1] :
...................................................................:.
[3] :
...................................................................:.
[5] :
...................................................................:.
[7] :
........................................................................
[[ 3. Promotion ]]
To plug the Simple Parallel Bible in an email newsletter, or some such
forum, you might use the following text:
The Simple Parallel Bible is a search and lookup tool that can be
freely added to any PHP/MySQL website. It lets you link to multiple
passages, in parallel (for side-by-side comparison) or in a list,
all with a single link and without leaving your own site.
http://jesus.com.au/demo/bible/index.php
http://jesus.com.au/demo/bible/index.php?q=matt+19.16-30|mark+10.17-31|luke+18.18-30
http://jesus.com.au/demo/bible/index.php?q=matt+5.43-48/6.5-8,19-21/7.24-28
In HTML you might say --
"The Simple Parallel Bible [1] is a search and lookup tool that can be
freely added to any PHP/MySQL website. It lets you link to multiple
passages, in parallel [2] (for side-by-side comparison) or in a list
[3], all with a single link and without leaving your own site."
[1] http://jesus.com.au/demo/bible/index.php
[2] http://jesus.com.au/demo/bible/index.php?q=matt+19.16-30|mark+10.17-31|luke+18.18-30
[3] http://jesus.com.au/demo/bible/index.php?q=matt+5.43-48/6.5-8,19-21/7.24-28
> The Simple
> Parallel Bible is a search and lookup tool that can be freely
> added to any PHP/MySQL website. It lets you link to multiple passages,
> href="http://jesus.com.au/demo/bible/index.php?q=matt+19.16-30|mark+10.17-31|luke+18.18-30">in
> parallel (for side-by-side comparison) or href="http://jesus.com.au/demo/bible/index.php?q=matt+5.43-48/6.5-8,19-21/7.24-28">in
> a list, all with a single link and without leaving your own site.
........................................................................
[[ 4. Installation: FTP ]]
If you have shell access on a Linux/UNIX server see the second install
guide, below. This is a general guide to installing the Simple Parallel
Bible by FTP. Let me know [1] if you have any trouble.
[1] http://www.jesus.com.au/html/email/editors/parallel
1. Make sure you have your FTP details and your MySQL user
name,password and database name, and the URL of your MySQL Web Admin
Service.Contact your web hosting service if you do not know any of
thesedetails.
2. Download the following two files to your PC:
bible.tar.gz
[2] and
web.sql.gz [3]
3. unzip and untar bible.tar.gz with WinZip, Powerarchiver,
StuffIt, gunzip or whatever you happen to use on your computer.
4. in the new bible subdirectory, edit the setup.inc.php file, so
that it contains your MySQL username, password and database name
5. Upload the bible directory to your website using your FTP client
6. Open a web browser, point it at your web host's MySQL Web
Adminservice, and log in. You should see an option to upload and execute
anSQL file. If this handles gzipped files (most do), you can upload the
web.sql.gz file as it is. (Otherwise unzip it first, this means a
roughly 10 Meg upload, however, which may not be possible or practical.)
7. Click 'Browse', and choose the web.sql.gz file, then hit submit
in the web form. Unless you have a really fast connection, go make a cup
of coffee or something at this point. The script, when it has run will
produce two new tables in your database: bible_books and bible_verses,
containing the World English Bible.
8. Now point your browser at the bible directory you have just
created on your website. You should see something looking exactly the
same as our demo site [4]. Click some of the demo links to check that
everything works.
[2] http://jesus.com.au/demo/bible.tar.gz
[3] http://jesus.com.au/demo/web.sql.gz
[4] http://www.jesus.com.au/demo/bible/index.php
And there you go. Once again, Contact me [5] if you have any technical
problems or any comments, good or bad. Don't contact me if you're having
trouble with basic concepts like FTP. There are hundreds of tutorials
online for FTP, MySQL, unzipping, etc. Google is your friend.
[5] http://www.jesus.com.au/html/email/editors/parallel
Google Search Engine [6]
The world's most popular search engine.
[6] Http://www.google.com
........................................................................
[[ 5. Installation: Linux shell ]]
Move to your website's root directory, then get the two files you need
via http. wget is simplest, though lynx --source does much the same
thing once you pipe it to a file, and is available on more servers.
wget http://jesus.com.au/demo/bible.tar.gz
wget http://jesus.com.au/demo/web.sql.gz
Untar the bible/ directory.
$ tar -xzf bible.tar.gz
Create the database containing two tables: bible_books and bible_verses.
It may take half a minute to add the 30,000 verses and then create their
indexes.
$ gunzip web.sql.gz
$ mysql -u {username} -p {databasename} < web.sql > sql.log
Password: {userpassword}
Obviously, insert the appropriate {value} between the curly brackets. I
recommend either running SQL in quiet mode, or piping the output to a
logfile -- as I have done here -- unless you want a few thousand
screenfuls of line-by-line INSERT confirmations.
Edit bible/setup.inc.php so that it contains your database access
details:
$database_host = '';
$database_user = '{username}';
$database_pass = '{userpassword}';
$database_name = '{databasename}';
Point a browser at the front-end, and away you go.
http://yoursite.com/bible/?q=luke+15
........................................................................
[[ 6. Upgrading to version 0.6.0. ]]
To upgrade to the latest version, you only need the new version of
[1]bible.tar.gz. The database is unchanged. The following instructions
assume the Simple Parallel Bible is located at
"http://{your-web-site.org}/bible/"; adjust if necessary.
[1] http://www.jesus.com.au/demo/bible.tar.gz
First, rename your old directory from "/bible" to "/bible2" (so you
still have a working copy, whatever happens). Then unpack the new
bible.tar.gz to create the new bible directory, and add your database
details to setup.inc.php -- i.e. proceed as you would with a new
installation of the files. Then view "/bible/" on your server, and test
that the example links work.
What you *will need to check* is whether your system supports virtual
paths (see below), i.e. whether it has .htaccess and mod_rewrite
enabled. If the default install returns a 'file not found' error when
you try to view a verse, say /bible/luke+15, then set the $virtual_paths
variable to "false" in setup.inc.php. You will need to link to verses or
searches using the 'q' variable, e.g. /bible/index.php?q=luke+15.
........................................................................
[[ 7. Virtual paths in Apache2 with mod_rewrite and .htaccess ]]
When you add your database connection details to the setup.inc.php file,
you will notice a line that reads $virtual_paths = true;. This enables
the most intuitive linking, by allowing you to omit the 'index.php?q='
part of any links. It lets you link directly to /bible/matt+28, for
example.
This depends on your web server being Apache, and being configured to
support both .htaccess and mod_rewrite. These allow the index.php file
to handle ALL paths which start with /bible/ (or whatever your directory
path is).
If the example links on the help page return 'file not found' errors,
you need to EITHER set this variable to false, OR activate these two
services, OR get your web hosting service to do so. If in doubt, take
the first or third options.
If you administer your own server, then you will probably understand the
following instructions, which cover the default Debian Linux install of
Apache2, and may be able to adapt them to your needs. Note that while
this is what works on my systems, yours may do things differently, so
consult your usual sources for more information.
1. .htaccess is enabled by removing any line that says
'AllowOverride None' in the Directory section of the appropriate
VirtualHosts file in /etc/apache2/sites-available.
2. mod_rewrite is enabled by executing the command sudo a2enmod
rewrite.
3. Neither change takes effect until you restart the web
server,e.g. with sudo apache2ctl restart.
........................................................................
[[ 8. Known Issues ]]
These will be corrected in the next round of changes. Surprisingly,
people who offer feedback or suggest improvements never seem to notice
that:
-- Several hundred OT verses contain footnote links [1] which do
not work, and need to be removed or replaced with DFN tags. Searching
for 'DIATHEKE' (capitals) finds these.
[1] http://www.jesus.com.au/bible/DIATHEKE
While I'm discussing the database, if anyone wishes to put any other
freely distributable Bible translations into the following database
format I'm happy to host the SQL files.
mysql> desc bible_verses;
+-------+--------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+--------+------+-----+---------+-------+
| b | int(4) | YES | MUL | NULL | |
| c | int(4) | YES | | NULL | |
| v | int(4) | YES | | NULL | |
| t | text | YES | MUL | NULL | |
+-------+--------+------+-----+---------+-------+
5 rows in set (0.00 sec)
Thats book, chapter, verse and text columns (in HTML), respectively. Use
the existing WEB database as a guide if unsure. I'll add the indexing.
........................................................................
[[ 9. A note to Bible copyright holders ]]
Many good quality English-language Bible translations presently benefit
almost no-one, least of all their copyright holders, having negligible
market share.
Distribution licenses exist, however, which could give such translations
a new lease of life. They would allow copyright holders to increase the
distribution and usability of their texts, at little or no cost, while
preserving their ownership and publication rights. The best known of
these licenses, which cost nothing to use, are published by *Creative
Commons*, and generally indicated by the phrase "Some Rights Reserved".
For example, a copyright holder might allow:
-- free distribution of their *unmodified* text only,
-- for *non-commercial* purposes only,
-- in *digital* formats only, and
-- only if the copyright owner is *credited* in all copies
Under such a license, anyone who distributed the text of a translation
without observing its license conditions would forfeit any right at all
to use it, and could be prosecuted in the normal manner for copyright
violation.
From several perspectives, there are good reasons to consider this kind
of licensing for Bible texts that would otherwise be declining, or those
for which print editions are increasingly unviable.
-- It scarcely needs to be said how much this would
benefitChristian ministries, especially those involved in Bible
distribution,by allowing them to take the fullest advantage of the
internet anddigital media.
-- Or, for that matter, how additional exposure and goodwill
wouldbenefit the first few translations to take such a step -- perhaps
evenreviving the demand for print editions.
-- And it should be evident how such a step would serve the
obviousfundamental goal that drives the production of a Bible
Translation inthe first place: That people would read it.
-- Also, while respecting the need to recoup translation
andpublishing costs, at least *some* of the best modern translations
should be made freely available, on biblical principles alone.
-- Finally, web techs like myself need nothing more than such
alicense to develop a whole new generation of freely distributable
biblesoftware tools, like the *Simple Parallel Bible*, using modern and
authoritative translations.
If you represent the copyright holder for a modern English translation,
and are potentially interested in this, but think that downloads from
your website would be a cost issue, please contact me [1]; I can
probably arrange hosting with no such limitations.
[1] http://www.jesus.com.au/html/email/editor/parallel
Similarly, I would be happy to provide, or help you find, any further
information you require on this subject. But the best source of
information is probably the Creative Commons website.
Creative Commons [2]
Creative commons licenses allow copyright holders to release
their work for free distribution, under specific conditions, without
losing copyright control. Such licenses cost nothing to use.
[2] http://creativecommons.org/
........................................................................
[[ 10. Similar programs ]]
I'm not aware of anything quite like the Simple Parallel Bible
elsewhere. The following links may assist you if you're looking for
something similar, however.
Freshmeat.net / Simple Parallel Bible [1]
The Freshmeat site collects open source projects for Linux and
related operating systems. As you can see, the Simple Parallel Bible
is listed in the 'Religion' category.
SourceForge.net [2]
SourceForge is probably the largest repository of open source
software projects in the world.
[1] http://freshmeat.net/projects/simple_parallel_bible/
[2] http://sourceforge.net/
........................................................................
[[ 11. Future developments ]]
Someone asked where I see this project going over time -- Well:
-- I'd like to keep it simple -- the simple, unified interface is
amajor functionality point.
-- I'd like the multi-lingual version to have a big long list ofSQL
language files that can be downloaded. Currently I have AncientGreek
and possibly Vietnamese -- but that's not officially public yet.
-- I'd like to change the Ancient Greek version to fully
polytonicUnicode: ἐν ἀρχῇ ἦν
ὁλόγος, καὶ
ὁλόγος ἦν
πρὸςτὸν θεόν,
καὶθεὸς ἦν
ὁλόγος. I have the sources, it will just
takesome heavy processing.
-- I might create an 'advanced parallel bible' -- a separateproject
branch with a more complex interface. If I did, I'd like toallow the
administrator to group books into searchable lists (e.g.Pauline letters,
Pastorals, undisputed Paulines, Corinthians (together),etc... whatever
they want to make block-searchable), and throw inporter-stemming of
search queries (so "love" automatically matches "loving", "loved", etc).
And I might add a grammatical concordance for Greek, or mouse-over
parsing. I've wanted an excuse to write some grammatical software for
ages. :)
-- I'd like the publishers of the NRSV and the NA26/27 Greek
torelease their texts under Creative Commons licenses allowing
freeredistribution, with attribution, without modification,
fornon-commercial purposes.
-- I'd like to create an online, interactive harmony of thegospels,
perhaps at Jesus.com.au. Though I've toyed with the idea of
aninteractive web commentary, like a biblical kind of wikipedia. A
betteridea, though, would be to have a database of the parallels, so
that theycan be automatically cross-referenced or parallelled with a
singleclick.
-- It's fairly well style-sheeted at the moment, but it could
dowith some graphical theming.
-- And a function library to make it easy for other PHP programs
toquickly pull out individual or random passages.
Creating Multilingual Web Pages [1]
Subitled: "Unicode Support in HTML, HTML Editors and Web
Browsers". For anyone interested in creating new second-language
editions of the Simple Parallel Bible.
[1] http://www.alanwood.net/unicode/htmlunicode.html
........................................................................
(no subpages)
------------------------------------------------------------------------