Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Vadim Gritsenko

Jorg Heymans wrote:

Vadim Gritsenko wrote:


 * Copy over blocks to WEB-INF/blocks or simialr :-)


by default, all included blocks are copied to WEB-INF/lib when using the
war:war task. But we can have them anywhere we want really.


Yep they should be elsewhere, and definitely not in the lib! :)



 * Prepare a source release


there is the source:jar task [1], we could use it for first milestones
while we spec out how the source release should look like [*]


As long as we have all contents which we have now, I'm ok... What this task 
produces? Now I think we essentially ship zip of checkout from svn...




 * Prepare a binary release


would you initially be happy with a deployable war file containing all
blocks? Then its doable already (war:war on the webapp module),
otherwise we should spec out how exactly the binary release should look
like [*]


Well it should be zip file containing
  * Javadocs
  * Daisy/Forrest Docs (whatever docs we end up with after
exporting from daisy)
  * Webapp
  * Jetty
  * Scripts

Not sure I want to see war file: not all of Cocoon samples are working from 
inside the war.




 * Build subset of blocks (using properties file?)


First thought: this could be done by writing a plugin that reads
local.blocks.props, generates a project definition from it and executes
a build using this pom.


Ok



I think above is a complete list of what is needed from it... Did I miss
anything? What is not implemented yet?


this covers most initial thoughts yes. I'll see about adding them to the
 [M10N] roadmap.


Great.

Vadim


Regards
Jorg

[1] http://maven.apache.org/maven2/plugins/maven-source-plugin/
[*] if this has been decided allready, apologies - just point me to the
thread and i'll add it to bugzilla M10N roadmap.


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Jorg Heymans

Vadim Gritsenko wrote:

>   * Build Cocoon
done

>   * Build all blocks
done (samples not excluded)

>   * Copy over blocks to WEB-INF/blocks or simialr :-)
by default, all included blocks are copied to WEB-INF/lib when using the
war:war task. But we can have them anywhere we want really.

>   * Patch wiring.xml (as soon as we start using it)
yes, this will be part of the deployment plugin.

>   * Prepare a source release
there is the source:jar task [1], we could use it for first milestones
while we spec out how the source release should look like [*]

>   * Prepare a binary release
would you initially be happy with a deployable war file containing all
blocks? Then its doable already (war:war on the webapp module),
otherwise we should spec out how exactly the binary release should look
like [*]

>   * Build subset of blocks (using properties file?)
First thought: this could be done by writing a plugin that reads
local.blocks.props, generates a project definition from it and executes
a build using this pom.

>   * Prepare a source release with subset of blocks (is it needed?)
use the generated pom from above

>   * Prepare a binary release with subset of blocks
use the generated pom from above.

> I think above is a complete list of what is needed from it... Did I miss
> anything? What is not implemented yet?
this covers most initial thoughts yes. I'll see about adding them to the
 [M10N] roadmap.


Regards
Jorg

[1] http://maven.apache.org/maven2/plugins/maven-source-plugin/
[*] if this has been decided allready, apologies - just point me to the
thread and i'll add it to bugzilla M10N roadmap.



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Daniel Fagerstrom

Pier Fumagalli wrote:


On 12 Oct 2005, at 15:21, Daniel Fagerstrom wrote:


...

An advantage of using OSGi instead of a home brewn solution is that  
we don't have to solve all these complexity issues ourselves. As an  
example there actually allready was an Eclipse plugin editor there  
that helped you.


On that I agree wholeheartedly, mate... Don't get me wrong.

I'm just seeing my OSGI Eclipse plugin on one side, and the last  
slide Arje posted during the wrap-up of the GetTogether  
"SIMPLICITY" :-) Somehow, I can't feel OSGI is moving us towards that  
direction...


You know mate, simplicity is my main concern and driving force. Now it 
doesn't get simpler in the first step as we have to let the new stuff 
live side by side with the old stuff. But as soon as we have got the 
things working we can start to split Cocoon in small blocks with well 
defined concern areas. I'm very motivated to get there so I guess I can 
ask you to trust that we are getting there or better help getting there ;)


Also bring something else that I guess that you have to work with it for 
some time to really appriciate. It is like a small operating system with 
a console where you can start and stop blocks, ask about theire state 
and meta data, check the state of the services etc. It is really neat.

...


Yep... I feel your pain...

But thinking about it for a little bit, I'm starting to wonder if  
there is another way...


There is still a big nag in my mind, related to what Leo posted a  
while ago, and outlined here: http://www.betaversion.org/~pier/ 
2005/07/dependancies-through-import-statements.html


I like the simplicity that Leo outlined...


I also find it cool. And it would be fun to work on. But for the moment 
I feel more entusiastic about getting something working in realistic 
time and about the possibility to cooperate with other communities than 
about doing container research.


...

Dude, your pain is _my_ pain on this topic... Unfortunately my  
current job doesn't allow me to spend much time on Cocoon itself and  
related projects (or even on my wife, for that matters!!!).


Seriously speaking, I wish I could dedicate more time onto this, but  
for now, I'm tied into writing XSLT and maintaining a huge lump of  
PERL code, and I can tell you, it's not fun...


Yes I understod that. And after having worked on some other somewhat 
complicated stuff like templates, VPCs, the sitemap parts my experience 
was that even if people was interested, it was next to impossible to get 
much feedback on technical questions. So my conclusion was that even if 
we have many talented people in the community, the fact is that they are 
not interested enough in deep infrastructure stuff to actually spend the 
time in designing and building a container suitable for blocks. So the 
realistic choices was to either use something that existed or don't 
bother about blocks anymore.



You know how I am :-) I don't like hacks, or one-fits-all things...

I just wish I had more time! :-P


We all do ;)

/Daniel



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Niclas Hedhman
On Thursday 13 October 2005 01:19, Torsten Curdt wrote:
> > I hope the Cocooners can work all of this out, as the motivation
> > for me to use
> > Cocoon diminishes by the days, as it gets easier and easier to do
> > stuff in
> > competing platforms that only made sense in Cocoon previously.
>
> ...like?
>
> Just curious...

I hope I am not getting in to trouble for trying out other stuff ;o)

