Homepage Toolbox-Open Source, Enhance

INTRODUCTION

I ripped out quick block about what I want from the SOC initiative this summer, and then stumbled into some guidelines for submitting a proper proposal. Hopefully this will answer more questions and indeed will put Homepage Toolbox (HPTB) on the top of a few candidate's shortlists. I'm happy to answer questions or discuss ideas outside of the application process, just drop me a note.

CONTACT INFO

Rob Leachman
rob@bitblaster.com
(Instant messaging/IRC: of course, email to coordinate)
503-534-4514

SYNOPSIS

Help me take my Homepage Toolbox Project to full open-source status. Enhance to provide RSS, etc.

BENEFITS TO COMMUNITY

Homepage Toolbox 3.5 is a functioning weblog/photo album/page builder CMS written in Java using Apache Turbine, MySQL and ImageMagick. It has proven a reasonable platform for development of new application functions and should be interesting for those wanting to host or work with a Java-based system for delivering this type of service or similar.

DELIVERABLES

    Phase One: Release Open Source
  1. Deploy a developer instance of HPTB, documenting each step required, as is, to get it to run elsewhere (consider this a "binary release" target). I'll work with students to deploy - 2 weeks? perhaps a little more if they don't have a server available (I can provision).
  2. Move the source from private CVS archive to a public repository (sourceforge or better). Short work, under a week.
  3. Develop a process for fully downloading and building from source, based on CVS branch level, to support a "source code release" target. Document. There are some gaps, might take a 2-3 weeks to address.
    Phase Two: Enhancements
  1. To Be Determined. The only item I'm committed to is an RSS implementation (two weeks?); without it users are almost always advised to use WordPress or another solution that supports subscriptions.
  2. Applicants are encouraged to submit personal ideas for phase two.

DESCRIPTION

HPTB is a Java servlet application written for the Jakarta Turbine Web Application Framework. Right now MySQL is the backend but of course Turbine supports most of the popular databases so with little work PostgreSQL or another engine could be employed (OK Bart? ha). It is successfully deployed on Linux and OS X. The project was written from the ground up to be extensible; there are only a few database tables, mainly: two to support photo albums, one specific to blogging, and the rest of the functionality handled by a "tree item" table of loosely defined fields linked together in a parent-child tree. A data dictionary table was coded but not implemented (instead comments have sufficed thus far to handle the different types of tree data definitions).

Therefore, a content page can be considered a set of content elements, bound at runtime to descriptors for output of HTML (or XML) tags. CSS is used to handle all styling and positioning of the displayed page. You can see this on my home page, the content is poured through different descriptor "layout paradigms" and then based on the resulting tag structure, different CSS "display paradigms" can be easily applied to produce the desired result. Another layer of separation exists between the CSS layout elements and CSS "flair" elements (color and font) but this idea hasn't proven as useful as first imagined.

The photo album functions are handled in basically the same fashion (though a bit of hardcoded HTML remains in the back-end, an item for the enhancement list). The photo album publishing feature is fairly mature, in fact I've been told it's more efficient than most other web-based solutions. The user uploads the original full-sized image which is scaled (ImageMagick/JMagick) for web display -- a fairly routine approach in 2006 except most applications don't allow use of arbitrary directory structure for the image repository. Today HTPB users must understand FTP so an image uploader would be a fine enhancement idea (perhaps Gallery Remote for maximum platform independence).

Recently the photo organizer was enhanced to use AJAX for single picture selection, which required proof that HPTB can produce pure XML. This opens the door to any number of future enhancements.

RELATED WORK

  • Jive Forums - I will start here, by way of explaining the early days of HPTB. My 0.x version was based on adapting the somewhat-open-source Jive Forum software to provide blogging features; had to abandon this effort when Matt and the gang pulled back their "free" offer in December 2001. History has shown they made a savvy decision. Lesson learned and I moved on, selecting only true open-source licensing. After a 1.x internal development effort, 2.x went to production April 2002.
  • Adactio - Jeremy Keith illustrated the end result I aimed at when starting this project. HTPB should provide a novice with a way to create a site similar to his.
  • WordPress - Today this might be a great choice for this sort of thing, if one wanted to use PHP and not Java.
  • Gallery - This open-source project is very popular and might be the defacto standard for quick album hosting software. Lots to like here, though I hope to do better. PHP.
  • Drupal - Another direction to consider. PHP.
  • Squarespace - I wanted to be this guy but didn't invest the way he apparently did. And he started a few years after I did so the choices were even better for technology.
  • phpBB - I only mention this project as proof HPTB can be integrated with other solutions. I use this for my Support Forum, single-signon and matching "brand".
  • CSS Zen Garden - Illustrates the power of CSS. I've adapted one layout for use on Toolbox here and this week secured permission to try another one as time allows.

BIOGRAPHICAL INFORMATION

I graduated DeVry Institute of Technology with a CIS Bachelor's in 1988. I've maintained steady salaried programming work since then, with just a few employers. My first job was with Fiserv, where I was at for twelve years before I was given a choice of taking paid severance layoff or "find a fit" elsewhere in the company. I took the former, and started coding Homepage Toolbox to supplement my offerings at BitBlaster Internet Services, a profitable boutique ISP I've operated since the mid 90's. I didn't reach all my goals and instead returned to working for somebody else (like all the smartest people do, I guess). Currently employed by Kaiser Permanente as Lead Programmer Analyst.

I've been a user of open source but meager contributor. I'm ready to repent! I'm a fine programmer and ready to give back. Nothing in this present initiative is beyond my ability, except one thing: without participants I won't be able to justify the time (certainly not this summer) to release HPTB into the wild. Securing an SOC commitment provides the needed impetus to move to the next logical phase of development.

CONCLUSION

I do not believe this is a "boring project". As I said in my initial introduction there's a lot here for the right candidate. I have dreams for HPTB bigger than I care to blurt out here. Some are indeed "stuff that's already been done to death" and then again -- well I'll finish by asking you the candidate reader the same question that's brought me this far:

    "OK so after you log in, what do you want to have happen"?

I thank you for your consideration, and do please send any comments or questions my way!

Rob