Talk:MWCMS

From MWWiki

Jump to: navigation, search

Content Managemement & Navigation

I just spent a few minutes going over my Google Site's control panel. One thing I realised immediately is how I'm not really thinking about where I need to go or which link I should be clicking to add/edit content on the site. The layout and links are arranged in such a way as to make searching and browsing very limited even in the back end.

A lot of the client side "magic" is hidden from the user and the terminology is very simple. This makes it pretty clear that searching and browsing is best reserved for the visitors and not the admins.

I.E. When I click on "Create new Page" there are a variety of templates to choose from...

Web Page Which could be used as your standard "About" page. It has provisions for user comments, columns (a la newspaper) and attachments.

Dashboard Which is a placeholder page for a number of widgets. This could be ideal for the front page of a portal or club site where RSS feeds, slideshows or other functionality can be added/removed without fiddling with code.

Announcements Which is really handy for a "News" section. And each "Post" functions in a similar fasion to a blog post as well, in that comments and attachments can be displayed on each entry.

File Cabinet Which could hold an archive of files for download. A type of file management system that has provisions for folders as well.

List Which is a sortable table page which in turn has a number of sub templates to choose from.

  • Action Items : 'Keep track of action items from a meeting or project'
  • Issue List : 'Track your project's open issues'
  • Unit Status : 'Track the status of individual units in your project'
  • Create your own : 'Define your own columns for your list'

The "Create your own" template allows the adding of your own fields from the start, but really you could edit all the other templates to suit which type of list you want. They are there mostly to speed up the process of adding content.

Another remarkable aspect is how each of these page types can be nested within another and how the page type could be changed on the fly. I could even embed a "Dashboard" within an "Annoucement" post, which leads me to believe that only the appied template defines how the content behaves.

Of course, I have no idea how Google stores this information, so maybe they don't incur any extra overhead with their method of data storage. Maybe they use some type of object database? Or maybe they use the same table, but the content may be stored as XML.

I.E.

<fields>
  <field>
     <itemID>1</itemID>
     <title>Order Number</title>
     <type>Int</type>
     <value>321</value>
  </field>
  <field>
     <itemID>2</itemID>
     <title>Shipped</title>
     <type>Boolean</type>
     <value>True</value>
  </field>
</fields>

etc...

It could be that there is only one table in the database for "Content" with a limited set of fields ("ID", "ParentID", "Title", "Url" etc...) and everything else may be held in another table. E.G. A "ContentData" table with an "ID", "Field" and "Data" columns. This allows a virtually unlimited number of properties per content page.

The down side for such an open arrangement is that as the number of pages increase, the number of "ContentData" entries also increase exponentially. For each item there may be about 10 fields, thus 10 rows in the "ContentData" table. For 10 items, there would be 100 rows in the "ContentData" table and so on...

For Google Sites, the complexity is really limited and obviously a lot of the MWCMS functionality won't apply, but I think there are some inspiration points to be had.

You could create a site of your own and dive in to get some ideas.

Eksith 15:05, 4 June 2009 (UTC)