Rethinking the CMS
Posted: Fri May 23, 2008 1:56 pm
{Moderator: Please move this if it's not in the right forum topic area.}
I've been looking at CMSes lately, trying to think from my client's perspective and my own. On closer inspection in Joomla, if you're given an XHTML/CSS/DIV design and someone says, "Here, go stuff this into Joomla," that's not exactly an easy thing to pull off at all unless it was designed exclusively for Joomla. The same would go with Drupal or many other CMSes out there. There needs to be a completely new way to rethink how CMSes are done.
If I were to write a CMS, here's what it would be like:
* You start with an XHTML/CSS/DIV template, and call each one a "tab page". You use this template on every tab exclusively, permitting you to have some tabs that look different. This is because most of my clients start with an idea in a wireframe (or sort of good-looking) PSD or TIFF or PNG or JPEG file (an image), and then they send it to a designer for polish (again, another image), and then send it off to a chopper to convert into XHTML, CSS, and DIV work (along with some images that may or may not be chopped up). They often don't think of the "customize Joomla" perspective -- they think in graphical pictures.
* Next, you define in the CMS Admin System what menu item clicks will trigger the other tab pages.
* You rip out the "lorum ipsum" text out of the template tab pages and replace it with tags inside that mean things, such as <cms:articles count="5" sort="asc" /> or <cms:article index="1" tab="home" /> or <cms:custom href="gadgets/gadget1.php" />.
* In the CMS Admin System, you define what those tags link back to in the CMS either as canned gadgets or gadgets that you can build. For instance, cms:articles would be a canned gadget that shows a count of articles published into the CMS. Or, cms:custom would call your custom gadget page in the background, scrape its contents, and redisplay inside the section on the screen.
* In the CMS Admin System, you would have ways to manipulate and moderate the canned gadgets such as polls, sections, categories, articles, comments, and so on. For articles, you as the admin could have a BBCode editor to set how this is going to display in the page. For comments, your end users would have a BBCode editor as well (although a bit more limited), and you could moderate those comments or just let them all get posted as is, or remove them if they're bad.
The end result is that your client can now use an attractive and easy-to-use CMS Admin System for manipulating the canned gadgets, and then you could tack on other forms to manipulate the custom gadgets. If they want to change the layout, then they contract with you to change the XHTML/CSS/DIV layout.
I've been looking at CMSes lately, trying to think from my client's perspective and my own. On closer inspection in Joomla, if you're given an XHTML/CSS/DIV design and someone says, "Here, go stuff this into Joomla," that's not exactly an easy thing to pull off at all unless it was designed exclusively for Joomla. The same would go with Drupal or many other CMSes out there. There needs to be a completely new way to rethink how CMSes are done.
If I were to write a CMS, here's what it would be like:
* You start with an XHTML/CSS/DIV template, and call each one a "tab page". You use this template on every tab exclusively, permitting you to have some tabs that look different. This is because most of my clients start with an idea in a wireframe (or sort of good-looking) PSD or TIFF or PNG or JPEG file (an image), and then they send it to a designer for polish (again, another image), and then send it off to a chopper to convert into XHTML, CSS, and DIV work (along with some images that may or may not be chopped up). They often don't think of the "customize Joomla" perspective -- they think in graphical pictures.
* Next, you define in the CMS Admin System what menu item clicks will trigger the other tab pages.
* You rip out the "lorum ipsum" text out of the template tab pages and replace it with tags inside that mean things, such as <cms:articles count="5" sort="asc" /> or <cms:article index="1" tab="home" /> or <cms:custom href="gadgets/gadget1.php" />.
* In the CMS Admin System, you define what those tags link back to in the CMS either as canned gadgets or gadgets that you can build. For instance, cms:articles would be a canned gadget that shows a count of articles published into the CMS. Or, cms:custom would call your custom gadget page in the background, scrape its contents, and redisplay inside the section on the screen.
* In the CMS Admin System, you would have ways to manipulate and moderate the canned gadgets such as polls, sections, categories, articles, comments, and so on. For articles, you as the admin could have a BBCode editor to set how this is going to display in the page. For comments, your end users would have a BBCode editor as well (although a bit more limited), and you could moderate those comments or just let them all get posted as is, or remove them if they're bad.
The end result is that your client can now use an attractive and easy-to-use CMS Admin System for manipulating the canned gadgets, and then you could tack on other forms to manipulate the custom gadgets. If they want to change the layout, then they contract with you to change the XHTML/CSS/DIV layout.