Andy Wardley <[EMAIL PROTECTED]> writes:

> There's something I've been working on that might be of interest in
> this discussion of CMS.

Your document system model is similar to what I am thinking about now.


Design
------

I want to look at a website as an object tree.  Some objects will have
a collection of subobjects that you can switch between.  And some
objects will be linked.

I wan't to represent the whole website.  How do I represent the nodes
(objects / parts) in a way that works with navigation?  How to do
navigation depends on some things:

  - Navigation object and viewport in same frame
  - Navigation object and viewport in diffrent frames

  - Navigation object reflects viewed page
  - Navigation object doesn't reflect viewed page


My idea is that the object tree should be the same regardless of if
you use tables or frames for the site layout.  But the generated pages
will differ.  The page generation engine must know where to create
framesets and there to include objects in table cells.

The other thing I'm thinking about is that pages should not have a
direct coupling to a container.  Pages should have metadata and those
metadata should be used for viewing selections of pages.  It's the
inverse of placing pages in docsets.


Example of object tree:

   Web site (title=company_name)
      Main background (bgimage=logo)
         Center part (width=640, height=440, align=center, valign=center)
            Menu (height=40, valign=bottom)
            Main
              Infoblocks (align=right, width=200)
              Viewport


The "Center part" should apear in the middle of the browser.  Either
using tables or frames (frameset with 5 frames).  "Menu" could be
frame or table.  The same for "Infoblocks".


Case 1.

Let's say that all but 'Main' are frames. "Infoblocks" and "Viewport"
are two columns in a table.  A selected page from the Menu should
change the Viewport content, but not the Infoblocks.  The Menu should
change to a page indicating the selected page.

The page generator could do this by either generating a frameset for
each page (including the same Viewport) along with the menu page.
Another method would be using javascript for changing both pages.  Or
using a menu that doesn't have to be reloaded.


Case 2.

If only the Center part is a frame and everything in the Center part
is done with tables, the page generator would not have to create more
framesets.  And the target for the menu items will differ.



Content
-------

In most cases, the site creator will place a page in a section and
have a menu pointing to that section.  And a submenu will show up
either in the meny object or as a separate menu coming up with the
section.

But I would prefer to just asign metadata to the documents.  Saying
"the Parent of Document1 is Section1" and "the Parent of Section1 is
Top".  And the menu would just list all childs of Top.

That would be just the same as a normal tree (excpet it's backwards).
But the important thing here is that you could have more things than
just Parent.  Browse by publication year, author, status or something
else.



Diffrent parts of the website, or even diffrent pages, could have
diffrent desing.  Let's say that that Infoblock section (containing
news, search form, extra links, etc) should appear on most pages but
not in the archive or contact page.  The object target for the menu
would be Main rather than Viewport. (But the object would be placed in
Viewport.)

The Infoblock object should have a property saying "I'm a foobar".
The Document should have some other property "I'm a foobaz".  The
design tree would look like:

   Web site (title=company_name)
      Main background (bgimage=logo)
         Center part (width=640, height=440, align=center, valign=center)
            Menu (height=40, valign=bottom)
            Main (collection)
              Main1
                 Infoblocks (align=right, width=200)
                 Viewport
              Main2
                 Viewport

And some rule saying that the template for foobaz is Main2.  Something
like that.



Oups.  Looks like I'm thinking RDF again. :-)


How do we solve navigation in a site looking like this?  Most web-site
desings has some combinations of the parts described here.  The menu,
top framing, footer, infoboxs, more menues, et al, can be placed top,
bottom, left, right or inline.  Using frames or tables or maby popup
boxes.  But the object heiarchy should be the same regardless of the
technique and placing of those objects.  More or less.


Help me now. :-)

-- 
/ Jonas  -  http://jonas.liljegren.org/myself/en/index.html


Reply via email to