A few weeks ago we started on a new internal back-burner project, and needed 
some forms, user auhorization, multiple L&F depending on user, and PDF 
reports from JDO-backed database. A few months ago, I would not even think 
before throwing Cocoon at the problem.
Due to need to learn Wicket for another external upcoming project, we gave it 
a go.
It was scarily simple, and considering their use of plain and pure HTML as 
templating, typesafety all over the place, 1:1 checks for components in code 
vs components on page, no XML and easy to programmatically hook JasperReports 
straight into the reponse stream, I was indeed impressed. And that was from 
starting from scratch. Does it really scale upwards? How about endless 
support of UserAgents?? Performance under heavy load?  Sorry - I don't know. 
Just saying the answers are no longer given, even if you know Cocoon pretty 
well. I am a Java programmer, and it is faster for me to hack up 100 lines of 
code than it is to get a combo of XML and JavaScripts operational. I love the 
compiler :o)


Now, compare that with Cocoon anno 2001. Far ahead of its time. The 
orthogonality of concerns were remarkable for its time. The competition was 
essentially CGI, SSI, JSP and hard coded servlets. Cocoon rose with the 
external dependencies of Batik, FOP and many others over time, which made 
Cocoon a unique center-piece in content aggregation.


Cheers
Niclas


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Torsten Curdt


I hope the Cocooners can work all of this out, as the motivation  
for me to use
Cocoon diminishes by the days, as it gets easier and easier to do  
stuff in

competing platforms that only made sense in Cocoon previously.


...like?

Just curious...

cheers
--
Torsten



PGP.sig
Description: This is a digitally signed message part


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Niclas Hedhman
On Wednesday 12 October 2005 22:21, Daniel Fagerstrom wrote:
> Also Niclas Hedman have moved his post Merlin/Metro work to use context
> dependency injection and it is built uppon OSGi, maybe he can comment on
> it.

Not much to report in this ContextIoC [1] area. I have been busy porting 
Merlin/Metro to a OSGi bundle, where the Merlin/Metro services are seen by 
other bundles, and the Merlin/Metro services can use the OSGi services. And 
some stuff around all to make this work. All needed as migration path for the 
project I am involved.

Other than that, most important observation in the OSGi adventure is probably 
that bundles becomes "just nice size" (or maybe it is just my preference). 
Not too large that 100s of classes needs to interact with each other with 
heaps of GoF patterns required to hold everything together, and essentially I 
don't feel I need any "component framework" at all. A dozen or two classes is 
typical bundle size for me, and all bundles that provides a service generates 
two Jars, one with the API and one for the impl, so the API can be placed in 
dependent bundles, as originally intended.
That allows me to "fabricate" the needed components or their factories in the 
Activator, pass it down the line with constructor injection, and pretty set 
to go. I.e. I am on the same page as Pier when it comes to "I don't like 
complex solutions", and to me Spring is complex, Pico is complex, yes 
Merlin/Metro is complex. One gets sucked in slowly into these platforms, but 
end up fighting different kind of battles (XML hell) instead of coding Java. 
Anyway...

With the "Feature" feature in OSGi R4, where sets of bundles are treated as 
mega-bundles, I think my "small bundle approach" makes very good sense, and a 
component-like organization is emerging.

I still think that OSGi needs better implementations of many presecribed 
services, i.e Config, Prefs, Meta, User, Permission and so on services. I was 
hoping that Felix would become the place where those implementations 
flourished and could be shared across half a dozen projects at ASF alone.

As for Cocoon to use OSGi, I am not familiar enough with the inner workings of 
Cocoon of today to have any clue of how hard that would be to remain 
compatible with previous versions. I guess that 100% compatibility is 
impossible, by the fact that there are no well-defined contracts, and any 
user could be using any internal bits that it happens to reach one way or the 
other. 
I hope the Cocooners can work all of this out, as the motivation for me to use 
Cocoon diminishes by the days, as it gets easier and easier to do stuff in 
competing platforms that only made sense in Cocoon previously.


Cheers
Niclas

[1] http://www.theserverside.com/articles/article.tss?l=IOCandEJB


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Stefano Mazzocchi

Upayavira wrote:

Stefano Mazzocchi wrote:


Daniel Fagerstrom wrote:


Pier Fumagalli wrote:


On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:


Le 11 oct. 05, à 07:31, Reinhard Poetz a écrit :

...- Cocoon 2.2 will not use OSGi but will support blocks as far  
as possible:...





...- Cocoon 3.0 will use OSGi --> shielding classloader and hot  
plugablillity...






...WDOT?





+1 to the plan.

Just one small nitpicking comment, we should say "3.0 will *most  
probably* use OSGI" - as you said, it's a nice goal to have but I  
don't think we're 100% positive on that yet, there are still a few  
unknowns.





I agree wholeheartedly... I am not 100% sure that OSGI is the 
perfect  solution. AFAICS it's a little bit too cumbersome for my 
brain.


And I know a lot of others share my concerns (from discussions at 
the  GT).


Pier




Any specific concerns about OSGi?




For me, licensing. As for technical matters, I stopped caring when we 
killed Avalon.


We can't ship until a OSGi R4 implementation is available, which means 
probably waiting for Felix to finish the implementation *and* exit 
incubation. That might take some time.



Or use Eclipse, which is R4 already, and then switch to Felix when it 
matures sufficiently.


Ah! didn't know that. Good, I'm happy then.

--
Stefano.



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Reinhard Poetz

Stefano Mazzocchi wrote:


Any specific concerns about OSGi?



For me, licensing. As for technical matters, I stopped caring when we 
killed Avalon.


We can't ship until a OSGi R4 implementation is available, which means 
probably waiting for Felix to finish the implementation *and* exit 
incubation. That might take some time.




Fortunatly we don't have to wait that long:
http://www.eclipse.org/osgi/

Eclipse 3.1.1 supports the final OSGi spec. Citing Jeff McAffer:

[...] In any
event, it is complete and R4.  As soon as the TCK is avalialbe it will be
officially compliant. [...]


--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Upayavira

Stefano Mazzocchi wrote:

Daniel Fagerstrom wrote:


Pier Fumagalli wrote:


On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:


