In the mass of trying out this and that CMS for blogging and content publishing, I settled on SilverStripe. Overall, I’m sorta pleased with it.
I’m very picky about permalinks, SilverStripe has a completely customizable permalink structure which I’m very happy about. The drag-and-drop menu reorganization was really friendly and made it easy to manage a large menu hierarchy. The CMS is also very manageable and infinitely extensible.
SilverStripe ships with it’s own MVC framework which runs the CMS called Sapphire. What this means for me is that when I feel like extending the base functionality, I can do so with concepts ingrained into me from Rails. Very cool! Then I can choose to release my code back to the community as a module.
Of course, there are some features that are, in my opinion, are totally broken and not value-add functions.
The file upload manager is completely unusable. Sometimes it will upload, other times it will stop uploading completely, or even fail to start entirely. The image cropping and resizing tool is a useless feature and it makes images look terrible with every recursive edit. To me, a simple file upload interface would suffice. Something Flickr-like would be nice, but I think what SilverStripe currently has implemented is overcomplicated and completely defeats the purpose of even being in the feature set.
Other than my gripe with file and image management, SilverStripe is quite a nice start. It was a pleasure to get it up and running on my server and it has the advanced features I require. Even with the borked file management, I give SilverStripe 3 out of 5 stars for trying a new approach.
I am a huge fan of HAML for generating templates in Rails.
A feature I was previously unaware of in HAML is that you can mix regular XHTML code in with the HAML code. This is especially useful for inserting an XML prolog to your template layout. I recently saw this exemplified on Robot Has No Heart
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
%html{"xmlns"=>"http://www.w3.org/1999/xhtml", "lang"=>"en"}
%head
%title Layout Example
%body= yield
Cool, huh?
As you may know, adding an XML prolog forces Internet Explorer 6 for Windows into Quirks Mode even though a doctype has been declared, while other browsers remain in Strict Mode. So this can be useful when you need to specify a massively different stylesheet to IE6 in Quirks Mode, while remaining in Strict Mode for your main stylesheet for all other browsers.
Another useful application of this technique is whipping together sites in StaticMatic. Textarea tags give me whitespace headaches in HAML, so now I just write the actual XHTML tag for it. No problems. I use StaticMatic to build page templates that will be ported over to another application. Yes… that’s how much I love HAML.
After having a lover’s spat with Ruby on Rails, I’ve decided to see all that’s out there as far as rapid development application frameworks for the web. So far, I’ve been more impressed with Rails overall - mostly due to the completeness of features - but several PHP frameworks have really caught my attention.
CakePHP, Zend Framework and now Code Igniter.
I sat down in front of Code Igniter last night, and this morning I have a completely working front-end prototyping tool which modularizes CSS layout logic, color scheme and typography settings. Very cool, and it was deceptively easy.
One thing I really noticed was it’s weight. Code Igniter is FAST! Way faster than Rails, and faster than most of the PHP frameworks I’ve been using too.
I think this may be the start of a beautiful rekindling of my love for PHP.