Bloqhead Gets WordPressed Up

As some may know, I’m an avid user of CMS Made Simple and I’ve developed many a website with CMSMS as the foundation. After much research and consideration, I came to the conclusion that WordPress was my best avenue in regards to something more blogger-friendly and jumped right into development. I needed a system that handled my ever-growing blogging desire more precisely and felt that WordPress was my best bet. At work, my colleague has been fitting a website template with WordPress for a radiostation and it’s been nothing but a dream. The website is primarily a blog and so WordPress fit the bill without question. His enthusiasm in WordPress version 2.7.1 is what sparked me to make the final decision and get this bad boy into transition.

Decision Making

As much as I love CMSMS, it was lacking in an area that my website thrives on most: Blogging. Although all CMS Made Simple packages come bundled with a News module and it functions extremely well, I needed something that archived and catalogued my entries neatly and flawlessly, while offering my viewers the ability to interact in the conversation. Again, WordPress fit this bill perfectly. Hell, you wanna know how great the News module in CMSMS is? I’ve repurposed it and used it for multiple things, such as portfolio galleries, XML feeds, etc. I consider it one of CMS Made Simple’s “pocket knife” modules. It’s fantastic but it’s no WordPress. Even CMS Made Simple’s creator Ted Kulp is an avid WordPress user (Hi, Ted!) and we’ve both agreed that the latest greatest version of WordPress is, well, great.

CMSMS pages administration panel

CMSMS pages administration panel

Getting My Hands Dirty

Despite the fact that I have some prior WordPress development experience, I was somewhat rusty in what was required of me to get my template and all of my content shoved over into a new system. Regaining my bearings was a simple task and one I was able to complete in approximately 3 days. It’s funny because being without my Xbox 360 has allowed for me to get some much needed dev time into my own website, instead of melting my brain with late night sessions of Left 4 Dead, Far Cry 2 and Street Fighter 4.

If you’ve ever used CMS Made Simple yourself, you will know that it’s hands down one of the easiest content management systems to use, both in development and manipulating it to suit your needs. CMSMS uses the Smarty PHP engine, which I’ve grown to love, and implementing a template requires a style sheet, a single file with the required smarty calls plugged in and your images. It’s dead simple and it’s a beautiful thing. You can also use multiple templates throughout your website and even apply a separate template to each page, if your heart so desires. Also, all templates and style sheets are stored as database entries, as opposed to being physical files. This has its flaws and advantages. Like a lot of you developers out there may be, I’m pretty anal retentive about how my files are organized and sorted. I prefer to work with a physical style sheet file and physical files in general. Not to fret though. There is a module available called Template Externalizer which, when turned on, exports all of your template and style sheets as physical files in a directory on your web server. You can then edit these files at your leisure and when the Template Externalizer sees that the files have changed, it updates them in the database. I have a lot of experience and it works great.

Needless to say, it was a bit different when it came time to port the template over to the fresh new WordPress installation. Each template is split into multiple PHP files and dropped into a directory. I love having physical files at my fingertips. I guess it comes from the nostalgia of once working with entirely static websites when CMS weren’t as prominent in the mainstream (and when I had barely any sort of experience with them). Static websites are nearly a thing of the past.

The Final Say

If you’re a developer looking for the perfect blogging solution as your foundation, WordPress is your best bet. If you’re more on the market for something that offers a wide array of expandability and less of a blogger platform, CMS Made Simple is an awesome choice. I’ve built multiple websites with it and love it immensely.

If you’re interested in taking a look at my previous CMSMS setup, head on over to this directory and poke around. I plan on leaving it active as my own personal playground.

IE8 Set to Screw Web Developers Once Again

Through the Twitter grapevine, I heard a buzz about something that angered me to no end. Now, before I write this blog, please know that I just completed a rigorous 11.5 hour day of writing code. So if this comes off pretty aggressive, that’s why (aside from the fact that I fucking hate Internet Explorer with a passion).

The dev team for IE8 decided that they were going to once again make things needlessly more difficult for web developers and web standards evangelists. Quoted below from isolani.co.uk:

A year ago Microsoft announced (through A List Apart) that standards compliant websites would be forced to opt into a standards rendering mode in IE8. The uproar from the web standards community was loud and clear: the default should always be render in standards compliancy mode. Microsoft backed down.

So it is with considerably surprise and anger to read that Microsoft have quietly gone back to their original position. The gist of it is if you want to be sure your site renders in standards compliant mode in IE, you have to explicitly opt into it. Otherwise you risk being blacklisted and thrown into IE7 Compatibility mode.

So basically if you want your website to render in IE8 and not get blacklisted, you have to use a new meta tag that the IE8 dev team will inform us of. Otherwise your website will be blacklisted and stuck in IE7 compatibility mode. So when the time comes, not only will we have to test our websites in IE8, but we will most likely have to test in IE7 AND IE7 Compatibility Mode as well.