Le 11 oct. 05, à 07:31, Reinhard Poetz a écrit :

...- Cocoon 2.2 will not use OSGi but will support blocks as far  
as possible:...




...- Cocoon 3.0 will use OSGi --> shielding classloader and hot  
plugablillity...





...WDOT?




+1 to the plan.

Just one small nitpicking comment, we should say "3.0 will *most  
probably* use OSGI" - as you said, it's a nice goal to have but I  
don't think we're 100% positive on that yet, there are still a few  
unknowns.




I agree wholeheartedly... I am not 100% sure that OSGI is the 
perfect  solution. AFAICS it's a little bit too cumbersome for my brain.


And I know a lot of others share my concerns (from discussions at 
the  GT).


Pier



Any specific concerns about OSGi?



For me, licensing. As for technical matters, I stopped caring when we 
killed Avalon.


We can't ship until a OSGi R4 implementation is available, which means 
probably waiting for Felix to finish the implementation *and* exit 
incubation. That might take some time.


Or use Eclipse, which is R4 already, and then switch to Felix when it 
matures sufficiently.


Upayavira


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Stefano Mazzocchi

Daniel Fagerstrom wrote:

Pier Fumagalli wrote:


On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:


Le 11 oct. 05, à 07:31, Reinhard Poetz a écrit :

...- Cocoon 2.2 will not use OSGi but will support blocks as far  as 
possible:...



...- Cocoon 3.0 will use OSGi --> shielding classloader and hot  
plugablillity...




...WDOT?



+1 to the plan.

Just one small nitpicking comment, we should say "3.0 will *most  
probably* use OSGI" - as you said, it's a nice goal to have but I  
don't think we're 100% positive on that yet, there are still a few  
unknowns.



I agree wholeheartedly... I am not 100% sure that OSGI is the perfect  
solution. AFAICS it's a little bit too cumbersome for my brain.


And I know a lot of others share my concerns (from discussions at the  
GT).


Pier


Any specific concerns about OSGi?


For me, licensing. As for technical matters, I stopped caring when we 
killed Avalon.


We can't ship until a OSGi R4 implementation is available, which means 
probably waiting for Felix to finish the implementation *and* exit 
incubation. That might take some time.


--
Stefano.



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Pier Fumagalli

On 12 Oct 2005, at 15:21, Daniel Fagerstrom wrote:

Pier Fumagalli wrote:

On 12 Oct 2005, at 12:40, Daniel Fagerstrom wrote:

Pier Fumagalli wrote:

On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:

Just one small nitpicking comment, we should say "3.0 will  
*most   probably* use OSGI" - as you said, it's a nice goal to  
have but  I  don't think we're 100% positive on that yet, there  
are still a  few  unknowns.




I agree wholeheartedly... I am not 100% sure that OSGI is the   
perfect  solution. AFAICS it's a little bit too cumbersome for  
my  brain.


And I know a lot of others share my concerns (from discussions  
at  the  GT).




Any specific concerns about OSGi?



Personally, it looks "cumbersome" to me... Heck, I'm writing an   
Eclipse plugin at the moment, and if it wasn't for the Eclipse  
Plugin  editor and stuff, I'd be totally lost.


OSGi gives us classloader isolation and the possibility of hot  
plugabillity. Both are rather complex areas, and things that we  
require from the real block system, so some extra complexity is  
hard to avoid.


Classloader isolation is quite neat, I have to admit that, but it's  
not a major difficulty to implement on top of existing frameworks...


An advantage of using OSGi instead of a home brewn solution is that  
we don't have to solve all these complexity issues ourselves. As an  
example there actually allready was an Eclipse plugin editor there  
that helped you.


On that I agree wholeheartedly, mate... Don't get me wrong.

I'm just seeing my OSGI Eclipse plugin on one side, and the last  
slide Arje posted during the wrap-up of the GetTogether  
"SIMPLICITY" :-) Somehow, I can't feel OSGI is moving us towards that  
direction...


But that's a feeling, I'm far from saying "No, let's use something  
else", don't get me wrong...


Since the flow came along, I got quite lazy (weakly typed  
languages  rule) and the complexity of writing (and maintaining) a  
set of  metadata files related to each individual block, on top of  
sitemaps,  wirings, xconfs, source Java files and so on is  
definitely not  appealing to me.


For the Manifest.mf, the only complexity I have experienced is  
maintaining the export and import of packages. There are several  
things to say about that: First there are tool support to help you,  
Eclipse e.g. There is  also a tool for calculating dependencies  
between the bundles: http://oscar-osgi.sourceforge.net/mangen/,  
that we maybe could use in our build process. You can also simplify  
export and import rules by using wildcards.


But IMO there is a more important aspect of imports and exports:  
they declare what your bundle export and import and if they are  
complicated, that often mean that your bundle doesn't have a  
focused concern area and that its interface to the rest of the  
world is fat. This leads to rigid systems that are hard to reuse.  
So it is true that the current "bundleization" of Cocoon have  
complicated export and import section. I don't see that as a  
problem with OSGi, but rather as a consequnce of what we all  
allready know: Cocoon is monolothic, have far to much inter  
dependencies and fat interfaces and it is not that well defined  
what sub parts there are.


Yep... I feel your pain...

But thinking about it for a little bit, I'm starting to wonder if  
there is another way...


There is still a big nag in my mind, related to what Leo posted a  
while ago, and outlined here: http://www.betaversion.org/~pier/ 
2005/07/dependancies-through-import-statements.html


I like the simplicity that Leo outlined...

As soon as the basic mechanisms are in place I and hopefully others  
will focus on  geting the contracts leaner.


Yep... We need to see what the future holds...

I'm wondering if there isn't an easier (simpler) way to approach  
the  problem.


Sure, don't we all ;) We can of course wait for ever on the perfect  
approach for real block. But after having waited for the for 3+  
years, I and some others wanted something good enough now rather  
than something perfect in the future.


For your core, you might remeber that I supported that we should  
use it and wanted to start working on it, but you never found time  
to answer my qustions about some of the concepts in it or commit  
the much improved version of it that you said that you had.


Dude, your pain is _my_ pain on this topic... Unfortunately my  
current job doesn't allow me to spend much time on Cocoon itself and  
related projects (or even on my wife, for that matters!!!).


