Re: svn commit: r489224 - in /cocoon/trunk/core: ./ cocoon-blocks-fw/cocoon-blocks-fw-impl/ cocoon-common/ cocoon-common/src/ cocoon-common/src/main/ cocoon-common/src/main/java/ cocoon-common/src/mai

2006-12-21 Thread Carsten Ziegeler
danielf wrote:
 Author: danielf
 Date: Wed Dec 20 15:35:57 2006
 New Revision: 489224
 
 URL: http://svn.apache.org/viewvc?view=revrev=489224
 Log:
 Further work on splitting the core so that it becomes layered. Created a 
 number of new modules:
 
 * cocoon-common - classes needed everywhere: Constants, ProcessingException 
 and their dependencies.
 * cocoon-configuration - The Settings interface and implementation.
 * cocoon-environment - The Cocoon environment API and the http implementation 
 and some abstract base classes.
 * cocoon-util - Part of the o.a.c.util package that is needed in the modules 
 listed above.
 
Hmm, I'm not sure but it seems to me that this is the far opposite to
our old monolithic structure. What is the difference between common
and util?
We should rethink our environment abstraction as well. As we have
discussed in the past, it would make sense to forget about it and use
the servlet api instead. So I think we should not make this available in
a separate module which will be obsolete soon again. What about adding
this to the pipeline api?

Carsten


Re: svn commit: r489224 - in /cocoon/trunk/core: ./ cocoon-blocks-fw/cocoon-blocks-fw-impl/ cocoon-common/ cocoon-common/src/ cocoon-common/src/main/ cocoon-common/src/main/java/ cocoon-common/src/mai

2006-12-21 Thread Daniel Fagerstrom

Carsten Ziegeler skrev:

danielf wrote:
  

Author: danielf
Date: Wed Dec 20 15:35:57 2006
New Revision: 489224

URL: http://svn.apache.org/viewvc?view=revrev=489224
Log:
Further work on splitting the core so that it becomes layered. Created a number 
of new modules:

* cocoon-common - classes needed everywhere: Constants, ProcessingException and 
their dependencies.
* cocoon-configuration - The Settings interface and implementation.
* cocoon-environment - The Cocoon environment API and the http implementation 
and some abstract base classes.
* cocoon-util - Part of the o.a.c.util package that is needed in the modules 
listed above.



Hmm, I'm not sure but it seems to me that this is the far opposite to
our old monolithic structure.
I agree that the current split is a little bit to fine grained. I 
started by just factoring out a pipeline implementation, but there are 
so many interdependencies so it didn't work that well.


My current idea is to continue splitting up the core with the goal of 
making the core layered so that the pipeline can be used separately 
without needing to include all of the tree-processor code.


This will lead to more modules than what we would like to have in the 
end. But it will make it clear how everything is connected. Then in a 
next step we can start refactoring things so that we get rid of 
unnecessary dependencies. And after that we probably can merge some of 
the modules. It will also be much easier for us to see and be able to 
discuss about what layers we want Cocoon to be split into.


So see the current split as a temporary state, (and be prepared on that 
it will become even worse ;) )



 What is the difference between common
and util?
  
Probably not that much. It might be that common, configuration and util 
should be merged.



We should rethink our environment abstraction as well. As we have
discussed in the past, it would make sense to forget about it and use
the servlet api instead.

Agree.


 So I think we should not make this available in
a separate module which will be obsolete soon again. What about adding
this to the pipeline api?
  
I made the environment a separate module as both pipeline and the 
container code depends on it. Otherwise it would be unclear if the 
pipeline should depend on the container or the opposite way around. If 
we can get rid of the dependency of the container on the environment, we 
could merge the environment ant the pipeline module.


==

So please bear with a too fine grained splitting of the core during a 
short period. It shouldn't affect use of Cocoon during that period as 
cocoon-core will depend on all that is needed. If we don't do enough 
progress into splitting Cocoon core in reasonable layers, it is very 
easy to merge everything together again.


/Daniel



Re: svn commit: r489224 - in /cocoon/trunk/core: ./ cocoon-blocks-fw/cocoon-blocks-fw-impl/ cocoon-common/ cocoon-common/src/ cocoon-common/src/main/ cocoon-common/src/main/java/ cocoon-common/src/mai

2006-12-21 Thread Carsten Ziegeler
Hi Daniel,

thanks for the explanations. I'm fine with that approach and wait for
further things to come :)

Carsten

Daniel Fagerstrom wrote:
 Carsten Ziegeler skrev:
 danielf wrote:
   
 Author: danielf
 Date: Wed Dec 20 15:35:57 2006
 New Revision: 489224

 URL: http://svn.apache.org/viewvc?view=revrev=489224
 Log:
 Further work on splitting the core so that it becomes layered. Created a 
 number of new modules:

 * cocoon-common - classes needed everywhere: Constants, ProcessingException 
 and their dependencies.
 * cocoon-configuration - The Settings interface and implementation.
 * cocoon-environment - The Cocoon environment API and the http 
 implementation and some abstract base classes.
 * cocoon-util - Part of the o.a.c.util package that is needed in the 
 modules listed above.

 
 Hmm, I'm not sure but it seems to me that this is the far opposite to
 our old monolithic structure.
 I agree that the current split is a little bit to fine grained. I 
 started by just factoring out a pipeline implementation, but there are 
 so many interdependencies so it didn't work that well.
 
 My current idea is to continue splitting up the core with the goal of 
 making the core layered so that the pipeline can be used separately 
 without needing to include all of the tree-processor code.
 
 This will lead to more modules than what we would like to have in the 
 end. But it will make it clear how everything is connected. Then in a 
 next step we can start refactoring things so that we get rid of 
 unnecessary dependencies. And after that we probably can merge some of 
 the modules. It will also be much easier for us to see and be able to 
 discuss about what layers we want Cocoon to be split into.
 
 So see the current split as a temporary state, (and be prepared on that 
 it will become even worse ;) )
 
  What is the difference between common
 and util?
   
 Probably not that much. It might be that common, configuration and util 
 should be merged.
 
 We should rethink our environment abstraction as well. As we have
 discussed in the past, it would make sense to forget about it and use
 the servlet api instead.
 Agree.
 
  So I think we should not make this available in
 a separate module which will be obsolete soon again. What about adding
 this to the pipeline api?
   
 I made the environment a separate module as both pipeline and the 
 container code depends on it. Otherwise it would be unclear if the 
 pipeline should depend on the container or the opposite way around. If 
 we can get rid of the dependency of the container on the environment, we 
 could merge the environment ant the pipeline module.
 
 ==
 
 So please bear with a too fine grained splitting of the core during a 
 short period. It shouldn't affect use of Cocoon during that period as 
 cocoon-core will depend on all that is needed. If we don't do enough 
 progress into splitting Cocoon core in reasonable layers, it is very 
 easy to merge everything together again.
 
 /Daniel
 
 


-- 
Carsten Ziegeler - Chief Architect
http://www.s-und-n.de
http://www.osoco.org/weblogs/rael/


Re: svn commit: r489224 - in /cocoon/trunk/core: ./ cocoon-blocks-fw/cocoon-blocks-fw-impl/ cocoon-common/ cocoon-common/src/ cocoon-common/src/main/ cocoon-common/src/main/java/ cocoon-common/src/mai

2006-12-21 Thread Reinhard Poetz

Carsten Ziegeler wrote:

Hi Daniel,

thanks for the explanations. I'm fine with that approach and wait for
further things to come :)


+1

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


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

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



___ 
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de