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]

Reply via email to