Seriously speaking, I wish I could dedicate more time onto this, but  
for now, I'm tied into writing XSLT and maintaining a huge lump of  
PERL code, and I can tell you, it's not fun...


That's why I'm not saying "let's move away from OSGI", but just  
outlining the fact that I personally find it quite cumbersome, and  
that what I like most is simplicity...



If we go down the OSGI route, I'll code  for OSGI, not for some  
pseudo-ad

Re: Roadmap for Cocoon Blocks

2005-10-12 Thread hepabolu

Ralph Goers wrote:



hepabolu wrote:



If the ideas of keeping track of changes in a changes.xml per block 
are going to be implemented, there should be a proper configuration of 
the site generating aspects, i.e.


m2 site:site should result in a smallish site that includes basic info 
with a link to the Daisy books (included in the release) and formatted 
pages for all changes.xml of all blocks.


WDYT?

Bye, Helma

I think our site will end up bearing a resemblance to maven's.  They 
have the core documentation and in that is the plug-in section where 
each plugin is documented separately.


Yes, but I want to keep the "mavenized" part as small as possible, 
otherwise we're going back to hacking xdocs. So in my view it's just the 
relative static info like "about", "svn address", "mailing lists" and 
"changes" and maybe "developer team".

The "about" part can refer to a link to the Daisy books.

All this (except for "changes") is generated from top level pom.xml.

Bye, Helma


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Daniel Fagerstrom

Pier Fumagalli wrote:


On 12 Oct 2005, at 12:40, Daniel Fagerstrom wrote:


Pier Fumagalli wrote:


On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:

Just one small nitpicking comment, we should say "3.0 will *most   
probably* use OSGI" - as you said, it's a nice goal to have but  I  
don't think we're 100% positive on that yet, there are still a  
few  unknowns.


I agree wholeheartedly... I am not 100% sure that OSGI is the  
perfect  solution. AFAICS it's a little bit too cumbersome for my  
brain.


And I know a lot of others share my concerns (from discussions at  
the  GT).


Any specific concerns about OSGi?


Personally, it looks "cumbersome" to me... Heck, I'm writing an  
Eclipse plugin at the moment, and if it wasn't for the Eclipse Plugin  
editor and stuff, I'd be totally lost.


OSGi gives us classloader isolation and the possibility of hot 
plugabillity. Both are rather complex areas, and things that we require 
from the real block system, so some extra complexity is hard to avoid.


An advantage of using OSGi instead of a home brewn solution is that we 
don't have to solve all these complexity issues ourselves. As an example 
there actually allready was an Eclipse plugin editor there that helped you.


Since the flow came along, I got quite lazy (weakly typed languages  
rule) and the complexity of writing (and maintaining) a set of  
metadata files related to each individual block, on top of sitemaps,  
wirings, xconfs, source Java files and so on is definitely not  
appealing to me.


For the Manifest.mf, the only complexity I have experienced is 
maintaining the export and import of packages. There are several things 
to say about that: First there are tool support to help you, Eclipse 
e.g. There is  also a tool for calculating dependencies between the 
bundles: http://oscar-osgi.sourceforge.net/mangen/, that we maybe could 
use in our build process. You can also simplify export and import rules 
by using wildcards.


But IMO there is a more important aspect of imports and exports: they 
declare what your bundle export and import and if they are complicated, 
that often mean that your bundle doesn't have a focused concern area and 
that its interface to the rest of the world is fat. This leads to rigid 
systems that are hard to reuse. So it is true that the current 
"bundleization" of Cocoon have complicated export and import section. I 
don't see that as a problem with OSGi, but rather as a consequnce of 
what we all allready know: Cocoon is monolothic, have far to much inter 
dependencies and fat interfaces and it is not that well defined what sub 
parts there are.


As soon as the basic mechanisms are in place I and hopefully others will 
focus on  geting the contracts leaner.


I'm wondering if there isn't an easier (simpler) way to approach the  
problem.


Sure, don't we all ;) We can of course wait for ever on the perfect 
approach for real block. But after having waited for the for 3+ years, I 
and some others wanted something good enough now rather than something 
perfect in the future.


For your core, you might remeber that I supported that we should use it 
and wanted to start working on it, but you never found time to answer my 
qustions about some of the concepts in it or commit the much improved 
version of it that you said that you had.


I really liked the idea of POJOs, and now OSGI forces me  back to 
re-use service factories again (so, what's the difference  from 
Avalon???), and on top of what Avalon does, it introduces all  those 
manifests and stuff...


At the CocoonGT one year ago the concensus was to use two level of 
containers for blocks one, intra block container like ECM++ or Spring 
that keeps back compability and give convenient component handling and 
one inter block container taking care of class loader isolation and hot 
plugabillity. OSGi have what is needed for the second part, but is as 
you notice not as convenient as e.g. Spring for the internal component 
management. The style of OSGi is rather similar to Avalon but as 
allready said it have classloader isolation and hot plugability support 
and above that it is standardized. So we can be rather confident that 
there is not going to be any Avalon community kind of things.


Oh, and please don't tell me that I can still use Avalon, Spring or  
whatever in the new thing.


Why shouldn't I? That was a major design criteria that we should keep 
back compability.


If we go down the OSGI route, I'll code  for OSGI, not for some 
pseudo-adapter of some sort... I'm not one to  take shortcuts.


I can agree with that attitude, even if I think most users will be quite 
happy to be able to use their favorit component container.


OSGi is rather low level for component management, only the basic 
mechanisms are there (+ classloader isolation and hot plugabillity 
support, which is what makes it unique), but no one stops you from 
building more convenient abstractions above that.


In R4 there is a de

Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Ralph Goers



hepabolu wrote:



If the ideas of keeping track of changes in a changes.xml per block 
are going to be implemented, there should be a proper configuration of 
the site generating aspects, i.e.


m2 site:site should result in a smallish site that includes basic info 
with a link to the Daisy books (included in the release) and formatted 
pages for all changes.xml of all blocks.


WDYT?

Bye, Helma

I think our site will end up bearing a resemblance to maven's.  They 
have the core documentation and in that is the plug-in section where 
each plugin is documented separately.


