forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Crossley <cross...@apache.org>
Subject Re: skinconf versioning (Was: svn commit: rev 10172)
Date Fri, 23 Apr 2004 12:24:55 GMT
Nicola Ken Barozzi wrote:
> 
> This is correct as long as we assume that Forrest breaks on invalid 
> config tags. All my reasoning instead is based on the assumption that 
> any config file, even only one with <skinconf/> should work. In this way 
> it won't be Forrest busting, but just a feature not appearing.

Ah, this is a good approach.

> David Crossley wrote:
> > Nicola Ken Barozzi wrote:
> >>For example, let's say that somebody makes a skin that needs some extra 
> >>customization values... where do they put them? Without a DTD, they can 
> >>easily add them to the skinconf file.
> > 
> > The skinconf-*.rng could me more lenient, allowing them to
> > add extra optional stuff to their own skinconf.xml file.
> 
> But then it won't really catch errors to remove the above problem.

By "lenient" i meant that there would be certain required stuff
and anything else would be optional in the RNG grammar (using
zeroOrMore AnyElement).

> Or maybe the current tag-specifies-a-function format is not the solution.
> 
> Maybe something like:
> 
> <skinconfig>
>    <feature name="logo">
>       <property name="name">Forrest"</property>
>       <property name="url">http://xml.apache.org/forrest/</property>
>       <property name="logo">images/project-logo.gif</property>
>    </feature>
> 
>    <feature name="lucene" value="false"/>
> 
>    <feature name="search" value="true">
>       <property name="domain">xml.apache.org</property>
>       <property name="name">Apache XML</property>
>    </feature>
>    ...
>    <feature name="obfuscate-mail-links" value="true"/>
>    ...
>    <!--  -->
>    <feature name="credits" value="true"/>
>      <element>
>        <property name="name">Built with Cocoon</property
>        <property name="url">http://xml.apache.org/cocoon/</property >
>        <property name="image">images/built-with-cocoon.gif</property >
>        <property name="width">88</property >
>        <property name="height">31</property >
>      </element>
>      <element>
>        <property name="name">...</property
>        <property name="url">...</property >
>        <property name="image">...</property >
>        <property name="width">...</property >
>        <property name="height">...</property >
>      </element>
>       ...
>    </feature>
> </skinconfig>
> 
> In this way we get lax and extensible elements but reasonable editing.

This is great. Keeps it simple and we can go back to an internal DTD.
 
> > I think that it is very important to have well-defined structure
> > for this file and to validate it before proceeding with the build.
> > If we don't control it, then i think we would descend into chaos.
> 
> I don't agree, as we can't say that forrest.properties has gotten intop 
> caos.

Gee, it can get very frightening in there.

<snip validation and constraints of old complex skinconf/>

> All of this seems really too complex.
> 
> Let's say instead:
> 
> * Forrest should work also without any skinconf element
> 
> * there is a simple DTD used as a structure
> 
> * features are listed in a doc file that is generated from the comments 
> put in the fresh-site skinconf.xml
> 
> * any update to the skinconf that changes feature names will be included 
> in the general skinconf pipeline xsl
> 
> WDYT?

+1 ... this is feeling a lot better.
Not sure what you mean by that last bit.

> > * Release Forrest more often.
> 
> +1

:-) we do need to try harder.

--David



Mime
View raw message