You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lenya.apache.org by Andreas Hartmann <an...@apache.org> on 2009/02/08 17:52:40 UTC

[2.2] Status

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

Now you should see a simple unstyled welcome page at localhost:8888.

-- Andreas


-- 
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org


Re: [2.2] Status

Posted by Andreas Hartmann <an...@apache.org>.
Andreas Hartmann schrieb:

[…]

> The servlet service mechanism is another great feature.

Instead of the copying the style-cms-page resource to your sitemap, you 
can now render a CMS page using

   <map:serialize type="servletService">
     <map:parameter name="service" 
value="servlet:gui:/service/style-cms-page"/>
   </map:serialize>

-- Andreas


-- 
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
Tel.: +41 (0) 43 818 57 01


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org


Re: [2.2] Status

Posted by Felix Roethenbacher <fr...@apache.org>.
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: dev-unsubscribe@lenya.apache.org
For additional commands, e-mail: dev-help@lenya.apache.org