Rant: Sometimes Third-Party Software Pisses Me Off

Posted on October 29, 2008 at 6:45 PM in Rants, Fusebox, ColdFusion

Third-party software can be a great addition to your toolbox. A few great examples of that would be ColdBox, Transfer, and ColdSpring. The aforementioned are my personal favorites, since I use them together to quickly build very rich applications that would take me an eternity to build without them.

It took me years to be willing to even use third-party software because I was not the one in control. (There's also the point of wanting to build things myself for the sake of learning, but that's an entirely different topic.) Over the course of the last two-ish years, I have actually enjoyed the benefits of someone else's labor, and I am most appreciative of those who have authored and/or contributed to great projects like ColdBox, Transfer, ColdSpring and others. However, this week I ran into a perfect example of why (on occasion) third-party software really pisses me off.

I have a new project on the table for which a CMS would arguably be best suited. Since this is a pro bono project, I cannot justify the expense of a CMS like Savvy, so off I went in search of an open source CMS. Several months ago I read an article about a relative newcomer to the arena, Sava CMS. At the time I made a mental note to give it a test run when I had the opportunity, so early this week I decided that it was a good time to do so.

I downloaded the project and read through the installation instructions. They seemed pretty straight forward, so I got started. Within a matter of minutes I had all of the prerequisite stuff taken care of, and was ready to launch the admin panel.

Ooooops! An error occurred. Seems that Sava runs on Fusebox. I still haven't found a single word on the site nor in the docs that indicate Fusebox is a requirement. Oh well, no biggie, I'll just add my Fusebox mapping and we'll be up and running.

Ooooops! An error occurred, but no information was delivered to the screen. Off to the logs I went, and quickly found that the settings.ini file was missing a property (version). No problem, I added the property to the file, set to an empty string.

After doing this the admin panel loaded without any issues. Great! The lack of mention regarding Fusebox and the missing property in the ini file are really trivial things that were little more than an annoyance.

I spent a few minutes playing around with various things, and had a really good feeling about what was going on. Sava seems to have a lot of features packed into it, and it also seems to be easily customized and/or extended. But it was getting late, so I headed off to bed.

The next morning when I went to my computer, all of my ColdFusion applications were shut down - each request resulting in a 503 timeout error. "Hmmm, that's strange," I thought, "I haven't seen that before." A restart of the CF service, and I was back in business.

About 2 or 3 hours later, I again started receiving 503 timeout errors on all of my CF requests. "WTF is going on here?" I questioned, a bit more agitated. Another restart of the CF service, and things were back running again, but this was twice in a very short period of time that this had happened after never happening in the past. I knew at that point that this was not some fluke occurrence, so I began trying to figure out what was the cause.

I recently upgraded to CF8, so I thought that maybe there was some sort of bug in CF8 that I was unaware of, and went searching blogs and Adobe to see if that would shed any light on the situation. Bob Silverberg pointed me to a post from Mike Brunt regarding heap memory issues, so I gave that a shot. No dice. Another 2-3 hours pass, another CF service restart.

I know what you're going to say. "Hey, Quack, why didn't you check the CF logs first?" To be honest with you, I'm not really sure why I didn't do that first. I finally did, and I found that a Sava file was the culprit. That in and of itself doesn't bother me at all, but this does:

Unbeknown to me, when I originally ran the Sava admin application, a scheduled task was created to run at 15-minute intervals, indefinitely. The scheduled task ("SiteMonitor") is what was crashing CF.

That absolutely pisses me off. I have gone back over the installation instructions several times, and I have gone through the online docs several times, and nowhere have I found any indication that using the software would add scheduled tasks. In my opinion, this is completely unacceptable. My entire server gets shut down because of a behavior in a third-party software that is not even casually mentioned in the documentation. As a result of these crashes, not only have I lost money in time spent trying to track down the problem, but I have lost money because the resulting crashes affected other revenue-generating applications.

To those of you who author and release software - closed or open source, if for some reason you must alter the end user's server environment in any way, be sure to explicitly indicate - preferably in several places - that installing your software will do so, and let it be known what those changes will be. Otherwise, you just might end up pissing off your potential users who will not only refuse to give you a second chance, but they might also post rants about it on their blog. :D

