On 2/24/06, Andreas Hartmann <[EMAIL PROTECTED]> wrote:
> [EMAIL PROTECTED] wrote:
> > Are you thinking of them like Cocoon's Input and
> > Output Modules?
> No, rather like Cocoon blocks.
>  > Java code that requires compilation for use?
> Yes, they can contain Java code. But dependencies have to be checked
> even if there's no Java code.
> > That
> > sounds much less useful, flexible, and easy to implement or modify
> > than what I was expecting.
> Why?
>
> > I thought Lenya Modules were the evolution of Usecases: one directory
> > under {pub}/modules for each function.  The entry point for each is
> > {pub}/modules/{moduleID}/sitemap.xmap.  Depending on the purpose and
> > the parameters, Modules return a binary file "Asset", an HTML "Page",
> > or (most often) an XML "Document", all handled with XMAPs, XSL, XSP,
> > XML, and JS.  Of course the XMAP can use various Generators,
> > Transformers, Serializers and other stuff compiled from Java, but
> > everything in the Module is interpreted for easy updates.
> No, that's not the way it works at the moment. A module can provide
> Java code and libraries as well, it has to be deployed on compile time.
>
> > With this architecture, inheritance is simply checking the parent
> > templates until each file is found.  Most of the "live" Module is at
> > the global level, but "page2xhtml.xsl" can be overridden by each
> > Publication.
> > Is this close to your concept of Modules, or should this
> > implementation still be called Usecases?
> As I understand it, you're describing functionality offered by
> resource types (generating assets / pages), modules (providing
> arbitrary resources and classes), and usecases (classes and templates
> for user interaction). Modules can contain resource types and usecases.

I think I understand the disconnect.  In Lenya 1.2, we can add most
functionality simply by adding a Usecase.  The Usecase can contain
XMAPs, XSL, XSP, XML, and JS (Flow).  We can build complex
applications with those components.  I have not found a function that
cannot be implemented with these components.  As soon as the hook is
added (usecase-function.xmap), the function is usable.  As soon as a
change is made, it is active.  None of this requires compiling or
restarting Lenya.

These Usecases depend on the Lenya platform for certain things:
- Generators, Transformers, Serializers and other elements of XMAPs
- Various protocols for retrieving data.
- Some standard functions implemented in XMAPs that could/should be
moved to Usecases.

http://lenya.apache.org/1_4/reference/modules/index.html
suggests that Modules will be able to add protocols.  Protocols are
part of the platform and should not be added dynamically.  Anyone
adding a protocol would have a development environment.

Lenya has been usable and very flexible without a development
environment.  A binary version of Lenya is very flexible.  I realize
that most Committers and some Developers have a development
environment, but most Developers do not, and should not, need one.

If Modules can contain Java, then:
1. Every Lenya Developer must have a development environment.
2. We have the dependency issues that started this thread.
I cannot see how it is good to force Users to install a development
environment.  It increases the complexity and reduces the audience. 
Lenya should become both easier and more powerful.  Modules including
Java that needs to be compiled is a step in the wrong direction.

solprovider

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to