Read the full article here.

The thing that kills me about this whole thing wasn’t even in the aforementioned article. In another article on isolani.co.uk, they point out a couple quotes from IE Platform Architect Chris Wilson:

The answer is that developers of many sites had worked around many of the shortcomings or outright errors in IE6, and now expected IE7 to work just like IE6. Web developers expected us, for example, to maintain our model for how content overflows its box, even in “standards mode,” even though it didn’t follow the specification – because they’d already made their content work with our model.

Unbelievable. For years, Microsoft put out a sub-par web browser and now Web Developers like myself are the ones to blame? No. Just…no. We’ve compensated for their shortcomings and deprecated software for years on end and now it’s our fault.

We realized that “Don’t Break the Web” should really be translated to “Don’t change what developers expect IE to do for current pages that are already deployed.”

Now we’re all expected to add a meta tag to our web pages so that IE8 will oh so generously not throw our websites into IE7 Compatibility mode, and will so graciously render them for IE8 instead. Web standards evangelists like Eric Meyer and Jeffrey Zeldman have been spearheading the evolution of the web for years and now we’re all expected to take a step backwards to compensate for horrible, cruft-infested programming and they have the audacity to blame web developers as a collective for the shortcomings.

Give me a fucking break. Make a web browser that isn’t a steaming pile of shit for once. Even now, IE7 has issues.

Let’s take the Mozilla team for example. When there was empty promise of the expected IE killer, Netscape 5, the Mozilla team started from scratch and built what has evolved into the Firefox we know and love today. They started from the ground up and built a web browser that has promoted web standards right out of the gate. Instead of following a similar model, the IE dev team has decided to pile more shit onto the steaming heap that is Internet Explorer and continue to apply bandaids to the holes in the dam.

Earth to Microsoft, Internet Explorer is a worthless piece of garbage. Make something new and stop wasting our time.

Hurry Up and Wait

Now we’re going to skip a few steps ahead so that I can save you from reading the unexciting procedures involved in a web project. So we’ve got an approved mockup and we’re to the point where we’re inputting, arranging and formatting content as needed. Now we’re at a stopping point: a small list of pages are incomplete due to the fact that the client fails to deliver on their end. You try endlessly to squeeze the material out of them but to no avail. No promised photography delivered (even after offering photograhpy services to try and peak interest), no text content, not even an outline to give direction on the now stale and empty pages that halt the entire train.

The dust settles?

Months go by and you’ve since closed out the project and billed the client for whatever time may have gone above and beyond the aforementioned deposit. Fair enough. That’s how a normal business works and this is brought to the client’s attention on numerous occasions.

Then one day, out of the blue, the client emails you and expects you to immediately continue production on their website, even though you’ve still not received the photographs and content they’ve promised on 2-3 prior occasions. Of course your current projects are going to take precedence because that’s the way things work. It’s pretty self-explanatory. So you tell them that you currently can’t take on their project until a later time due to the vast amount of work you have at hand. Client reluctantly agrees and disappears back into the busy black abyss that procrastinating clients like to fall back on when they can’t admit that they’re, well, procrastinators.

The email

Time passes and you continue to work on the projects of importance. Not to say that anyone else is unimportant but when you, the client, can’t find the time to at least organize material for the website you claim to be so important to you, then you fall by the wayside and your level of importance diminishes slightly. This should be common business sense. Then one day you receive the irate email. The one that contains things like

"you’ve put me off", "I want my website on disc", "very unhappy customer", etc.

Let’s rewind for a second. This is the client that falls off the face of earth as if the world were flat and they were sailing with a blindfold on. The client that promises you material and never delivers. The client that repeatedly makes the excuse "I’ve just been so busy…". Yes, the procrastinator. The one that makes the project out to be of the utmost importance and then disappears into the night as if they were Batman himself. Hurry up and wait. And now, me, the designer, is the one at fault. I’m the one that put said client off and shunned them aside as if their project were of no significance.

Need I say more?

Seriously, do I need to say anything else? Is my frustration and anger not justified? To some people it may seem petty but it’s something of a pet peeve of mine. I hate taking the heat for something when I’ve held my end up. It’s something that urks me to no end.

End of rant.

Drupal Hell

The Cons

Now, before I list my thoughts about Drupal, please keep in mind that I am currently standing at about 2 weeks of experience working with it. At work, we have been evaluating different systems to broaden our array of tools at our disposal, and Drupal is currently in place for a website project at hand. The main gripe that I currently have with Drupal is that I feel like one thing requires far too many steps to get the end result. I understand that it has a steep learning curve and that at least a moderate understanding of PHP is required, but on the other hand content management systems are intended to make a designer/developer’s life easier when it comes to deploying websites. I feel like this isn’t the case when it comes to Drupal.

