Railo Support

Hi all, I just wanted to bring everyone's attention to a new bug logged in our issue tracker by Bill Berzinskas. You can read the bug detail in our bug-tracker here: http://cachebox.riaforge.org/index.cfm?event=page.issue&issueid=E71EA06D-D85D-AED1-A198BFC1B17C10C4

I wanted to bring this up because I fully believe that the best software projects are those that have the active involvement of a committed (if small) team and I'd like for CacheBox to be one of those projects. I don't currently have a copy of Railo installed and I'm not sure when I'll have time to install one for testing. I would however love to include a patch from someone who works with Railo on a more regular basis. :) And I hope that you all are comfortable contributing to the bug tracker and contacting me with questions so that we can make this the best darn caching project we can make it!


Released Version 0.9.8 with Fix for Cluster Agents

Since the beginning with CacheBox, I've always had this idea that the service should be able to adjust itself to accommodate whatever resources are available, independent of the requests from the agents. So if an agent requests placement in the Cluster context and there isn't any cluster storage available, the service should automatically downgrade to the next available context, specifically the server context.

I just realized today while testing integration with DataFaucet that this wasn't actually working, so I had to fix that and it also required a modification to the CacheBoxAgent.cfc. So the service is now up to version 0.9.8 and the Agent is up to version 1.3. If you have an agent in your distribution, you should update it.

So now if you have an agent that requests the cluster context and there isn't any cluster storage then when you view the agent list, that agent will appear in the server context instead. The detail for the agent however will show two lines - context and requested context, indicating that the agent has been automatically downgraded to another context. If it hasn't been downgraded, then it won't show the "requested context" line in the detail.

the CallBacks Dilemma

EDIT: I think Barney's comment did actually help me (although I may not have realized it at the time), to find a better way to handle the more traditional ORM in DataFaucet and I've since published a new version of DF (1.1 RC1) with a more traditional ORM tool that uses your objects from a Dependency Injection (DI) factory. The good news imo is that the new tool doesn't require any call-backs in CacheBox. Although I think this is still a valid question: are there cases in which we actually need call-backs from the cache service? Should they be implemented in CacheBox? I'm inclined to say no, but I'd still like to know what others think.


0.9.7 BETA Released

Not too much going on in this release. A few bug fixes -- timehit wasn't being updated in the cache metadata, so I fixed that. And if you had restarted the server or the CF service and then refreshed a page with the detail for an agent before the agent registered, you'd get a CF error, so I added a friendly error message in the management application that explains what's going on there.

I also added a plugin installer for the onTap framework -- I just finished up the initial 3.3 release of the onTap framework that makes use of CacheBox for several aspects of caching that had already been built-in to the framework. What's interesting about the plugin installer is that it doesn't actually do anything in the onTap framework itself, it just downloads the latest version of CacheBox. The reason why it doesn't do anything in the onTap framework is because this latest version of the framework already includes the CacheBoxAgent.cfc, which makes it independent of the CacheBox service. So you can run the onTap framework still with or without CacheBox, you just don't get any of the expiration policies, cluster syncing or other fancy features. I did run into a couple issues with the installer though and had to upload the CacheBox.zip and the plugin zip archive a couple times to get it to work right. And it's on the plugin webservice now, so once you've downloaded the onTap framework you can install CacheBox automatically from within the plugin manager without needing to download it separately.

My next task is updating the caching features in DataFaucet. :)

New Samples including ColdBox in 0.9.6 BETA Released

I fixed a few bugs in this next release. I've also finally got a ColdBox sample in there, and a stand-alone blog sample. The ColdBox sample has been partially tested. (I haven't tested the Mach-II sample or the DataMgr sample yet.)

I also managed to simplify the custom eviction policies quite a bit thanks to the addition of an expire() method in the agent CFC that allows you to flag content as no longer valid without immediately deleting it. If you've got a lot of content in cache, using expire() instead of delete() may result in faster page load times for your users, in exchange for allowing the content to hang-out in memory a bit longer until the next reap-cycle (which by default happens once per minute). Expired content won't be returned from a fetch operation, so it's otherwise functionally the same as deleting the content.

New Password and Login Version 0.9.5 BETA Release

So the frustration yesterday was with the fact that the security would be a challenge for folks setting up clusters and configuring them to auto-sync storage types and agents. So today I recoded the security and added a password and a login form much like the ColdFusion Administrator. I updated the documentation -- the installation instructions are actually simpler now. :) And I uploaded version 0.9.5 with the changes.

