So the CacheBox project has been up on RIAForge for a good deal of time now but I hadn't made any progress on it in several months. So this past week I finally got back to coding in earnest and have been working on CacheBox in particular, rather than on DataFaucet or the onTap framework, both of which will have updates to include the new CacheBoxAgent CFC for all their caching features. And I'm making good progress, despite the fact that this project always seems to be more complex than I expect it to be.
There is now a real management application for viewing and resetting the cache and I'm now working on forms that will allow you to set storage types and eviction policies while viewing the cache statistics. I'm doing this sort of backwards because the ideal for CacheBox is that you shouldn't need to ever manually set storage types or eviction policies, the service should be able to do all that for you. Actually because the server can check and optimize itself every minute or so, it can do a much better job of optimizing the cache than you or I or any other human-being could. But I'm putting off writing the intelligent automation portion of the service and writing the sort-of boring manual configuration portion first. Once that's done, we should be able to run and test it in manual modes before I finish writing the intelligence.
Something that's a little funny is that I'm considering releasing the very first version with a "deprecated feature" that would allow you to use cachedafter and cachedwithin, the same way you do with native query caching in ColdFusion. Both DataFaucet and the onTap framework have similar features in their current versions, however, they're based on a slightly different, more hands-on philosophy than CacheBox. What are your thoughts? Do you use native query caching in ColdFusion? Do you like the way it's handled?
Anyway, I'm looking forward to the first release and to getting lots of great feedback from all you guys and gals in the community. :) If you're feeling adventurous, feel free to pull the BER down from the SVN server, just beware that there's no documentation yet.