Ralph


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Joerg Heinicke

On 12.10.2005 15:24, Bertrand Delacretaz wrote:

IIUC we're currently talking of a "first milestone" release of 2.2, not 
a "release candidate". So the current ant build could be good enough for 
that until the m2 stuff matures, if this allows the milestone to be out 
earlier.


+1

Jörg


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Bertrand Delacretaz

Le 12 oct. 05, à 14:33, Reinhard Poetz a écrit :
...I think a build/deployment system is a must as soon as we reach the 
"release candidate" phase of 2.2. Currently the best bet is M2. Do you 
see any alternatives that could be implemented faster?...


IIUC we're currently talking of a "first milestone" release of 2.2, not 
a "release candidate". So the current ant build could be good enough 
for that until the m2 stuff matures, if this allows the milestone to be 
out earlier.


-Bertrand



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread hepabolu

Vadim Gritsenko wrote:

Well, I think m2 should be able to:

  * Build Cocoon
  * Build all blocks
  * Copy over blocks to WEB-INF/blocks or simialr :-)
  * Patch wiring.xml (as soon as we start using it)
  * Prepare a source release
  * Prepare a binary release

  * Build subset of blocks (using properties file?)
  * Prepare a source release with subset of blocks (is it needed?)
  * Prepare a binary release with subset of blocks

I think above is a complete list of what is needed from it... Did I miss 
anything? What is not implemented yet?


If the ideas of keeping track of changes in a changes.xml per block are 
going to be implemented, there should be a proper configuration of the 
site generating aspects, i.e.


m2 site:site should result in a smallish site that includes basic info 
with a link to the Daisy books (included in the release) and formatted 
pages for all changes.xml of all blocks.


WDYT?

Bye, Helma



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Vadim Gritsenko

Reinhard Poetz wrote:

Vadim Gritsenko wrote:


Reinhard Poetz wrote:

I think a build/deployment system is a must as soon as we reach the 
"release candidate" phase of 2.2. Currently the best bet is M2. Do 
you see any alternatives that could be implemented faster?


2.1 is using Ant build for years now; I don't see a problem using it a 
bit longer if it means release sooner.


ok, I think we're talking about differnt things. Anyway - the only 
missing thing so that the M2 build is equivalent to the Ant build is the 
include/exclude mechanism, isn't it?


Well, I think m2 should be able to:

  * Build Cocoon
  * Build all blocks
  * Copy over blocks to WEB-INF/blocks or simialr :-)
  * Patch wiring.xml (as soon as we start using it)
  * Prepare a source release
  * Prepare a binary release

  * Build subset of blocks (using properties file?)
  * Prepare a source release with subset of blocks (is it needed?)
  * Prepare a binary release with subset of blocks

I think above is a complete list of what is needed from it... Did I miss 
anything? What is not implemented yet?


Vadim


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Reinhard Poetz

Vadim Gritsenko wrote:

Reinhard Poetz wrote:


Vadim Gritsenko wrote:


Carsten Ziegeler wrote:


Vadim Gritsenko wrote:

I don't recall that m2 will be ready when 2.2 is out. If m2 is not 
ready, it should not delay the release. So, I suggest slight change 
of plan:



According to the m2 dev list, there will be a m2 final next week (if 
I'm

not mistaken). But of course a final version might not mean that
everything works the way we want it :)



Bad choice of words from me :-) I rather meant, our next build system 
which is based on m2 could be not ready for 2.2 release.


IIRC, 2.2m1 is due in 1 week or so :-) and m2 build is far from being 
implemented. My point is, delays in m2 build system implementation 
should not affect 2.2 releases, and if necessary, it can be easily 
done as part of 2.3.



I think a build/deployment system is a must as soon as we reach the 
"release candidate" phase of 2.2. Currently the best bet is M2. Do you 
see any alternatives that could be implemented faster?



2.1 is using Ant build for years now; I don't see a problem using it a 
bit longer if it means release sooner.


ok, I think we're talking about differnt things. Anyway - the only missing thing 
so that the M2 build is equivalent to the Ant build is the include/exclude 
mechanism, isn't it?



--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Pier Fumagalli

On 12 Oct 2005, at 12:40, Daniel Fagerstrom wrote:

Pier Fumagalli wrote:

On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:


Just one small nitpicking comment, we should say "3.0 will *most   
probably* use OSGI" - as you said, it's a nice goal to have but  
I  don't think we're 100% positive on that yet, there are still a  
few  unknowns.


I agree wholeheartedly... I am not 100% sure that OSGI is the  
perfect  solution. AFAICS it's a little bit too cumbersome for my  
brain.


And I know a lot of others share my concerns (from discussions at  
the  GT).


Any specific concerns about OSGi?


Personally, it looks "cumbersome" to me... Heck, I'm writing an  
Eclipse plugin at the moment, and if it wasn't for the Eclipse Plugin  
editor and stuff, I'd be totally lost.


Since the flow came along, I got quite lazy (weakly typed languages  
rule) and the complexity of writing (and maintaining) a set of  
metadata files related to each individual block, on top of sitemaps,  
wirings, xconfs, source Java files and so on is definitely not  
appealing to me.


I'm wondering if there isn't an easier (simpler) way to approach the  
problem. I really liked the idea of POJOs, and now OSGI forces me  
back to re-use service factories again (so, what's the difference  
from Avalon???), and on top of what Avalon does, it introduces all  
those manifests and stuff...


Oh, and please don't tell me that I can still use Avalon, Spring or  
whatever in the new thing.  If we go down the OSGI route, I'll code  
for OSGI, not for some pseudo-adapter of some sort... I'm not one to  
take shortcuts.


Pier



smime.p7s
Description: S/MIME cryptographic signature


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Vadim Gritsenko

Reinhard Poetz wrote:

Vadim Gritsenko wrote:


Carsten Ziegeler wrote:


Vadim Gritsenko wrote:

I don't recall that m2 will be ready when 2.2 is out. If m2 is not 
ready, it should not delay the release. So, I suggest slight change 
of plan:


According to the m2 dev list, there will be a m2 final next week (if I'm
not mistaken). But of course a final version might not mean that
everything works the way we want it :)


