Sunday, August 12, 2012

Roadmap of Cimbic

Things have moved forward sinse my last blog. Not mutch but still. From a blog by J.Boye I formed the roadmap of Cimbic. Some of the features had already been implemented, others are on the way.
Cimbic roadmap is:

1) Separation of content and presentation - DONE
2) Rich text editing
3) Access control lists 
 - E.g restricting who can view/edit certain areas 
4) Automatic handling of change in navigation / site structure 
5) Short, meaningful, friendly URLs 
 - without file extensions (e.g. .aspx) - DONE 
 - and extremely short URLs 
6) Automatic content import 
 - Eg. RSS / XML feeds 
7) Multi-delivery to different platforms 
 - Including mobile and printer-friendly 
8) Multi-lingual
 - At least western European charset / UTF8
 - Some way to handle sites in multiple languages
9) Broken links checker

Latest improvements to Cimbic are page and site specific settings stored in .json-files. I chose that format because it can present quite complex hierarchy and deconding and encoding is trivial with native php.

Currently I'm implementing point 2 on roadmap - content editing with Create.js. It has quite many dependencies: jQuery, jQuery UI, Underscore, Backbone, VIE, the editor of my choise - hallo.js
One problem I encountered was providing Cimbics static files (CSS/JS/image) when the Public-folder of site not located under Cimbic. Site starts an instance of Cimbic given the physical location of the sites folder on server and then Cimbic would handel the rest. First solution was to refere those files via Controller/method, like StaticFile/css/name/of/file. This worked and I was able to provide static files stored under Cimbic to any site using it and it was quite easy.

But there was one huge but. Providing images refered in 3rd party CSS (and/or JavaScript) is no longer trivial. I do not want to change every reference to images on the CSS/JS files so that I could provide them by Cimbic. And because Cimbics CSS/JS/image files are not responsibility of the Site using Cimbic and therefore those files shouldn't be stored under Site. But the Public folder IS under Site and there's the problem. I don't want to change the hiearchy so that Public folder is under Cimbic and it determinates what Site to present.

My solution was to make install-script that copies or creates symbolic link(s) from Sites public folder to Cimbics relevant folder(s). This way Cimbic would hold it own CSS/JS/image files but they can be refered from Sites public folder. Future step would be to create new blank site with same or similar script. I haven't actually done the script yet - haven't even desided between shell- and php-script.

I also have given step 7 of roadmap some thought. Being quite active iPad user I think that the Sites using Cimbic should use responsive layout to support mobile devices. So I'm studying the matter from Net Magazine and Design Shack. The goal is to provide responsive layout for Sites by with just few class definitions to template divs. We'll see how that goes…

'Till the next time: Keep on coding!

No comments:

Post a Comment