Hoping to focus the current momentum on cocoon application generators,
scaffolds and the like, I thought I'ld just clarify what exactly m2
archetypes are and what they can do for us.


What are they ?
---------------
>From the m2 docs : "An archetype is simply a JAR file that contains
the project prototype you wish to create".

The archetype plugin thus serves as the creator of an
application structure, with the additional ability of having file
templates that can be modified during archetype installation using
variable substitution.

M2 itself comes with a few archetypes already, see [1].


What can they do for us ?
-------------------------
- Suggest optimal cocoon project structure to new users. This structure
can be as lean as we want it, aim is to promote - not enforce - a
standard cocoon project layout.
- Suggest a standard way of building/packaging cocoon applications to
new users, using m2.
- Offer documented template code in a ready to run project structure for
want-to-be component developers -> scaffold concept.
- Offer application scaffolds eg Bertrand's Bricks, GIS apps, Portal,
popular block combos like CForms/Hibernate etc . These can be aimed at
firsttimers wanting to see eye candy as well as aspiring cocoon
developers looking for implementation ideas.
- Reduce initial download size and remove complexity of having to build
cocoon before first use =~ lowering threshhold for first timers
- Block developers can use archetypes to show off block features,
interested users do not have to download the whole distro just to see
how blockX works with Cocoon.
- <yourIdeaHere/>

Drawbacks
----------
- m2 prerequisite, we assume the user has m2 installed.
Alternatives are to embed m2 and offer this as first download , or just
offer the packaged version of the archetype as a zip.
- <yourDrawbackHere/>


I've created a first archetype, cocoon-core-archetype, on which i'll
elaborate in another thread.


Jorg

[1]
http://svn.apache.org/viewcvs.cgi/maven/components/trunk/maven-archetype/maven-archetypes/

Reply via email to