Cluster Synchronization in Version 0.9.4 BETA Released

I've uploaded another point release (0.9.4 BETA), with a new Cluster tab that allows you to configure your servers in a cluster to auto-sync. What this means is that when you configure a storage type that supports the cluster context or when you configure a cluster agent, all the servers in your cluster will be updated with the new configuration automatically from the management application. For those of you with several servers in your cluster, this should really help keep your maintenance down to a minimum.

I will say though that I'm not entirely sure what to do about the links to alternate servers. Right now the links show up in the cluster tab, but don't work by default because the management application only works on the localhost for security reasons. Which means if you want the links in the cluster tab to work, you have to create a config.cfc and edit the applyRequestSecurity() method to tell it what IP addresses are safe. I suppose there won't be a huge number of people who run into this issue, since it only applies to people with clusters, but it's still not as easy to install the cluster as I'd like. Maybe I'll have some better ideas later on.

In the meantime I hope everyone's enjoying the new tools. :)

50 Downloads in the First Week!

I just uploaded version 0.9.3. I've managed to add samples of CacheBox integration for the Mach-II framework and for Steve Bryant's DataMgr tool (a data access layer). I haven't tested either of these yet. I've also updated the documentation again and added some information about using CacheBox for singleton storage and for managing sessions with it. It's not exactly what I had hoped for in terms of samples, but it'll do. :) I'd still like to get a simple blog or something in there if anybody knows of a small one that caches its content. I haven't found one yet, they're all at least 1MB download and I don't want to add something as a sample that's larger than the CacheBox. Anyway there's a new download on the project home page.

There've been about 50 downloads so far in just the first week. I'm still looking forward to hearing what everyone thinks! :) I know Matt Gersting integrated it into FuseCache for Fusebox applications, and said that he likes the management application so much he's probably going to use CacheBox for most of his caching. So that's one in the win column. ;) Where does everyone else stand? Am I doing a good job with the documentation? Is it working for you? Have you found any bugs? Is it just so good that everyone is speechless? :)

Version 0.9.2 BETA released w/ Fix for duplicated miss-counters

I was finally able to make a few minutes to sit down and seriously investigate the duplicated miss-counters bug mentioned in the release notes of the last 2 point versions. It turned out to be pretty easy to find and fix once I had the time to sit down and test it.

This is getting pretty close to a release candidate. Mostly before I declare it an RC, I'd like to include a sample application in the distribution.

I was hoping to use BlogCFC as a sample application, but it's gotten a lot bigger since the last time I installed it and I'm not wanting to include something that large. It's well more than twice the size of the whole CacheBox distribution as is right now. If you've got an older copy of BlogCFC, or if you know of another smaller open source project that caches content, send me an email. Thanks!

Version 0.9.1 w/ Memcached Support Released

I just incremented the version number to 0.9.1 because I got the memcached storage type coded and tested. Support for memcached requires installation of the cfmemcached project as well. Cool thing about that is it's just a matter of unzipping cfmemcached into your web root and then it's basically ready. You may also have to configure the storage type in the CacheBox Management App to provide the IP addresses of your memcached servers if you're running several distributed servers. I also managed to get the storage type to test to make sure a memcached server connection is available, so if you put in bad IP addresses, it will tell you that the storage type is still not ready. So if it says memcached is ready, it's really ready. :)

I also did a little more work on the documentation, added some information about supported engines, a namespace primer and a bit of clarification about contexts.

Version 0.9 BETA

I just uploaded a zip archive of version 0.9 BETA for CacheBox to the server. As the version number indicates, this is almost ready to be a completed release. There are a handful of issues I'm still working on (and would really appreciate your help with). There is however a reasonably thorough documentation PDF. Here are my release notes about the issues that need to be addressed:

CacheBox version 0.9 BETA 
Release Notes 

- Getting duplicates of miss-counters in the cache query -- need to find the source of this bug -- not cosmetic, despite the fact that the service works - Optimization starts when a memory failure is predicted 3-hours out -- warning message appears when predicted memory failure drops below 2 hours -- warning message seems pretty frequent, considering reducing the timeline - Optimization method in defaultconfig.cfc is incomplete -- I'm sort of guessing at this point about how best to optimize the cache -- The data is there, but I want better algorithms for applying it - Memcached storage type is incomplete -- needs configuration and code to make it work - Not tested on Railo, so no knowing if the Cluster storage type works - Considering additional storage types -- ehCache? -- MS Velocity?

And a screen shot!

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.5.006. | Protected by Akismet | Blog with WordPress