Bad choice of words from me :-) I rather meant, our next build system 
which is based on m2 could be not ready for 2.2 release.


IIRC, 2.2m1 is due in 1 week or so :-) and m2 build is far from being 
implemented. My point is, delays in m2 build system implementation 
should not affect 2.2 releases, and if necessary, it can be easily 
done as part of 2.3.


I think a build/deployment system is a must as soon as we reach the 
"release candidate" phase of 2.2. Currently the best bet is M2. Do you 
see any alternatives that could be implemented faster?


2.1 is using Ant build for years now; I don't see a problem using it a bit 
longer if it means release sooner.


Vadim


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Reinhard Poetz

Vadim Gritsenko wrote:

Carsten Ziegeler wrote:


Vadim Gritsenko wrote:

I don't recall that m2 will be ready when 2.2 is out. If m2 is not 
ready, it should not delay the release. So, I suggest slight change 
of plan:



According to the m2 dev list, there will be a m2 final next week (if I'm
not mistaken). But of course a final version might not mean that
everything works the way we want it :)



Bad choice of words from me :-) I rather meant, our next build system 
which is based on m2 could be not ready for 2.2 release.


IIRC, 2.2m1 is due in 1 week or so :-) and m2 build is far from being 
implemented. My point is, delays in m2 build system implementation 
should not affect 2.2 releases, and if necessary, it can be easily done 
as part of 2.3.


I think a build/deployment system is a must as soon as we reach the "release 
candidate" phase of 2.2. Currently the best bet is M2. Do you see any 
alternatives that could be implemented faster?


For the first we will start with handcrafted wiring.xml and copying blocks 
manually into the right directories. Do you think that this is enough for a release?


--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Vadim Gritsenko

Carsten Ziegeler wrote:

Vadim Gritsenko wrote:

I don't recall that m2 will be ready when 2.2 is out. If m2 is not ready, it 
should not delay the release. So, I suggest slight change of plan:


According to the m2 dev list, there will be a m2 final next week (if I'm
not mistaken). But of course a final version might not mean that
everything works the way we want it :)


Bad choice of words from me :-) I rather meant, our next build system which is 
based on m2 could be not ready for 2.2 release.


IIRC, 2.2m1 is due in 1 week or so :-) and m2 build is far from being 
implemented. My point is, delays in m2 build system implementation should not 
affect 2.2 releases, and if necessary, it can be easily done as part of 2.3.


Vadim


Re: Roadmap for Cocoon Blocks

2005-10-12 Thread Daniel Fagerstrom

Pier Fumagalli wrote:


On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:


Le 11 oct. 05, à 07:31, Reinhard Poetz a écrit :

...- Cocoon 2.2 will not use OSGi but will support blocks as far  as 
possible:...


...- Cocoon 3.0 will use OSGi --> shielding classloader and hot  
plugablillity...



...WDOT?


+1 to the plan.

Just one small nitpicking comment, we should say "3.0 will *most  
probably* use OSGI" - as you said, it's a nice goal to have but I  
don't think we're 100% positive on that yet, there are still a few  
unknowns.


I agree wholeheartedly... I am not 100% sure that OSGI is the perfect  
solution. AFAICS it's a little bit too cumbersome for my brain.


And I know a lot of others share my concerns (from discussions at the  
GT).


Pier


Any specific concerns about OSGi?

/Daniel



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Carsten Ziegeler
Vadim Gritsenko wrote:
> 
> I don't recall that m2 will be ready when 2.2 is out. If m2 is not ready, it 
> should not delay the release. So, I suggest slight change of plan:
> 
According to the m2 dev list, there will be a m2 final next week (if I'm
not mistaken). But of course a final version might not mean that
everything works the way we want it :)

Carsten

-- 
Carsten Ziegeler - Open Source Group, S&N AG
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/


Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Reinhard Poetz

Vadim Gritsenko wrote:

Reinhard Poetz wrote:



So here is the roadmap and let's discuss it "officially" on the 
mailing list:



I don't recall that m2 will be ready when 2.2 is out. If m2 is not 
ready, it should not delay the release. So, I suggest slight change of 
plan:


- Cocoon 2.2 will not use OSGi but will support blocks as far as 
possible:

   - blocks protocol (= sitemap blocks)
   - a block gets its own component manager that contains all local 
 components

 and gets the block component managers of all wired blocks as parent.
   - blocks are distributed as binaries
   - blocks are *not* spread over different directories during deployment
   - a block can contain classes in [block]/BLOCK-INF/classes that are 
 added

 to the context classloader
   --> this means that everything, that real blocks promise, works 
   except the

   shielding of Java classes.




- Cocoon 2.3
 - we use M2 as build and deployment tool (needs some special M2 
plug-ins

   for the deployment part)



I understand that you don't want to base Cocoon on an unstable M2 release, but 
what's the alternative for 2.2? Ant? Maven 1?


--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Vadim Gritsenko

Reinhard Poetz wrote:


So here is the roadmap and let's discuss it "officially" on the mailing 
list:


I don't recall that m2 will be ready when 2.2 is out. If m2 is not ready, it 
should not delay the release. So, I suggest slight change of plan:



- Cocoon 2.2 will not use OSGi but will support blocks as far as possible:
   - blocks protocol (= sitemap blocks)
   - a block gets its own component manager that contains all local 
 components

 and gets the block component managers of all wired blocks as parent.
   - blocks are distributed as binaries
   - blocks are *not* spread over different directories during deployment
   - a block can contain classes in [block]/BLOCK-INF/classes that are 
 added

 to the context classloader
   --> this means that everything, that real blocks promise, works 
   except the

   shielding of Java classes.



- Cocoon 2.3
 - we use M2 as build and deployment tool (needs some special M2 plug-ins
   for the deployment part)


- Cocoon 3.0 will use OSGi --> shielding classloader and hot plugablillity


Although Daniel has emphasized this many times I want to repeat it: We 
don't need to branch trunk for this roadmap. OSGi development can be 
done in parallel and we can avoid the unsatisfying situation of 
maintaining two branches.


Yep.


