Andreas Hartmann wrote:
Hi Lenya devs,
as you have noticed, I did quite a few commits in the new trunk. Most of
the changes were related to the move from Avalon to Spring.
Dependency injection makes the code much easier to read, since we can
get rid of the whole ServiceManager boilerplate stuff. The downside is
that you have to maintain XML files to wire the components (beans)
together. These XML files replace the old Avalon xconf patch files –
there's none of this tedious patching business anymore!
Another great improvement are the RAD capabilities (RCL) of the Cocoon
Maven plug-in. You can change a Java class, a Spring bean definition, or
any other file and the changes are active when you reload the page.
That's really cool.
The servlet service mechanism is another great feature. You can call a
pipeline snippet that is provided by a block. A simple example is the
prettyprinting module – you can just plug the service into your pipeline:
<map:generate … />
<map:transform type="servletService">
<map:parameter name="service"
value="servlet:prettyprinting:/xml2nicexml"/>
</map:transform>
<map:serialize … />
I'm sure this will open lots of new possibilities to leverage modules.
Of course, there are thousands of open questions. Will the block concept
cover everything modules are capable of ATM? Will it be much more
powerful (e.g., block polymorphism)? Where do publications fit in? Maybe
we should reconsider the publication concept (I'd like to get rid of the
publication source directories – publications should be a run-time
construct). How will fallback work with blocks? Should we provide an
archetype to get started?
Of course everyone's opinion is highly appreciated. To get started,
install Maven 2.0.9 and issue the following commands:
svn co https://svn.apache.org/repos/asf/lenya/trunk
cd trunk
mvn install
cd org.apache.lenya.webapp
mvn jetty:run
As Lenya relies on some Cocoon modules which are not released yet
(and I couldn't find the snapshot versions in any Maven repository)
you also have to download the Cocoon sources and build Cocoon
before building Lenya (to be done only once):
svn co http://svn.apache.org/repos/asf/cocoon/trunk cocoon-2.2.x
cd cocoon-2.2.x
mvn -P allblocks install
If you like to get involved and import all Lenya projects into
Eclipse use:
mvn eclipse:m2eclipse
Then start-up Eclipse and import existing projects. Choose the Lenya
base directory.
To benefit most from Maven and Eclipse install the Eclipse plugin
'm2eclipse'
Now you should see a simple unstyled welcome page at localhost:8888.
Nice work, Andreas!
- Felix
-- Andreas
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]