forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Turner <je...@apache.org>
Subject Re: [RT] Linking revisited: A general linking system
Date Tue, 15 Oct 2002 09:38:32 GMT
On Mon, Oct 14, 2002 at 08:21:06AM -0700, Robert Koberg wrote:
> Wow Jeff - really cool brain dump! And also Betrand's concept model! - the
> combination of which can provide for an amazing GUI :)
> 
> This is the kind of thing I have been hoping for in Forrest. With an explicit
> site mapping you can do quite a bit. It is extremely flexible and gives your
> clients and yourself a great number of options when building and maintaining a
> site. I know the way I am doing it works well for the kind of sites I do (they
> can be pregenerated for the most part and are maintained by the client through a
> GUI). Where I fear (know...) my way will break down is on the large sites (who
> wants to use one big file for something like that...) - this is where I was
> hoping for some type of merging with cocoon/forrest.

I've poked around in the download (LSB 1.0).. it's very neat, and quite
far ahead of Forrest.

(Description for others: there are two main organizing files:

site.xml: "a virtual representation the generated project file structure"
content.xml: "a database of content XML filenames that are referenced in the
site.xml's folder's, page's etc" -- much like book.xml

A content.xml snippet:

<?xml version="1.0"?>
<config context="docs" id="docs">
  <folder id="f1">
    <folder id="f1379506232">
      <article id="c2010028878.xml" label="starting" lock="rk123" status="editorial"/>
      <article id="c2122108796.xml" label="why" lock="rk123" status="editorial"/>
      <faqs id="f672903140">
        <faq id="c285248103.xml" label="what XSLT processor" lock="rk123" status="editorial"/>
      </faqs>
      <folder id="f1576487314"/>
      <folder id="f212775916">
        <article id="c1038756828.xml" label="folder xml overview" lock="rk123" status="editorial"/>
      </folder>
        ...
)

Given your definition of site.xml, it seems to fulfil the roles of the sitemap
(mapping content to renderings) and a skin configuration file (specifying page
layout). The content.xml file seems more analogous to a node->XML linkmap file.

> In hopes of keeping this idea going I would like to give some XSL that
> shows the benfit of using explicit mapping. we are about to release
> version 2 of our livestoryboard product and then I can give you a
> solid, complete set of templates [i.e. the next version from what is
> currently up at:
> http://docs.livestoryboard.com/en_us/manual/Overview.html in the download zip].
> If anyone is interested in some sweet beta-quality XSL I can give it to you now
> (let me know). Below I will focus on a few templates that use the explicit,
> hierarchical mapping. A sample site.xml (my explicit mapping file) is at the
> bottom.

<snip generalization of the 1.0 node lookup mechanism>

<snip global_definitions.xsl declarations of nodesets for current 'folder',
'page' and content.xml node>

> best,
> -Rob
> 
> ----------------------------------------------------------------------
> Some XSL
> ......................................................................
> tabs.xsl - creates a set of tabs for the top-level set of folders
...
> ......................................................................
> nav.xsl - a left or right nav system
...
> .....................................................................
> snailtrail.xsl - create a nav path back to the root folder
...
> ......................................................................
> a snippet from pager.xsl that create a << prev 1 2 3 4 next >> paging system
at
> the page level. I snipped out some other paging options for sake of space.
...

These certainly nail down what any Forrest site.xml ought to make possible.

> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> Snippet from a linkmap.xml (I name it site.xml):
> [please don't be thrown off by my naming...]

site.xml is a much more sensible name anyway.

> [I have schemas (relaxng) if anybody is interested]
> ----------------------------------------------------------------------
> <config id="clean2" nav_col="tabs_narrow_left" p_nam="label"
> site_index="siteindex" subtitle="Storyboard" title="Clean Site"
> use_tool_style="1">
>   <folder display_label_link="false" expand="false" id="f1"
> index_page="siteindex" label="Home" name="en_us" pager="true" snailtrail="false"
> status="editorial" xsl_fileref="basic_3col.xsl">
>     <col type="narrow_right">
>       <article id="c413186147"/>
>     </col>
>     <page display_label_link="true" file_ext=".html" gen="true" id="siteindex"
> label="index" metadata="true" print_friendly="true" status="editorial"
> title="Clean Index Page" toc="true" xsl_fileref="homepage.xsl">
>       <col type="wide_center">
>         <article id="cindex"/>
>         <article id="c1919458443"/>
>       </col>
>     </page>
.....

My brain is overheating trying to see how Forrest could use these ideas..
Beyond the general idea that an XML file describing the site contents can be
very useful.

I like the way that the file uses abstract keys for articles (it didn't in
1.0). That's a bit like sitemap.xml could use site: urls:

<map:match pattern="*.html">
  <map:generate src="site:/c1919458443"/>
  <map:transform src="homepage.xsl"/>
  ...

Hmm.. well at any rate, site.xml + content.xml provides a nice base-level for
Forrest to aim at. Thanks for posting.. it's all very thought-provoking.


--Jeff


Mime
View raw message