Ideas for approach to infinite levels system

Not for 'how-to' coding questions but PHP theory instead, this forum is here for those of us who wish to learn about design aspects of programming with PHP.

Moderator: General Moderators

User avatar
allspiritseve
DevNet Resident
Posts: 1174
Joined: Thu Mar 06, 2008 8:23 am
Location: Ann Arbor, MI (USA)

Re: Ideas for approach to infinite levels system

Post by allspiritseve »

jshpro2 wrote:Node's, see ezpublish. think of them like hard links but theyre not ( not recursive ).
ezPublish was sort of the springboard for a lot of these ideas... their tree is built based on the location of the content, though, and like Matthjis I think the url routes should be separate from the content. That sort of leads me to having two different trees (outward-facing, hard link-ish url tree) and an inner content tree that is oriented around components (a blog, for example).

I'll have to check out the wordpress permalink stuff.

What do you do for routing for ne8? I remember you had trouble with the centralized routing in magento, are you leaning more towards distributed routing? (I made those up, so if you have terms, I'm all ears!)
josh
DevNet Master
Posts: 4872
Joined: Wed Feb 11, 2004 3:23 pm
Location: Palm beach, Florida

Re: Ideas for approach to infinite levels system

Post by josh »

It's going to be all database based, I think the routing should apply to the nodes, maybe transparent to the user. You might have 2 different "nodes" pointing to the same content and both might be seperately located in the "node tree", prolly going to apply routes to "sections" ( see ezpublish sections lol ). They weren't the first to do this stuff but they got pretty close to doin it right, problem is its all hard-coded SQL so I imagine their code is in a pretty frozen state
User avatar
allspiritseve
DevNet Resident
Posts: 1174
Joined: Thu Mar 06, 2008 8:23 am
Location: Ann Arbor, MI (USA)

Re: Ideas for approach to infinite levels system

Post by allspiritseve »

Ok, my company is working with another company and using their CMS... I snapped a screenshot of their "Manage Content" screen because I think it illustrates some things for me.

1. The "test event Calendar" was how I originally intended to show a calendar in the browser... but now it seems weird to have a location. A calendar seems like a separate thing than a page, and pretending it's a page seems odd. Maybe that's just a GUI issue, and a big fat calendar icon would solve the problem... or maybe there needs to be a "Manage Calendar" or "Manage Calendars" link on the left.
2. "Press releases" lists the press releases below it. That seems odd to me. Maybe it's because I'm a developer, but I don't think of a press release as being a page. Would a user?
3. "Articles" doesn't list the articles below it, which is good, but it also seems odd to have to find the articles link as a subset of Clinic News.

Basically, all of this is pushing me towards Matthjis's suggestion to have content and display completely separate. None of these content items above seem to depend on context... pages seem to be the only things that actually do depend on context.

So... if I do have a content browser like this, should it be explicit that everything is a display? Should Articles be titled ArticleList, and when you edit it you edit how many articles are shown on a page? (As opposed to editing it and being presented with a list of articles to add, edit, or delete).

Are there other situations where content is context-dependent besides pages?
Attachments
Screenshot of a CMS
Screenshot of a CMS
Screenshot.jpg (77.94 KiB) Viewed 839 times
matthijs
DevNet Master
Posts: 3360
Joined: Thu Oct 06, 2005 3:57 pm

Re: Ideas for approach to infinite levels system

Post by matthijs »

The system you show is what I would consider the most basic system oriented for the end-user. The whole content management system consists of defining a tree of pages. So in this case the presentation and content are the same. You create a new page, write some text and put it somewhere in the tree.

I think a system like that works well for more more straightforward basic websites. Looking at the screenshot you have a separate homepage for which you can manage some extra blocks of content, and then you have all other pages. Those probably all use the same template and the menu is created automatically?

This works well as long as you don't need anything more complicated. For example, a different template set/design for different pages, different menu's for different sections, etc. As soon as you need more flexibility/possibilities, a system in which content and presentation are separated and both be manageable in the system is needed I think.
User avatar
allspiritseve
DevNet Resident
Posts: 1174
Joined: Thu Mar 06, 2008 8:23 am
Location: Ann Arbor, MI (USA)

Re: Ideas for approach to infinite levels system

Post by allspiritseve »

matthijs wrote:The system you show is what I would consider the most basic system oriented for the end-user. The whole content management system consists of defining a tree of pages. So in this case the presentation and content are the same. You create a new page, write some text and put it somewhere in the tree.
The thing is, lots of those items aren't pages, and that's what I was getting at. I'm not really a big fan of the entire tree being available like that anyways... I'd prefer a browser-type page that led you through the site with a couple of clicks.
matthijs wrote:I think a system like that works well for more more straightforward basic websites. Looking at the screenshot you have a separate homepage for which you can manage some extra blocks of content, and then you have all other pages. Those probably all use the same template and the menu is created automatically?

This works well as long as you don't need anything more complicated. For example, a different template set/design for different pages, different menu's for different sections, etc. As soon as you need more flexibility/possibilities, a system in which content and presentation are separated and both be manageable in the system is needed I think.
The system I'm building will cater to both simple, straightforward sites, as well as more complex ones that have many different types of content, various templates and menu systems. Which means I am coding for the more advanced sites and hiding features for the simpler ones.
Post Reply