Mini-Project: jpcache

So after releasing one modification for jpcache, I've now adopted it as a mini-project.  I've used this application for a long time now and have found it to be an absolutely great addition to all of my pages.  In short it allows you to cache complex pages once they are generated and optionally compress the output on the fly as well.  This caching can effectively turn your complex pages into a static pages, thus allowing you to server them up faster.  Additionally you can specify the time between page generation/cache updates from 1 second to indefinitely.

So what's the problem?  I had made a few small contribution to the project a number of years ago and had discussed developing a cache management interface with Jean-Pierre (the "jp" of jpcache).  I actually never pursued this as MyClient was already meeting most of my cache management needs.  But sometimes I just wanted to quickly flush a single-page from the cache.  So I was compelled to develop a page-level flushing mechanism.  This development, after a minor modification was accepted by the project, but never released.

So a good deal of time passed and it became clear the jpcache project unfortunately had ground to a halt.  That's OK, I understand because being the developer of several projects myself, I can easily see how it happens.  Simply put, running a project is a lot of work.  I considered taking up the cause, but I was already managing more projects than I could handle.  It was at this point I released my page level flushing modification as V2.1pl via my blog.  (see below)

So for a longtime I was content with the situation.  Then in early 2008 I learned that jpcache had been taken over and renamed QuickCache.  I was happy to see somebody had taken up the cause and emailed the project lead about my single-page flush modification.  And unfortunately I never heard back from them, nor has this change shown up in the project.

Again I just sort of gave up on it.  But recently I've been looking for a reason to use the PHP SQLite extension simply because I found it interesting.  Thus I opted to (quickly and easily) create a SQLite backend for jpcache.  And at the time of writing this, it's the backend I'm currently using, although that could change in the future.  I thought about submitting it to the QuickCache project, but it appears that it's development is also stalled.  Thus I've opted to release it as "jpcache V2.2" at this time.  See the newly created jpcache project page for more information on this release.

In the future it's possible my jpcache changes could be incorporated into QuickCache should they be interested.  But a more likely scenario would be for me to create a new project branch —which I guess I effectively have at this point.  My reasons for doing this, beyond what's outlined above, is that one of the changes QuickCache made was the elimination of the configuration file.  Personally I disagree with this change and feel the configuration should stay separated from the operational logic as much as possible.  I also still toy with the idea of creating a cache management tool.  But realistically it's more likely I would first modify MyClient to support SQLite databases.  At that point I would again not need a management tool, although it would be nice to add that at some point.  Thus I will be maintaining some version of jpcache for the foreseeable future if for no other reason, my personal need and desire.  So if you're an abandoned jpcache user or simply someone looking for a web page caching solution, this might be a solution for you too!
April 13, 2008 @ 09:31 am | Category:
comments powered by Disqus