Of course future development can show that this or that is not possible 
or should be done differently (who knows now, if OSGi will really make 
it) but IMO it's nice to have a goal and something that we can 
communicate to other projects that depend on Cocoon so that they have 
enough time to adapt their design decisions.


WDOT?


Sounds good.

Vadim


Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Pier Fumagalli

On 11 Oct 2005, at 20:16, Bertrand Delacretaz wrote:

Le 11 oct. 05, à 07:31, Reinhard Poetz a écrit :

...- Cocoon 2.2 will not use OSGi but will support blocks as far  
as possible:...


...- Cocoon 3.0 will use OSGi --> shielding classloader and hot  
plugablillity...



...WDOT?


+1 to the plan.

Just one small nitpicking comment, we should say "3.0 will *most  
probably* use OSGI" - as you said, it's a nice goal to have but I  
don't think we're 100% positive on that yet, there are still a few  
unknowns.


I agree wholeheartedly... I am not 100% sure that OSGI is the perfect  
solution. AFAICS it's a little bit too cumbersome for my brain.


And I know a lot of others share my concerns (from discussions at the  
GT).


Pier

smime.p7s
Description: S/MIME cryptographic signature


Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Bertrand Delacretaz

Le 11 oct. 05, à 07:31, Reinhard Poetz a écrit :
...- Cocoon 2.2 will not use OSGi but will support blocks as far as 
possible:...


...- Cocoon 3.0 will use OSGi --> shielding classloader and hot 
plugablillity...



...WDOT?


+1 to the plan.

Just one small nitpicking comment, we should say "3.0 will *most 
probably* use OSGI" - as you said, it's a nice goal to have but I don't 
think we're 100% positive on that yet, there are still a few unknowns.


-Bertrand



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Daniel Fagerstrom

Stefano Mazzocchi wrote:
...

One thing, though, remember to also have a LinkRewritingTransformer 
that is block aware so that we can do


 

and this gets translated in the right URL


We allready have, see 
http://svn.apache.org/viewcvs.cgi/cocoon/trunk/src/webapp/WEB-INF/blocks/sample/sitemap.xmap?view=markup 
for configuration of the LinkRewriteTransformer and the link element in 
the begining of 
http://svn.apache.org/viewcvs.cgi/cocoon/trunk/src/webapp/WEB-INF/blocks/sample/simple-samples2html.xsl?view=markup 
for a (rather crappy) example of using it.


(hopefully relative, so that we don't have issues with webapp 
proxying, or, if absolute, we need a way to configure where is the 
cocoon mountpoint as seen from the proxy side)


It is absolute right now, but if it is more convenient to have it 
relative, we can make it relative. It seem a little bit complicated 
though. We could start with absolutizing the URL of the page that is 
link rewrited and then absolitize a link and from that calculate the 
relative path of the link relative to the page. Would that be enough or 
is there more to it?



I'm currently doing

http://simile.mit.edu/repository/linotype/trunk/stylesheets/absolutize.xslt 



with my latest linotype and I can't wait to get rid of all these hacks 
:-)


I have some own applications with such hacks and neither can I wait to 
get rid of them ;)


/Daniel



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Daniel Fagerstrom

Jorg Heymans wrote:
...


3.0 is a different beast alltogether. Likely we will need an m2 plugin
that can compile one block against other blocks using osgi dependency
rules (ie using the manifest information). The same goes for dependency
resolution, as it needs to be made osgi aware (right Daniel?).
So unless he knows a lot about osgi, a block developer will have to use
our m2 deployment framework to target 3.0.

Or am I seeing this m2-osgi build and deploy time integration too
complicated for what it really is ?
 

As long as the build of a bundle only depends on explicit jars and not 
on other bundles, the build is rather simple. This will be the case in 
our initial work with OSGi as we work more on bundelizing the existing 
Cocoon than integrating with external bundles. And for our own blocks we 
need to take care of the dependendency on libraries anyway.


As soon as we want to have the build dependent on other bundles it 
becomes a little bit more complicated as the build system must be OSGi 
aware to know what packages in a bundle that will be available for 
another bundle.


Now, even if this happen to be somewhat complex, it probably doesn't 
need to be a problem for us. Eclipse have allready solved this in theire 
build system and created external APIs for handling dependency 
information. I have discussed this question a little bit at the Felix 
list, and some of the main developers of the Eclipse kernel suggested to 
use the Eclipse mechanism and seemed to be willing to help making it work.


So for the nearest future it will be enough with a rather simple system, 
like the M2 OSGi plugin at Felix. And when we require a more 
sophisticated solution, we have a quite clear idea about how to solve that.


/Daniel



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Reinhard Poetz

Stefano Mazzocchi wrote:

One thing, though, remember to also have a LinkRewritingTransformer that 
is block aware so that we can do


 

and this gets translated in the right URL (hopefully relative, so that 
we don't have issues with webapp proxying, or, if absolute, we need a 
way to configure where is the cocoon mountpoint as seen from the proxy 
side)


I'm currently doing

http://simile.mit.edu/repository/linotype/trunk/stylesheets/absolutize.xslt

with my latest linotype and I can't wait to get rid of all these hacks :-)


I haven't checked it but I think the LinkRewritingTransformer in the 
link-rewriting block is already block aware and does what you want. Of course it 
needs to be moved to core.



--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Jorg Heymans

Reinhard Poetz wrote:

> Currently these dependendencies are declared in the Maven project
> descriptor. Personally I don't have a problem with it as the alternative
> is having our own mechanism. Shipping M2 with Cocoon 2.2 will be much
> simpler.

Agreed, but don't you mean "requiring" rather than "shipping" ?


Jorg




Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Ralph Goers



Reinhard Poetz wrote:


Jorg Heymans wrote:


Ralph Goers wrote:



I hadn't thought of this before, but I suppose this means that end user
applications using Cocoon will need to be built with Maven 2?




I'ld say they can but don't have to.



Right, if the user makes sure himself that the dependencies are 
resolved correctly because a 2.2 block will not include the JARs it 
depends on but they are copied into WEB-INF/lib at deploy time. M2 
will make sure that only one version of one JAR type is deployed.


Currently these dependendencies are declared in the Maven project 
descriptor. Personally I don't have a problem with it as the 
alternative is having our own mechanism. Shipping M2 with Cocoon 2.2 
will be much simpler.


