On Wed, 2005-04-13 at 08:20 +0200, Reinhard Poetz wrote: > [Sorry if I completly miss the point but as skinconf bothered me some hours a > few weeks ago I can't resist on commenting on this] >
:) Cheers for your comments, you hit the nail on the head! > The Cocoon project has the need for many repositories in the future. We will > split our codebase in many blocks and each block will become as independant > as > possible. This is also valid for the documentation with the reuslt that we > get > many Forrest repos. Actually we will do the same in regards with plugins. A plugin is comparable to a cocoon block. It is aimed to be independent from the core and having their own documentation. > > So far this isn't really difficult. But, it becomes interesting if you want > to > have all those repos having the same look without manually copy files around > but > this is a problem as skinconf contains project specific information and > information how the final docs are styled. > > I ended up in using XML entities (see > http://svn.apache.org/repos/asf/cocoon/trunk/src/documentation/src/skinconf.xml) > > and svn:externals to merge content+project_specific_information with Cocoon > wide styling information (CSS, custom sitemap). This solved my problem (for > now). > I had a look and it is a very elegant solution. > I haven't had a look at plugins yet (sorry, I'm still using Forrest 0.6) - if > you tell me that the use of them will solve my problem in the future, just > forget this request - otherwise I would be interested in discussing the > Forrest > and properties topic with you. > Thanks Reinhard to speak up and bring back a point that we discussed a while ago. I share your opinion that in the current skinconf we are mixing project specific information and look & feel. That was one point to start the discussion again. Having your link in mind we have &heading; &extracss; &colors; &pdf; &credits; as common components. IMO this components should be defined in a global file. Besides this global file we can have view specific configuration. I personally see the cocoon blocks a specific view on the cocoon project(documentation). The view concept is pretty new and will go as snapshot into 0.7 and will be the default skinning engine in 0.8. The concept is using the idea of fallbacks. If you do not need a specific view on your project the globally defined properties will be used. That leads us to the question which components should be split apart from the skinconf that we are using right now. Arik already pointed out (like yourself) that the color scheme should go into a file for its own. ...but there are many more components that we define in skinconf but IMO belong in a view config. e.g. feedback, trail, ... Splitting them apart makes it possible to easily use the fallback mechanism. If a block do not define block view specific properties the default properties will be used. I reckon there are only a couple of properties that need to be overridden by a block. The majority of properties will be used from the default view config from cocoon directly. Having said all this it makes me thinking whether or not we should keep the skinconf or better rename it (to viewConf.xml) and split it in different files (e.g. regarding colors colorConfCocoon.xml, colorConfLenya.xml, ...) Like I stated above your solution of entities is very elegant way but it is still a workaround and we should provide a mechanism to overcome this. Cheers for sharing your thoughts here in this list. p.s.: You may want to change (of the above given link) to cocoon.apache.org. ;-) <search name="Apache Forrest" domain="forrest.apache.org" provider="google"/> salu2 -- thorsten "Together we stand, divided we fall!" Hey you (Pink Floyd)