Date: 2004-05-20T12:24:45
   Editor: RobertBurrellDonkin <[EMAIL PROTECTED]>
   Wiki: Jakarta Commons Wiki
   Page: CreatingStandardWebPresence
   URL: http://wiki.apache.org/jakarta-commons/CreatingStandardWebPresence

   Moved from original

New Page:

= Jakarta Commons Standard Web Presence =

== The Problem ==

Currently, each Jakarta Commons component is entirely responsible for its own web 
site. In addition, the "home" Commons site is maintained independently of the 
components themselves. The following problems result from this arrangement.

* Different components use different visual styles for their individual sites. This 
contributes to an apparent lack of cohesion within the Commons project, both to end 
users and to others in the Apache community. It also makes it more difficult for users 
to navigate through the Commons site, since there is no unified look and feel.
* Different components use different technologies for their individual sites. In 
addition to increasing the barrier to entry for individuals to contribute to multiple 
components, this complicates the process of creating a unified Commons "home" site.
* The "home" site does not always reflect the state of Commons as whole. This is 
essentially a side effect of the component sites and the "home" site being entirely 
independent; for any change to the component site, a developer has to manually reflect 
any appropriate changes in the "home" site.
* Not every component has a web presence, or even any web mention at all. 
Unfortunately, this is currently the case for several Commons Sandbox components. As a 
result, these components are virtually unknown, severely hampering their ability to 
form a community and subsequently develop into a full Commons component.

== The Proposal ==

The Jakarta Commons community has deemed it a worthwhile goal to create a common 
looking web presence across all of the Jakarta Commons components.  To accomplish this 
goal, a common web site generation and deployment process will be developed and 
employed by all the Jakarta Commons components.  The final process will meet the 
following requirements:
* The site for each component (proper or sandbox) can be generated and deployed 
independently of those for other components.
* All component sites include the same global navigation links to important Jakarta 
Commons, Jakarta, and Apache assets.
* Each component provides quick navigation links to the other Jakarta Commons 
components on which it depends.
* The main Jakarta Commons site has the same global navigation links as the components 
themselves.
* The main Jakarta Commons site provides quick navigation links to each and every 
Jakarta Commons component.

== The Plan ==

=== Use of Maven ===

Of all the tools available to generate websites, Maven has been chosen to create the 
Jakarta Commons components' sites.  The primary reasons for this choice are:
* It is extremely versitle at creating websites and provides a lot of project content 
without much effort.
* It provides the means to work on the components individually or as a group.
* Many Jakarta Commons components are using Maven already for their build process, 
include site generation.
* Many Jakarta Commons committers and contributors have solid working knowledge of 
Maven and have expressed a desire to help with the standarization

=== Step 1. Mavenize all Jakarta Commons Components ===

Some Jakarta Commons components already have a Maven generated site.  Most, however, 
do not use Maven for site generation or deployment.  The first step to reaching a 
common looking web presence is to mavenize all the components under the Jakarta 
Commons moniker.

=== (PROPOSED) Step 2. Define a Standard "Interface" which every Component site should 
implement. ===
Each component should have a series of common pages.  Such as "description", 
"examples", "FAQ", "roadmap".  

Each component should use a xdocs/navigation.xml for their menus.
Make use of the top-menus and bottom-menus xml entities to include the common menus, 
for example:
http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons/dbcp/xdocs/navigation.xml?rev=1.4&content-type=text/plain

Each component should have a xdocs/download.xml file. 
It should give an overview of all available resources.
* releases (version+date)
* links to mirror of latest binary/source
* archive for older releases
* nightly builds
* cvs access
For example:
http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons/dbcp/xdocs/downloads.xml?content-type=text%2Fplain

Each component should have a project.xml extending project-base.xml
For example:
http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons/dbcp/project.xml?content-type=text%2Fplain

Each component should have a project.properties file that includes the following:
maven.xdoc.date=bottom, maven.xdoc.poweredby.image=maven-feather.png
For example:
http://cvs.apache.org/viewcvs.cgi/*checkout*/jakarta-commons/dbcp/project.properties

Each component should have a build.xml file that can be used by gump. Not using the 
maven jars but the gump dependencies.
(only required for proper components?)

=== (PROPOSED) Step 3. Reoganize the content of main commons site ===
TODO

== Current Status ==

TBD (List status, w.r.t. this proposal, of each component in proper and sandbox.)

=== Commons Proper Components ===

* BeanUtils - Has Maven site, but <b> not default</b>.
* Betwixt - Maven site.
* Cactus - <b>Promoted, but still in Proper CVS.</b>
* CLI - Maven site.
* Codec - Maven site.
* Collections - Has Maven site, but <b> not default</b>.
* Daemon - Maven site.
* DBCP - Maven site.
* DBUtils - Maven site.
* Digester - Has Maven site, but <b> not default</b>.
* Discovery - Has Maven site, but <b> not default</b>.
* EL - <b>No Maven site.</b>
* FileUpload - Maven site.
* HttpClient - Maven site.
* Jelly - Maven site.
* Jexl - Has Maven site, but <b> not default</b>.
* JXPath - Maven site.
* Lang - Has Maven site, but <b> not default</b>.
* Latka - Maven site.
* Launcher - Maven site.
* Logging - Has <b>minimal</b> Maven site, but <b> not default</b>.
* Math - Maven site.
* Modeler - Has Maven site, but <b> not default</b>.
* Net - Maven site.
* Pool - Maven site.
* Primitives - Maven site.
* Validator - Maven site.

=== Commons Sandbox Components ===

* AltRMI => moved to incubator
* amend => not a component
* armi => old AltRMI code
* Attribute - Maven site (needs update)
* betwixt => moved to commons proper
* BZip2 => code moved to Compress
* Cache - Maven site - OK
* cadastre => removed
* Chain - Maven site (needs update)
* cjan => removed
* Clazz - Maven site (needs update)
* CLI => proposal: move back commons proper or be renamed to cli2
* Compress - Maven site - OK
* Configuration - Maven site.
* Convert
* DBUtils
* EL
* Email
* Events - Maven site.
* Filters
* Functor - Maven site.
* Grant
* Graph2
* HiveMind - Maven site (<b>offline</b>).
* Http
* IO - Maven site.
* Jex
* Jexl
* JJar - Maven site.
* Joran
* JPath
* JRCS - Maven site.
* JUX
* Lang
* Launcher => moved to commons proper
* Mapper - Maven site.
* Math => moved to commons proper
* Messenger - Maven site.
* Naming
* Pattern
* Periodicity
* Primitives
* Proposal
* Reflect
* Resources - Maven site.
* Rupert
* Scaffold - Maven site.
* Services
* Servlet
* SimpleStore
* SQL - Maven site.
* Threading
* ThreadPool - Maven site.
* Util
* VFS - Maven site.
* Workflow - Maven site.
* XMLUnit
* XO


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to