If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
I’d thought I’d address something pretty basic to Renaissance fairly early on, and that’s its content system.
(Side Note: You’ll have to forgive me for the completely random order of these early posts. It’s hard to know where to start, so I’m just going with it and jumping around from topic to topic).
First things first—Renaissance makes a clear distinction between pages and content. So unlike in, say, WordPress, so don’t just go to ‘make a new page’ and start typing in your content. You make the content first, and then go and create the page, slotting the content in just where you want it.
Sound backward? Allow me to explain…
In the very, very early days of Renaissance, it was much as many other CMSs are. You just went to create a new page, saw a big box into which to type the content and got going. However…
A new dawn
I soon realised that this wouldn’t last long. Clients started asking me why they couldn’t have an image in that area, or a form, or something else entirely. It simply wasn’t flexible enough.
Of course, it would have been possible to create a system to embed other types of content into the text block (as WordPress does), but, to be honest, that just seemed like a nasty hack to me. I wanted Renaissance to be a content management system, not just a web site editor.
So, the content system was born. It’s a bit quirky, but it has many advantages,
- Renaissance knows the type of each form of content (semantic web anyone?)
- You can manage all of your content much more easily (e.g. all your links in one place, all your forms in one place, etcetera)
- Different content types allow you to have much more structured information on a site…
- … and they also allow much more structured relationships between content
- You can put the same piece of content in different areas of a site very easily, often using different views (more on views later)
- It opens up a whole new world of flexibility (that sounds vague, I know—you’d have to see it to know what I mean).
Of course, there are also disadvantages,
- Creating new pages is more work (although editing existing pages is often less)
- It seems counter-intuitive to new users
Working it
Okay, so far, so complicated. This is only going to make sense with some examples!
Let’s start simple. We’ve got a page with a menu bar, a footer and a main content area. It’s that main content area in which we’re interested. The menu area and footer are both configured in the template to be auto-filled with default content items (although you can always change them manually). So to create a new page in this configuration, you just need to create your content item (write your text, configure your form, upload your image, or set up whatever else you might want in that area). Then you just go to create your new page, and slot the new content in. The other areas are filled automatically.
Okay, we’ve not gained a lot there, apart from the fact that the menu and footer are syndicated across the whole site, so we can configure and edit them easily. So, onto a more sophisticated example.
Let’s say you want a news feed on your site. Feeds of this kind are easily created using Renaissance’s list content type. You just need to create a new list, and set up a rule for it to list all news content items (yes, news items have their own content type), list them in order of date and select a view that will display an excerpt of whatever form you want (just the titles, the date, etcetera). Hey presto, instant news feed that you can put anywhere on your site.
I could go on. You could use the same lists system to display feeds for any type of content, or to create business directory listings, or image galleries. The content syndication combined with customisable views gives an awful lot of flexibility.
It would be easy to declare that a simple system where all pages had a footer and a sidebar (or similar) that could be configured as such in specific areas of the CMS (again, similarly to WordPress).
The problem is that it’s just not flexible enough. I’ve designed Renaissance to be able to do pretty much anything, whether I can predict the need or not. And I’m glad I have—on almost all but the simplest web sites I’ve built with Renaissance, I’ve had to use that flexibility to its limit.
Mitigating the disadvantages
I’ve had a few ideas here, but only one’s been implemented so far. One obvious answer is wizards, although this presents the difficulty of templates which have more than one content area (although in reality, most tend to have a single main area).
Another idea was to have automatically generated bundles. A bundle would be a group of content items (including pages), that all share the same title. So, your ‘about us’ page, ‘about us’ text and ‘about us’ image would find themselves grouped together for easy access.
The one idea that has been implemented is similar to the bundle idea. You specify ’same as title’ for the default content of a given content area for a template. That way, if you’ve already created your ‘about us’ text, it will automatically be added to the ‘about us’ page when you create that page. It’s simple, but it saves a click or two.
Finishing up
Most of this is about setting the site up in the first place. Worrying about lists, content syndication and all of that is the domain of the site’s designer. Once a site’s been built, editing and creating content reverts to being pretty similar to most other packages, with the added bonus of having very structured content and relationships.
(More on the different content types, views and structures later).
Related posts:
- Views Okay, I've mentioned views a few times now and have...
{ 2 comments… read them below or add one }
Neale 11.06.08 at 3:40 pm
Looks good. On content, I can see both sides. I find it really easy to add images and vids to a blogger blog, and on a Google site. The problem with those is that they are very heavy on HTML.
My preference is something where you have text content, such as markup for an image to be included at a certain point, and a view can do things like: inline the image, show image as a popup on hover, link to the image, show alt text (e.g. for mobile use).
Rob Chant 11.06.08 at 11:41 pm
I do understand the need for ease of use. Renaissance already has a system for embedding content of any kind (including images) into a text block, as you describe.
It does need an easier way to put pages together though that retains the flexibility. I’m thinking that a very smart wizard is probably the way to go.