I don't have a problem with that. I really am not crazy about 
implementing our own alternative.  But it is just one more thing that 
needs to be made clear in the doc.


Ralph


Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Stefano Mazzocchi

Reinhard Poetz wrote:


In Amsterdam at the GT Daniel gave a presentation 
(http://cocoongt.hippo12.castaserver.com/cocoongt/daniel-fagerstrom-blocks-2.pdf) 
about Cocoon blocks and one of his slides contained a roadmap for Cocoon 
blocks. This roadmap was discussed in the breaks and AFAICT is was 
widely accepted. Of course this doesn't mean that this is community 
consensus as not all have had the chance to comment on this yet.


So here is the roadmap and let's discuss it "officially" on the mailing 
list:


- Cocoon 2.2 will not use OSGi but will support blocks as far as possible:
   - blocks protocol (= sitemap blocks)
   - a block gets its own component manager that contains all local 
components

 and gets the block component managers of all wired blocks as parent.
   - we use M2 as build and deployment tool (needs some special M2 plug-ins
 for the deployment part)
   - blocks are distributed as binaries
   - blocks are *not* spread over different directories during deployment
   - a block can contain classes in [block]/BLOCK-INF/classes that are 
added

 to the context classloader

   --> this means that everything, that real blocks promise, works 
except the

   shielding of Java classes.

- Cocoon 3.0 will use OSGi --> shielding classloader and hot plugablillity


Although Daniel has emphasized this many times I want to repeat it: We 
don't need to branch trunk for this roadmap. OSGi development can be 
done in parallel and we can avoid the unsatisfying situation of 
maintaining two branches.



Of course future development can show that this or that is not possible 
or should be done differently (who knows now, if OSGi will really make 
it) but IMO it's nice to have a goal and something that we can 
communicate to other projects that depend on Cocoon so that they have 
enough time to adapt their design decisions.


I'm +1

One thing, though, remember to also have a LinkRewritingTransformer that 
is block aware so that we can do


 

and this gets translated in the right URL (hopefully relative, so that 
we don't have issues with webapp proxying, or, if absolute, we need a 
way to configure where is the cocoon mountpoint as seen from the proxy side)


I'm currently doing

http://simile.mit.edu/repository/linotype/trunk/stylesheets/absolutize.xslt

with my latest linotype and I can't wait to get rid of all these hacks :-)

--
Stefano.



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Reinhard Poetz

Jorg Heymans wrote:

Ralph Goers wrote:



I hadn't thought of this before, but I suppose this means that end user
applications using Cocoon will need to be built with Maven 2?



I'ld say they can but don't have to.


Right, if the user makes sure himself that the dependencies are resolved 
correctly because a 2.2 block will not include the JARs it depends on but they 
are copied into WEB-INF/lib at deploy time. M2 will make sure that only one 
version of one JAR type is deployed.


Currently these dependendencies are declared in the Maven project descriptor. 
Personally I don't have a problem with it as the alternative is having our own 
mechanism. Shipping M2 with Cocoon 2.2 will be much simpler.


--
Reinhard Pötz   Independent Consultant, Trainer & (IT)-Coach 


{Software Engineering, Open Source, Web Applications, Apache Cocoon}

   web(log): http://www.poetz.cc



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Jorg Heymans

Ralph Goers wrote:

> I hadn't thought of this before, but I suppose this means that end user
> applications using Cocoon will need to be built with Maven 2?

I'ld say they can but don't have to.

We will distribute the 2.2 core and block releases via the m2
repository, so m2 based projects can easily upgrade this way. The full
binary build will still contain "everything" in one package, this can be
used to build your app in any other way you like.
Now we might provide a recommended way of building and structuring
cocoon applications using m2 archetypes and our own plugins, but it will
only be a recommendation and not a requirement.


3.0 is a different beast alltogether. Likely we will need an m2 plugin
that can compile one block against other blocks using osgi dependency
rules (ie using the manifest information). The same goes for dependency
resolution, as it needs to be made osgi aware (right Daniel?).
So unless he knows a lot about osgi, a block developer will have to use
our m2 deployment framework to target 3.0.

Or am I seeing this m2-osgi build and deploy time integration too
complicated for what it really is ?


Jorg



Re: Roadmap for Cocoon Blocks

2005-10-11 Thread Ralph Goers
I hadn't thought of this before, but I suppose this means that end user 
applications using Cocoon will need to be built with Maven 2?


Ralph

Reinhard Poetz wrote:



In Amsterdam at the GT Daniel gave a presentation 
(http://cocoongt.hippo12.castaserver.com/cocoongt/daniel-fagerstrom-blocks-2.pdf) 
about Cocoon blocks and one of his slides contained a roadmap for 
Cocoon blocks. This roadmap was discussed in the breaks and AFAICT is 
was widely accepted. Of course this doesn't mean that this is 
community consensus as not all have had the chance to comment on this 
yet.


So here is the roadmap and let's discuss it "officially" on the 
mailing list:


- Cocoon 2.2 will not use OSGi but will support blocks as far as 
possible:

   - blocks protocol (= sitemap blocks)
   - a block gets its own component manager that contains all local 
components

 and gets the block component managers of all wired blocks as parent.
   - we use M2 as build and deployment tool (needs some special M2 
plug-ins

 for the deployment part)
   - blocks are distributed as binaries
   - blocks are *not* spread over different directories during deployment
   - a block can contain classes in [block]/BLOCK-INF/classes that are 
added

 to the context classloader

   --> this means that everything, that real blocks promise, works 
except the

   shielding of Java classes.

- Cocoon 3.0 will use OSGi --> shielding classloader and hot 
plugablillity



Although Daniel has emphasized this many times I want to repeat it: We 
don't need to branch trunk for this roadmap. OSGi development can be 
done in parallel and we can avoid the unsatisfying situation of 
maintaining two branches.



Of course future development can show that this or that is not 
possible or should be done differently (who knows now, if OSGi will 
really make it) but IMO it's nice to have a goal and something that we 
can communicate to other projects that depend on Cocoon so that they 
have enough time to adapt their design decisions.


WDOT?