Sorry to respond so late, busy and timezone differences..
allspiritseve wrote:As I said before, pages are unique because there is no distinction between "page" (content) and a display of a page... whereas you might have "blog" and "post" content, but different views that display that content.
Well, if you don't make the distinction between a "page" as content and a "page" as presentation, then that's your choice and that might be ok. But, if you decide at some point in time that a "page" (yoursite/about-us) should also be able to contain other pieces of content, it might start to get confusing. Like, write a "page" in the CMS. And then add a list of blog posts to that page. Does that page (content + presentation) now contain other pieces of content? And which pieces of content can contain other pieces?
I am not saying you can't pick "page" as a piece of your content. All I'm saying is you have to define the terms right up front so you have clear what is content and what is presentation.
If I look at for example textpattern, there's only one piece of content "article". And then there are many pieces of presentation: 1) "section": that's the first part in the URL, say mysite/articles. 2) "page", that's basically a main template, including header+footer. 3) "form": this is a kind of smaller block in which for example you loop through the latest 10 articles in a certain category. A "page" can contain more references to "forms". Why they picked "forms" is confusing I think.
Wordpress has two pieces of (written) content: "page" and "post". The difference being that the latter is something posted in a timeline, where as a page is not related to a time. The presentation layer in Wordpress is called "templates". In those, you can call all types of content (pages and posts) in different ways
Expression engine has a content type of "weblogs". But in this case "weblogs" are more then chronological posts, they can also be used as pages or articles, not really being blog posts. So that's very confusing.
Joomla has again a different naming scheme and way to get content and presentation mixed together. I can't remember exactly which one. But it was very very, very confusing. Maybe my therapist made me forget it
allspiritseve wrote:Do you think it would be better to COMPLETELY separate them? E.g. you create a blog, write your first post, and then add a blog view on the home page that links to a post view for each post? If this CMS were entirely for developers, I'd have no problem with that, but since it's used by clients I think some handholding needs to take place. That doesn't mean they can't have the option for more flexibility, just that things are dumbed down on the front end. I've been planning for quite some time now to keep locations and content separate, but I want the client's interaction with the CMS to be as natural as possible.
Yes, you are right. The complete separation is the best for flexibility. However, giving all that flexibility to clients them selves can be too much to ask. However, what you could do I think, is build the CMS in a way that you have by default a complete separation. But then, use the "templates", to get the content in the presentation layer. Now, depending on the client, you give them control to those templates or not. So for a non-technical client you would create the templates yourself and you tell the client: "Create a page and it will automatically display on your site and in your navigation menu on the left. Create a news post and it will automatically be displayed on the news page". Say you have a more technical client, you could give them access to the template section. And in that template section they could build different templates in which they make calls for different types of content. How those templates look (php, smarty, etc) again is a choice you make.
I think Wordpress does this pretty well. However, it is by default a blogging system. So even though it can be used as a cms and does in many ways perform better then most "real" cms systems I've seen (even expensive ones), it's main focus remains on the blogging part.
So the ideal CMS for me would have:
1. Content:
- articles / posts
- media (images, movies, files)
1b. Content meta:
- tags
- categories
2. Presentation
- pages / templates / urls
So starting from scratch, you go into the system and start adding content (articles, posts, images, files). Then you go to presentation and start building the presentation: pages of the site. Or sections of the URL (yoursite/about-us). Each page can contain different kinds of content. Say on the homepage you pull in an article "home intro" and a list of "latest news summeries" and a "home picture".
Or these steps can be reversed. First build up the way the presentation would work and after that add content.
Of course this added flexibility has the drawback that it takes a bit more work before you have your first webpage online. It's two steps instead of one. But, you can always decide who has to do that presentation step: you or the client. If the client is non-technical, you can "prepare" the templates and presentation (how the URLs are build up), before the client comes in and start writing content.