Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Lenya Wiki" for change 
notification.

The following page has been changed by JörnNettingsmeier:
http://wiki.apache.org/lenya/RandomThingsLearnedWhilePlayingWith1%2e4HEAD

The comment on the change is:
cleanup

------------------------------------------------------------------------------
  
  == New Publication Wizard / Publication templating ==
  
- I'm trying to set up two publications that follow a common corporate design. 
The idea is to use 
[http://lenya.apache.org/1_4/reference/publication-templating/index.html 
publication templating], so that changes to the design will automatically be 
propagated to the derived publications. This does not work very well for me atm 
- I need to understand which settings and files are hard-copied once during 
creation and which are referenced. I'm dumping my findings here as I go along.
+ Important note (quoting AndreasHartmann): 
+  ''The default publication's instantiator [i.e. the "New publication Wizard] 
is just an example how it could be done, it is not thoroughly designed and 
tested. You can fine-tune your own instantiator just as you please.'' 
  
+  ''(see 
src/pubs/default/java/src/org/apache/lenya/cms/defaultpub/cms/publication/templating/Instantiator.java)''
- Important note (quoting AndreasHartmann): 
-  ''The default publication's instantiator [i.e. the "New publication Wizard] 
is just an example how it could be done, it is not thoroughly designed and 
tested. You can fine-tune your own instantiator just as you please.''
  
- Ok. This means I have raised my status from RTFM to WTFC :-D Unfortunately, 
my Java skills are nil for very small values of nil... Let's see.
  
- === Observations ===
+ That said, the default instantiator has some issues:
  
- The grunt work of creating a new publication is done by 
lenya_1_4_X/src/webapp/lenya/pubs/default/java/src/org/apache/lenya/defaultpub/cms/publication/templating/Instantiator.java.
 You should browse this file only if you are mentally and emotionally stable ;)
+  * It does not yet create a sane access control. It always uses the ac 
settings from the default publication (i.e. it uses the same users and groups, 
instead of creating its own ac). (CHECK: is this still the case with latest 
SVN?)
+   * <newpub>/config/ac/ac.xconf uses 
"context:///lenya/pubs/default/config/ac/passwd" etc. *But*: it always uses the 
"default" publication, not the actual template that is used. This can be 
corrected by using "fallback:///confic/ac/..." throughout /config/ac/ac.xconf.
+   * The contents of the passwd/ and policy/ dirs are copied into <newpub> 
from the default publication. 
+   ''(Note: Changes to config/ac/ settings require lenya to be restarted in 
order to become active.)''
  
- ==== Access Control: ====
+  * It produces an incorrect setting for "templates" in 
config/publication.xconf. There are two template declarations instead of one, 
and the first is always "default". Since the first one wins, your new 
publication will only inherit properties from default unless you remove this 
line. (CHECK: is this still the case with latest SVN?)
  
-  * <newpub>/config/ac/ac.xconf uses 
"context:///lenya/pubs/default/config/ac/passwd" etc. *But*: it always uses the 
"default" publication, not the actual template that is used. This can be 
corrected by using "fallback:///confic/ac/..." throughout /config/ac/ac.xconf.
-  * The contents of the passwd/ and policy/ dirs are copied into <newpub> from 
the default publication. 
-  * Changes to config/ac/ settings require lenya to be restarted in order to 
become active.
  
- ==== Configuration: ====
+ == Overriding global resources ==
  
-  * publication.xml is copied from the template, and the publication name is 
changed. This seems to be accomplished by weird tricks with the document tree 
within the Instantiator class.
+ In order to override anything from lenya/webapp/lenya/<path>/<to>/<somefile> 
in your publication, you need to create a corresponding file 
lenya/webapp/lenya/pubs/<yourpub>/lenya/<path>/<to>/<somefile>. Note the 
additional "lenya" subdir, which basically says "override global stuff".
  
- ==== Content: ====
+ For example, to provide your own samples when a user creates a new document, 
create <yourpub>/lenya/resources/samples/<resource type>.xml.
  
-  * content/*/* is copied from the template without changes.
-  * When the user creates new pages of a certain resource type, s/he will see 
sample pages which are read from ../modules/<doctype>/samples/<doctype>.xml.
-   ''How can these be overridden in individual publications? Why are there 
sometimes multiple files (such as xhtml-2col.xml and xhtml.xml)? How are 
resource types defined globally?''
+ ==  Misc ==
+ 
+  * Is there a fallback mechanism for the "resources" subdir? What I'd like to 
have is reference a .css, lenya looks in the resources dir of the current 
publication, and if it's not there, look in the template. Or better yet, 
concatenate both css files so that I can overload selected style declarations 
while the rest is taken from the template.
+ 
+   ''Yes, there is.'' AndreasHartmann: ''"Actually that should already work 
(see global-sitemap.xmap): <!-- Ancestors resources, css, js, etc... --><!-- 
{publication-id}/{area}/{filename}.inherited.{extention} -->"''
+  
+  * How is access control supposed to work? Ideally, users created in a 
template are valid for all the derived publications, and each publication also 
has its own local user list. Possible?
+ 
+   AndreasHartmann: ''"Not yet. That would require a custom accreditable 
manager."'' (Cf. config/ac/ac.conf -> <accreditable-manager type="file"/>)
+ 
   * As mentioned in 
[http://lenya.apache.org/1_4/reference/publication-templating/index.html], 
templates are defined in <newpub>/config/publication.xconf. 
+ 
    ''I want to be able to add new resource types to the *template* that will 
automatically be available in all derived publications. possible? IIUC, as it 
is now I have to add a new fallback entry to each derived publication's config 
file by hand, which is not so nice.''
+ 
    ''Is there a way to say "take all configuration options from the template 
except those which are explicitly overwritten in the publication's .xconf"? 
This would be a lot saner IMHO.''
  
    AndreasHartmann says ''"not yet"'', but welcomes patches.
-  * indexing: in <newpub>/config/index_manager.xconf it says '<indexer 
role="org.apache.cocoon.components.search.components.Indexer/default" />'. 
-   ''Does this relate to the default publication, or is it just the "default" 
indexer behaviour?''
-   AndreasHartmann guesses it's the latter, but is not sure.
  
- === Other open issues ===
- 
-  * Is there a fallback mechanism for the "resources" subdir? What I'd like to 
have is reference a .css, lenya looks in the resources dir of the current 
publication, and if it's not there, look in the template. Or better yet, 
concatenate both css files so that I can overload selected style declarations 
while the rest is taken from the template.
-   ''Yes, there is.'' AndreasHartmann: ''"Actually that should already work 
(see global-sitemap.xmap): <!-- Ancestors resources, css, js, etc... --><!-- 
{publication-id}/{area}/{filename}.inherited.{extention} -->"''
-  
-  * How is access control supposed to work? Ideally, users created in a 
template are valid for all the derived publications, and each publication also 
has its own local user list. Possible?
-   AndreasHartmann: ''"Not yet. That would require a custom accreditable 
manager."'' (Cf. config/ac/ac.conf -> <accreditable-manager type="file"/>)
-  * How does the searching behave? (Need to look into that.) Ideally, I want 
to be able to search only the current publication or all publications derived 
from the same template(s).
- 

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

Reply via email to