Today I found myself repeatedly referring to the manual to do something that, from my CMS experience, tends to be extremely simple. I was basically wanting to create a simple contact form and embed it into a contact page that I had created prior. I found myself lost in a maze of confusion. Drupal comes with a generic contact form out-of-box, but getting that contact form onto a page that you’ve already created was another story. By default, the standard Drupal contact form is placed on a page with the alias “contact” which is disabled. Enabling it allows you to navigate to the form via “/contact” but making your current contact page point to that form was the equivalent of pulling teeth.

Another instance of utter confusion came when I wanted to implement a simple image gallery comprised of clickable thumbnails. I came across various methods, some of which were referred to as “hacks” even, and all of them seemed far too involved to even be remotely labeled as content management of any sort. The entire image gallery concept just seems vague as a whole when it comes to Drupal. One person says to use CCK and avoid Drupal’s built in galleries and images toolkit, and another one says to use the aforementioned toolkit that is bundled with the core installation. Another one says to use Taxonomy, which from my first impression seems really involved and powerful, but on the same note it seems extremely cumbersome for something as simple as a thumbnail gallery.

One of the main things I have an issue with is that the back-end isn’t exactly the most user-friendly interface I’ve come across in the CMS pool. Every web designer out there has dealt with the client that is absolutely the epitome of clueless when it comes to computers, let alone dynamic content driven websites. Expect to charge your client endless hours of consulting when it comes time to deploy and walk them through the content updating portion of their web journey into internet land.

Before even considering Drupal for your next project, keep in mind that there is quite a learning curve and prior PHP knowledge is a must. Without it, you’ll surely find yourself in an endless spiral of modular, taxonomized confusion.

The Pros

Although my views may be somewhat skewed due to my vested love for CMSMS, I know power when I see it. Drupal presents an endless array of possibilities and power, as well as a huge community of programmers and users. One of the things I found to be enticing was the fact that it allows the user to run multiple sites from one admin interface. With a little ingenuity, it’s possible. This is a prime feature that I’ve been looking at for upcoming projects.

Another thing that seemed to be straight-forward and simple enough was templating for the front end UI. Although Drupal uses PHP tags and calls to variables as opposed to the Smarty template that I know and love (because it works well for dummies and it’s quick), the templating is easy to setup and implement.

Final Thoughts

Would I use Drupal for future projects at the moment? Probably not. But that’s not to say I would never consider it in a future project. Drupal offers endless amounts of scalability and is very modular, but deployment is a lot more cumbersome and bloated than I think it should be. Keep in mind, if I were a PHP programmer, I’m sure my mindframe would be entirely different. I would probably have no hurdles when it came to digging into the modules and codebase at hand and having at it.

I really wish I could find more pros to Drupal at this point but I’m really at a loss. This may also be because my frustration level with it before leaving work today was at an alltime peak. I will be working on it for the next month or so and will keep an up-to-date blog on my trials and tribulations.

CMS Made Simple 1.3

I just finished upgrading to CMS Made Simple version 1.3 and have to give the CMSMS team credit for the amount of improvements they’ve made. I think right at this moment, the updated Search module is my favorite pick of the litter. It now offers the ability to limit the search to specific modules only, which can be a simple comma-separated list. A prime example of where this can really come in handy is if you use a forum module of some sort that doesn’t offer a search. You can now implement a separate search that will only be constrained to the contents of the forum itself. Nice!

XML+CMSMS+Flash=Zen

The header of the website was created in Flash and is nearly all dynamic. The before and after photos are pulled from an external images folder with the help of XML, and the XML is actually updated via the admin panel of our CMS Made Simple installation. It’s a really awesome and user-friendly configuration. Once you are signed into the admin control panel, you have free range to change the X and Y coordinates of the images, the excerpt text, the before and after images (via a file upload input), the before and after weights, etc.

The beauty of it all is that there is never the requirement to create a new SWF file. It’s all entirely updated through an interface that even the least tech savvy users can figure out. Absolute perfection! As a bonus, the information pulling into the header is randomized every time the user navigates to another page or hits the refresh button. This was done through a simple Smarty variable in the back-end of CMSMS.

The other positive aspect of this is that the client has free range to update the ‘Success Stories’ section entirely through a user interface similar to a word processing application. The developer never has to get involved just to create a new SWF file, add imagery, etc.

Unfortunately since it’s still in development stages, I can’t post a URL immediately. It should be completed within the next few days though and I will be sure to post an update complete with URL.

Integration, inspiration, progression

Bloqhead had become stagnant for a period due to my lack of time to do anything other than work lately, but I’ve recently gotten back on track with it and have been dilligently writing new CSS, integrating my layout with a fresh CMS Made Simple installation and getting everything pretty. It tends to be a tedious task between testing my smarty templates and writing my classes, id’s, etc. but the end result looks promising.