Hi Lenya boys ! :)

This is a try to create a module "specification" for the ModuleStatus. This
this a first draft, so really feel free to question,criticize,improve this.

== Module objectives ==

* Having a page on the lenya website showing the status of the components
where people can see which contributions are usable.

* In order to have an always up to date page, the update of the module
description have to be as simple as possible. 

* Give a web visibility to "contributions modules" (and others...).

== Module description ==

* In order to be simple for dev/contributors, we imagine that the module
browse the svn repository and apply an XSLT to the module.xml. So, 
** Dev have just to update the module.xml file and push it in the svn
** the modulestatus module in the official Lenya Website: 
*** browse the svn branch repository and create/update module's pages on
Lenya site, and render these pages dynamically (apply an XSLT to the
module.xml).

== Module requirement ==

* Add sections to the module.xml file (see "patch to module.xml")
** Why the existing <readme> section is not sufficient?
*** This other sections have 3 benefit : 
1 - they "force"/encourage dev and contributors to fill it
2 - they are more structured and "I know what I will read in this section"
than a "all going in" <readme>
3 - They allow to apply a nice xslt and render module description
attractive (and adaptive : "one source, multiple view")


* create a module that : 
** browse the svn branch (see "svnBrowsing")
** create/update lenya pages and apply a cool xslt

=== Patch to Module.xml ===

* The idea is to add some tags in order to have "dev status" of each
module.


<module xmlns="http://apache.org/lenya/module/1.0";>
<moduleinformations>
  <objectives> describe why do this module </objective>
  <longdescription> description that is show to end user</longdescription>
  <curentstate> dev / usable with care / stable / ... </curentstate>
</moduleinformations
<technicalinformations>
  <id>org.apache.lenya.modules.ac</id>
  <export package="..."/>
  <depends module="..."/>
  <package>org.apache.lenya.modules</package>
  <version>0.1-dev</version>
  <name>Access control</name>
  <lenya-version>@lenya.version@</lenya-version>
  <description>Access control</description>
</technicalinformations>
<statusinformations>
  <curentversion>
    <developers>
      <person name=".." email="..." id="DB"/>
    </developers>
    <problems> (or warning?)
      <problem priority=".."> knowing problems </problem>
    <problems>
    <changes>
      <release version="2.1.12" date="..">
        <action dev="all" type="update">
      </release>
    </change>
    <howtoinstall> installation instructions if any </howtoinstall>
    <howtouse> how to use module's functions or module's interface
</howtouse>
  </curentversion>
  <futureversion>
    <roadmap>
      <release version="...">
        <functionality name=".." context="..">
          <description> description of the function </description>
          <codingpointers> 
             <codingpointer>
             idea to implement/improve the function, in order to help the
man who do the code 
             </codingpointer>
           </codingpointers>
       </release>
     </roadmap>
  <futureversion>
</module>

Some of this tags are inspired by the cocoon file :
apache-lenya-2.0.2-src/externals/cocoon_2_1_x/status.xml

Maybe this proposal is a little bit complicated, but I think that this
informations will be useful for potential co-dev and for (end-)user  : see
what is the module spirits, his status and his future capabilities.

Really open to discussion, improvement, wording changes,...

* I have a question to "old captain" :) : 
** When you said : "Well I have to __use__ on this module (or java class
or..)", witch kind of informations you would like to have rapidly and
easily ?
** When you said : "Well I have to __work__ on this module (or java class
or..)", witch kind of informations you would like to have rapidly and
easily ?


=== SVN browsing ===

Andreas : "ATM the code to update the SVN changes is in the forrest module,
which is rather confusing. I think we should create a new module for this
purpose."
==> @andreas : Do you have a pointer (class or pipeline name) to the code
in the forrest module ?


Hope this mail is understandable and not a really boring moment...

Good WE

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to