[jsword-devel] Building on Bible Desktop: BibleBlogs.Net

DM Smith dmsmith555 at yahoo.com
Tue Jan 17 10:42:34 MST 2006

Don Brown wrote:
> I'm in the process of building BibleBlogs.Net [1], a site that 
> provides tools and a forum to help you in your personal search for God 
> and to share your experiences with others.  This is accomplished 
> through the marriage of web journals or "blogs" with Bible study 
> tools, specifically, Bible Desktop [2].
Cool! I like what I see!
> To this end, I've built a blog client into Bible Desktop to allow 
> someone to share their Bible study thoughts and experiences from 
> within the Bible Desktop itself.  The blog engine, Roller [3], even 
> supports group blogs to allow several people to collaborate on a 
> single study easily and the client in Bible Desktop supports multiple 
> blogs per account.  Initially, I was going to build everything around 
> the blog engine, but once I saw Bible Desktop and how well-designed 
> and commented it was, I decided to built it into the site.
> Anyways, my question is where should I go from here? 
>  #1 - I could donate the code to Bible Desktop, once it has been 
> cleaned up to its standards.
This should be the way to go. JSword and Bible Desktop are a 
collaborative effort. So let's collaborate.

You will notice in our code that we code to interfaces. So there 
probably should be a BlogEngine interface, perhaps others (e.g. Blog, 
which defines a site and the user's access to it). We then provide 
concrete implementations. In this case your code would be derived from 
the interface(s). Finally, we use a plug-in model to define a default 
implementation and alternate implementations (though sometimes we leave 
the whole alternates until the point that we have a second 
implementation) When there are alternate implementations, we would 
provide options to pick a default from among the implementations.

I would suggest a further abstraction JournalEngine would not presuppose 
a Web Journal and could be a private local journal. Journal would define 
a location for it and the user's access to it. But we can refactor to 
this when the need arises.

If this is something that should be a user preference as to whether they 
want to do any blogging, then there should be an option to show or hide 
it. If it is something that the user would like to do but might want to 
show/hide it quickly, then an entry in the view menu is appropriate. And 
by using a SplitPane, we could hide/show it like we do the Passage Sidebar.

This might sound like a lot, but it is pretty easy to do.
>  #2 - Continue as a separate project, forking code as needed.
> Since Bible Desktop is GPL, the code is available on the 
> BibleBlogs.Net site [2], so option 1 is more about collaboration.  
> Option 2 obviously necessitates me finding a new name, but it also 
> might help encourage Bible Desktop's design to better accept plugins 
> and extensions.
I think we should move to an OSGI plugin model. I always favor using 
industry standards.
For 2.0 we will probably use RCP from Eclipse. A Blog would then be a 
> Look forward to your feedback and ideas.
> Don
> [1] http://www.bibleblogs.net
> [2] http://www.bibleblogs.net/study
> [3] http://www.rollerweblogger.org/page/project
> ------------------------------------------------------------------------
> _______________________________________________
> jsword-devel mailing list
> jsword-devel at crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel

More information about the jsword-devel mailing list