Godaddy Nightmare with a Happy Ending

I recently agreed to put up a site including a forum for a non-profit organization. I decided to try out Godaddy because of the limited cash flow of my client. Godaddy offers very cheap Cold Fusion hosting (and they have great commercials!) so I jumped on it.

At best it’s been a learning experience. At worst, it’s been a nightmare. The basic site went up easily enough…all HTML. Then came time for the forum. First I tried Ray Camden‘s open source forum, Galleon. Unfortunately several of the queries contain subqueries which are supported in MySQL 4.1 and up. Godaddy unfortunately is still running MySQL 4.0.24. In addition to that issue, there are also a number of disabled ColdFusion features including the inability to use CreateObject which is used liberally in Galleon. I changed all of the createobjects to cfinvokes and began rewriting the queries but it soon became a very tedious process and I decided to look for an alternate solution.

Next I attempted to download iPostMX, Cole Barksdale‘s open source CF forum, but his site was having difficulties and I was unable to download the software. I gave up on CF for the time being and moved on to PHPBB which I was unable to install for reasons I was never able to surmise. Then it was CommunityServer, a wonderful community with a wealth of add-ons that comes free with a Godaddy account. The forums installed and after 2 escalated calls to Godaddy support I was able to use it. Unfortunately, I soon ran into a problem when I tried to use the Photo Gallery feature. Apparently the transaction log filled up and, because the database was not stored on my domain I was unable to truncate it and Godaddy was unwilling to assist.

Exasperated, I searched for another solution and came across Rick Root‘s expansion of Galleon called CFMBB. It installed easily enough and Rick had already rewritten the problem Galleon queries. I then quickly converted the createobjects to cfinvokes (I had already done it once before when setting up Galleon so I had a good idea of what needed to be done). Pessimistically, I went to the site and to my pleasant surprise, it worked…for the most part anyway.

I ran into issues with calls to the java timeZone class and had to remove all references to that but all told it only took me a few hours to get it set up and working. I plan to write up my modifications soon for anyone to use. I couldn’t help but notice that I wasn’t the only disappointed Godaddy user out there as I Googled from one issue to the next.

In the meantime, if anyone reading this post is going through the same struggles I went through, leave a comment and I’ll be happy to help out!

-rG

PS: Special thanks to Brian Rinaldi for his assistance on several of the issues I was having and for providing such a fantastic open source CF list!

12 thoughts on “Godaddy Nightmare with a Happy Ending

  1. Glad you liked CFMBB! I actually fixed a bunch of timezone bugs, but of course since godaddy doesn’t let you use createObject() you pretty much can’t use the timezone classes, which is a real shame.

    1.01 has just been released which fixes what I hope are the last of the bugs.

  2. I’ m on hold right now to GoDaddy support 🙂

    I was wondering were you granted access to ‘D:\TEMP\wwwroot-tmp’? I think this is needed for cffile upload and others. I’ve called but they don’t know what I’m on about.

    I’ve also been thru the same exercise to get BlogCFC running on GoDaddy. It’s doable, but ony just.

  3. Thankfully, I haven’t had the need for cffile yet. I’m pretty sure they disallow its use. I placed my most recent client on hostmysite. It’s more expensive (though not unreasonable) but it’s definitely worth it for ColdFusion hosting. Very reliable, very helpful, and no disallowed tags.

    -rG

  4. rG,

    Thanks for the blog. I am also in the same situation: not-for-profit org, GoDaddy, and wanting a forum. Can you post your changes that you made to remove all references to createObject?

    MichaelF

  5. Hi Michael,

    VERY sorry for taking so long to respond. I don’t have very heavy traffic here so I haven’t checked it as often as I should.

    It’s been a while since I developed the cfmbb site and not only don’t I remember the location of all of the changes, but I also make some custom modifications to the forum making it almost impossible to put together a pure modification guide.

    But here’s how to get around the createObject issue: Wherever you see an instance of createObject, replace it with a cfinvoke. Here’s an example from the Application.cfm:

    Change the CreateObject:
    <cfset application.cfmbb = createObject(“component”,”cfcs.cfmbb”)>

    to cfinvoke:
    <cfinvoke component=”cfcs.cfmbb” method=”init” returnvariable=”application.cfmbb”>

    Here’s another application.cfm example:
    cfobject…
    <cfset application.user = createObject(“component”,”cfcs.user”).init(application.settings)>

    cfinvoke…
    <cfinvoke component=”cfcs.user” method=”init” settings=”#application.settings#” returnVariable=”application.user”>

    Unfortunately, there’s no way to invoke a javascript object so I simply had to comment out any references to timezone. I lucked out because the members of the site I designed were all from the same timezone so I just used a dateadd to adjust to the correct timezone. Here’s an example of that:

    Original:
    <cfqueryparam value=”#dateConvert(“local2utc”,now())#” cfsqltype=”CF_SQL_TIMESTAMP”>

    Modified:
    <cfqueryparam value=”#dateadd(“h”,3,now())#” cfsqltype=”CF_SQL_TIMESTAMP”>

    Hope that helps,
    -rG

  6. rG,

    THANK GOD I found your website. GoDaddy driving me nutz regarding this CreateObject. I’m new with ColdFusion and trying to install CF forum into my church website. Wish me luck to change all the CreateObject to Cfinvoke with your guideline 😉

    Thanks rG !!

  7. Any chance of posting the altered CFMBB or Galleon code with the cfinvoke workarounds? I’m putting up a site myself for a non-profit on Godaddy, and I’m running into the same problems.

  8. Hi DeForrest,

    The group I deal with tries to remain as private as possible so I’ll have to check through the code first. I should be able to get it posted tonight.

    Note that this is getting a bit dated (I think I used version 1.01) but if you’re using the same version of CFMBB everything should work for you as it does for me.

    One other caveat is that, because GoDaddy cripples createObject, you can’t create the javascript object that handles localization. Luckily for me, everyone involved in my forum is in the same time zone so I was able to address the problem by commenting out all references to localization and hard-coding the time zone.

    It was by no means a perfect solution but it worked (and is still working).

    -rG

  9. OK, so I’m posting this a little later than I promised. I wanted to check through the code and make sure it was as generic as possible.

    Please note that the zip file does NOT contain the entire CFMBB. I am not posting this for distribution. I’m posting it only to demonstrate how I got CFMBB to work on GoDaddy. Please use the files as reference only.

    In most cases I commented out the original code and placed the replacement code underneath.

    Once again, please remember the code is not intended to be used as is. I intentionally left some unmodified files and folders out to dissuade anyone from simply copying and pasting it as is.

    I hope this helps!
    cfmbb.zip

    -rG

  10. This is why you should run your own vps or server. Take the hosting company out of the equation. I run a server with Server Intellect and never have to worry if my websites are going to be shut down because someone if hogging the resources of the CPU. I can also run any software including beta and never have to hear my host say “we cant install this because it will effect other customers”

Comments are closed.