Creative Juices 4.0. Bigger, Stronger and Now With Moxie!
If you haven't noticed, the site had gone though it's fourth major revision, since I originally launched back in 2005. It's been a slow and painful process but instead of using some off-the-shelf solution for the site, I decided to write something completely new from the ground up. Why would I ever do this, you ask? Well, sit back and prepare yourself for a little story.
When I first launched, it was a very simple ColdFusion site. It didn't have a blog and it really didn't have any content management methods in place. Everything was hand coded and manually updated. It was time consuming, but it fit better with what I was trying to do. I could spotlight some of my clients, show some examples of my work and to provide some sample code to give back to the community. About 6 months after I launched, I soon realized that the site was taking more time to maintain than I had available. I had to come up with some sort of solution to let me focus on the content and not the code.
Looking around at some of the available blog packages out there, I stumbled upon Ray Camden's BlogCFC. At the time I thought a blog was the perfect solution. It allowed me to have a content management system and I thought it would save me a lot of time. So I went ahead and converted the site over and moved all my projects into, what I like to call, a "blog structure".
What The Heck Is A Blog Structure?
A blog structure is basically how most blogs organize their content. For "blog" entries, it's a date driven method that allows you to access the entry based on a date. And example of this is:
You also had the option to create "page" entries. These entries could be accessed via a "perma-link". And example of this might be:
At first, I really didn't understand the concept behind these links, but I soon realized this had a lot to do with SEO (Search Engine Optimization). I'll get into why this is important in a bit.
BlogCFC, My First Blog
After about a month, I finally got everything moved into to the new site. Almost immediately I started to realize I was going to have a few problems. The blog solution was perfect for my client spotlights and general type of entries, but with my projects (tutorials and code samples) I was starting to encounter a few problems. The first, I was trying to organize all my projects as pages, struggling to create sub-pages for the incremental version releases. BlogCFC's page and sub-page manager was crazy confusing. I eventually decided to by-pass this process and just use blog entries for all my projects and code samples. A quick fix I would soon realize was a bad mistake. But that wasn't my only problem.
Around 2007, I was beginning to avoid posting project updates or new project entries. The second BlogCFC's short-coming had to do with the content management system itself. For whatever reason, Ray decided (as of the version I was using) that he didn't want or see the need to have a WYSIWYG editor when creating/editing entries. This meant that I had to either create or edit the entry in a separate program and then copy and paste it into manually. This made it tough to review and edit the entries.
There was another option with BlogCFC. You could actually edit Ray's code to use TinyMCE or FCKEditor for your textareas, but this brought about an entirely new problems relating on how Ray was handling the entry "preview" (or the short excerpt). I won't get into that here, but trust me it was a headache.
Next In Line, Mango
So with all my new frustrations I decided to begin looking around to see if there were any other solutions. I was still under the impression a blog was the perfect solution for my site, so I started googling for other blog packages. I came across the other big ColdFusion blog solution called Mango Blog.
Mango seemed to be a really slick blog package. It had a killer content manager and also had the added bonus of being about 100x easier to skin (another one of BlogCFC's short-comings). I downloaded the code and started playing around with it and I soon realized it was a better solution for my website needs. I again began the process of converting my website and moving everything over into their data format. It wasn't as hard as my first conversion, but it still had a couple of little hiccups along the way.
But as with BlogCFC, I also noticed the Mango had a horrible page and sub-page management solution. Not a huge deal, since I already converted most of my projects into blog entries. But still it was a short-coming. I was able to get Mango up and running fairly quickly and relaunched my site within a month.
A few of my regulars were asking me were a couple of my past projects were, mainly where was my ColdFusion File Manager for tinyMCE. It was one of my larger projects that I had not converted over since my first website. The reason being, it was a monster of an entry and it really needed to have a separate page. But in reality, it was one of my projects that had a lot of revisions, to many in fact, that I really didn't have the time to make all the separate blog entries for.
The 1,000lb Gorilla
My website continued using Mango, all the way up to November 2009. At first, I really enjoyed using it. But every time I had to make a project entry or a project revision, I would hesitate to make it. I was always trying to figure out how to handle the revisions. I mean, should I copy the old entry and make a new one? Or should I just make a short entry saying that I updated the project and provide a link back to the original entry. I wound up doing both and quite frankly it was starting to confuse me as I'm sure you as well. It got to the point that I would hold off or skip updating the website all together.
Here's the problem. Blogs suck for posting projects. If your have your own blog and provide projects or code samples, I'm sure you know what I'm talking about. What sucks about it? Well let's take a look at how a project really works.
- You post your intial project.
- You get feedback from users.
- You make improvements to your project.
- You post your revised project.
- Repeat 2-4.
That's pretty much the life cycle of a project. Pretty simple really. Using the blog structure, you can handle 1 and 2 fairly easily. But when it comes time to make improvements, you have to make a new entry or overwrite your old entry. If you make a new entry, you have the problem of access. Google and other sites might pick up your old entry and new comers may not realize you have an update (unless you go back and edit your old entry). If you overwrite your old entry, you either have to delete all the old comments or keep them which again can affect newcomers view the project for the first time.
The Birth of Boko
What I needed was a completely new system that was part blog and part project management. I looked around, there wasn't anything out there that did what I needed. So I made the decision about a year ago to make something from scratch. This was no small undertaking. Between my normal work load and busy social life, I worked countless hours, taking the best ideas from a bunch of different software packages and slowly built my new website. It went through a bunch of different designs phases and eventually began to take shape. About month ago, it was at the point that I did a soft launch and had a few friends begin using it.
The blog is a typical blog. It has most of the articles that were posted from my previous blogs, with the exception of most of my projects.
The Brew House
This is the new project section. I'm really excited about this. If you notice each project has it's own perma-link. Take for example CF Flashy Slideshow. Ig you take a look at it's link, it looks like:
But if you remove the project version (1.0.0) and just use the project name like so:
It will always take you to the most current project. If I ever post links to the projects on other blogs or discussion groups, I can use this link and ensure that everyone who clicks on the link gets sent to the most current project version.
The other nice thing is the comment section. Comments can be activated/deactivated for each project version. This means that once I come out with a new version, I can choose to close the comments on the previous versions, to ensure that the comments stay relevant. Or, if I choose, I can leave them active. This way, when you do come to the project page, you can be sure that the comments are relevant to the version posted on that page.
Downloads and demos are also relevant to the current version of the project. This was a big problem with using a blog for my entries. Whenever I did a minor update, I would also have to remember to update the demos as well. Something that I would often forget about.
Well, I'm sorry that this post is rambling on, I really didn't mean for it to take this much room, but I did want to let you know why the big "Beta" is in the title of the blog. As of right now, the system is still new. I have implemented a lot of new "spam" prevention techniques. It's possible that these might interfere with normal activity. And I know that some of the content is still a little screwy, but I'm working on cleaning that up.
So if you have any problems or if you have any questions, please let me know. I have a lot of new things to post about. So come back soon!