StructureCMS

May 13, 2010

StructureCMS 1.4 Released

Filed under: StructureCMS — joel.cass @ 10:50 am

Recently I have received (finally) a little bit of feedback regarding StructureCMS. Mainly that the administration interface is, well… Ugly. SO I spent a little time sprucing it up and clearing out the cobwebs. Here are some screenshots:

I have also made the following modifications:
- Remove flash-based image uploader (mainly because I was having trouble using it via proxy)
- Added a logo to all templates
- Checked administration system functionality across all major browsers.

Project home | Download File

December 11, 2009

Automatic image resizing in PHP

Filed under: PHP, StructureCMS — joel.cass @ 9:54 am

One big issue in content management systems is that images are usually handled poorly. Even with the best file management capabilities, you can’t help users from uploading their 12 megapixel 15 megabyte images from their recent Christmas party and then chucking them into the content and resizing them down to fit the screen. The problem is that even though the image appears ’small’ in the browser, the full size image is downloaded and displayed, wasting bandwidth and slowing down the user experience.

A concept I really admired in Sitecore and have copied to StructureCMS is that resized images could automatically be created on the server-side and returned to the client simply by adding the parameters ‘w’ or ‘h’ to the URL, e.g. take these images for example:

http://www.jozza.net/blog/wp-content/uploads/2009/12/test120×120.gif
test120x120

The attributes “w” and “h” can be added to the url to resize the image:

http://www.jozza.net/blog/wp-content/uploads/2009/12/test120×120.gif?w=60
test120x120

http://www.jozza.net/blog/wp-content/uploads/2009/12/test120×120.gif?h=200
test120x120, h=200

(if both parameters are defined, image is resized to ‘fit’ within the dimensions)

If you look at the images on their own, you will notice that they are resized by the server, and you can change the dimensions. The crunched down, resized version is sent back to the user, saving bandwidth and improving the user experience. Images are then cached so that future requests do not require any server resources.

How did I do this?

  1. I created image.php in the website root – this gets URL params and creates a new resized image (I’m not going to explain the code – it’s pretty simple)
  2. I installed the apache mod_rewrite module – this is as simple as opening your httpd.conf file and unhashing the line ‘LoadModule rewrite_module modules/mod_rewrite.so’ (and then restarting apache)
  3. I created an .htaccess file that rewrites URL’s
  4. I then modified the tinyMCE image.js file to add the size attributes to the URL

The beauty of this modification is that it won’t break anything if apache nor mod_rewrite are installed. And, with some modification this code could be used on any website.

November 30, 2009

StructureCMS 1.3 Released.

Filed under: StructureCMS, Web Development — joel.cass @ 3:43 pm

Well, it’s been a while in the making, but the third point-release of StructureCMS has been released.

What’s new?

  • Password Encryption
  • Installer Script
  • Latest TinyMCE
  • Integrated SWFUpload functionality with TinyMCE
  • Site settings node
  • Themes, including a suckerfish interface and a new lo-fi “classic” theme currently used on jozza.net
  • Admin display tweaks (logout link, tweaked buttons, menus etc)

Give it a shot and let me know what you think!

Project Home Page: http://code.google.com/p/structure-cms/

Direct Download: http://structure-cms.googlecode.com/files/structurecms-1.3.zip