Giacomo Pati wrote:
BTW, I wouldn't even say these downloads are our _releases_ as IMO our
releases are the block jars that we make available at our download
pages and (more important!) via the Maven repositories.
Correct. But I think we need a thing for "first contact".
Can you give an example for what you mean with "first contract"?
Start your Cocoon project
-------------------------
As I said above, a Cocoon project is also a block. You create your
block skeleton using the Maven block archetype, add your dependencies,
e.g. your block depends on forms and template, and that's it.
Yes, I see that, too.
It's the same process as adding a Maven plugin to your pom.xml. You
browse the Cocoon website and find a list of all available blocks.
Than you add the required block to block.xml as requirement.
As pointed out in the tutorial, you can use the "cocoon:simple-deploy"
and "jetty6:run" to test-drive your block at development time.
Ok.
See http://cocoon.zones.apache.org/daisy/documentation/g2/796.html
A Cocoon web application
------------------------
The "cocoon:simple-deploy" is only useful at development time as you
don't have the possibility to change e.g. your web.xml and you can't
use more than one block.
Shouldn't it be "you can't use more than _this_ block". This in contrary
to the "full blown sample distribution" where all our samples blocks are
independant (application) blocks which itself depend on
(composition/service) blocks (i.e. like cron, or ajax which itself will
be referenced by many of those independant blocks). Such a "full blown
sample distribution" could well be a separate block in our repository
just for building that distribution (at the ent it could be a war package).
yes
My plan is doing it the same way like other webapp projects. You
provide your web application in /src/main/webapp which means that you
put your web.xml there at least.
Then you create your block-deploy.xml and you can say there which
blocks you want to deploy, how they are configured and which
implementations you want to use to fulfill their requirements.
Fine. Do you have in mind to support this by a Maven plugin to create
descriptors, based on dependencies defined in the pom, unpack them to
create the webapp structure suitable for war packaging?
pom.xml only contains the Java library dependencies. But yes, we could provide
some plugin that creates an initial block-deploy.xml if we see that we need this
- time will show.
See http://cocoon.zones.apache.org/daisy/documentation/g2/797.html
Developing Cocoon (--> for Cocoon developers)
---------------------------------------------
AFAIU there is no difference to developing an "application block" (I
even think that we should restrain from introducing this distinction.).
The difference is made up in the descriptors (i.e. has a sitemap, just
supplies some common components/services).
yes, that's an internal difference. A block can
- contain Java classes and a Cocoon app
- only Java classes
- only a Cocoon app
Looking at block.xml shows only two differences: Does it has a <servlets>
section and does it have a <components> section? At deployment time you don't
care which "type" of block it is internally.
--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}
web(log): http://www.poetz.cc
--------------------------------------------------------------------