Comments
(Comment Moderation is enabled. Your comment will not appear until approved.)

On 10/30/08 at 1:26 PM, Tony Garcia said:

I feel your pain, Matt. That was surely a surprise to me to find out that the Sava installation creates a scheduled task. I'm still not sure how I feel about that, but I have to say that I've played w/ Sava both on production and testing servers, and I've never experienced a crash like you described.
Also, although the Sava admin is written in Fusebox, the CMS doesn't create Fusebox sites. The CMS can be extended using Fusebox, but you can also use Model-Glue, if you want. In fact, you can integrate ANY front-controller application into a Sava site by setting it up as a custom display object. The only caveat is that it can't require Application.cfc, which excludes my beloved ColdBox. But I've been so impressed with Sava that I'm probably going to sit down and learn Fusebox (plus it won't hurt to have another framework in my arsenal anyway).

On 10/30/08 at 2:50 PM, Matt Levine said:

Matt,

I'm the lead developer of Sava and just want to say sorry for the hassle that your short but painful Sava experience caused you. I take your concerns seriously and have actually started a thread in our forum to discuss:

1. Why things where done the way they are.
2. What is and is not acceptable in relation to the scheduled task.
3. If anyone else has experienced the same issue with the siteMonitor.cfm task hanging.

http://www.gosava.com/sava/forum/messages.cfm?thre...

Again, we didn't mean to ruin your day but hopefully your feedback here in this blog will help save people from the same fate in the future.

On 10/30/08 at 3:10 PM, Matt Quackenbush said:

@ Tony - Thanks for the comments regarding your experience with Sava. It is indeed appreciated. And I agree, it sucks that it (apparently) excludes ColdBox.

@ Matt - You have no idea how much I sincerely appreciate your comment. Not even so much the comment itself, but the fact that (a) you took time out of your presumably busy schedule to comment, (b) that your comment is dignified and professional, and (c) that you have taken proactive stance with regard to the Sava documentation and forums, proving that your comment is not just lip service.

On 10/31/08 at 1:39 PM, Jonas Eriksson said:

Hi Matt (and Matt) :-)

I've been using Sava CMS for a couple of projects now and so far it has been rock-solid performance for us. What the "early adopters" of SavaCMS certainly value most of all is probably what became clear through Matt (Levine)'s post - fast and helpful responses.

Sorry that you got some serious issues when trying it out & "thanks for sharing" though - always good to know what can hit you.

All the best,
Jonas

On 11/23/08 at 12:29 AM, Tony Garcia said:

Hi Matt,
Just to follow up, I was able to (quite easily) integrate ColdBox within Sava. If you're interested, here's the blog post.

http://www.objectivebias.com/blog/entry/integratin...

On 1/26/09 at 4:25 PM, Phillip Senn said:

Does Sava run in a shared plan?
You mention Pro bono, are you hosting it yourself?
What about the requirements to have admin, config, default, fckeditor, requirements, tasks, Application.cfc, contentServer.cfm, index.cfm in the web root?

On 1/26/09 at 5:01 PM, Matt Quackenbush said:

@ Phillip - I know there are a number of people that run Sava in a shared environment, but I'm not one of them. "Shared" gives me the hebegeebes, no matter what the application is. ;-)

On 1/27/09 at 2:51 AM, Matt Levine said:

We've had some good success with installing Sava on shared hosting at hostek.com. They even have installation instuctions on there site.

http://hostek.com/faq/kb/index.asp?action=recordde...

On 1/29/09 at 3:47 PM, Phillip Senn said:

I wanted to post here that Matt Levine was tremendously helpful in determining that the hosting company I chose didn't have the right JDM driver.
<cfoutput>#createObject("java", "java.lang.System").getProperty("java.version")#</cfoutput>
Because of Matt Levine's guidance, I went with hostek.com and was able to successfully install Sava.
CodeBassRadio

Latest Articles

Eventually something really brilliant and witty will appear right here.

Calendar

February 2017
S M T W T F S
« Jan  
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

Subscribe

Enter a valid email address.

The Obligatory Wish List