Finally, we live at an age where even a beginner web developer finds it embarrassing to use table layout for sitebuilding. Tables are very good what they created for: displaying arrays of data. You can style, script, enhance them in many ways.
I often have to hack into CMS systems functionality to make them customized for the clients and requests can be sometimes tricky to do, but I think there is always a simple solution. These clients usually use WYSIWYG editors to manage their pages, but I can't expect that they know XHTML or JSON to manage fancy widgets.
This was the case last time, when I needed to add a tabbed JS widget to a Drupal website. I came up with the idea, that tables can be used for describing data, nothing more and after processing the cells data, the whole table can simply be replaced with the markup for the widget.
This is a dirty hack I know, but at least the users can cope with it. It worked pretty well, the first column is the tab's name and the second column is its contents. There is a valid table attribute "summary" that is suitable for triggering the conversion, the user only have to enter "tabs" to it and the script does the rest.
It is not a problem if the javascript is turned off, because the data is still accessible and it can still be formatted with CSS to make it look pretty.
I'm a big fan of separating the business logic and the presentation layer. This can be easily done by PHP, ROR, Java, etc. but when you try to do it in JavaScript it's not obvious how to do it, or which is the best way.
I've researched a lot on the topic and found two schools that is used by JS template libraries:
- Template language parsing
- Procedural approach
Both are great ways to generate, it only depends on your needs.
Here are some projects worth noting:
About a month ago, I announced the new features of iScaffold 2.0 and now I'm very happy to announce that the project site is online with a release, waiting for visitors.
The code uploaded is currently in its RC1 stage. Feel free to use it and provide feedback if something is not working, or you don't understand.
I recommend you to start with the basics: http://iscaffold.skyweb.hu/articles/6/getting-started
There are some task left, that needs to be done: install a simple forum (i think it will be Vanilla), update the SVN, contact Yolcu and update Google code...
Thank you for all the beta testers in advance.
All rights reserved, ©2008-2010 - Built on CodeIgniter framework - Konami codes - Mostly Valid XHTML 1.1 - Valid CSS 2.1