There are two open issues i forgot to mention:

1) Where to look for files referenced from Domain.xml via file="..." or
dir="..."? 
AFAIK, there are two options:
(a) relative to the dir where the server was started
(b) in the classpath 

2) How to determine the content type (mime-type) of initialized content,
in particular if the dir="..." option is used?
(a) if the cortresponding <objectnode> is specified, we could invent a
type attribute (e.g. type="text/xml")
(b) otherwise (i.e. when using the dir="..." reference), the type could
be derived from the file extension. A comprehensive file-extension <->
mime-type mapping is available in the WebDAV layer (from web.xml) ...
but which we shouldn't use in the 'common' package :(

Regards,
Peter

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] 
> Sent: Freitag, 1. Oktober 2004 16:44
> To: [EMAIL PROTECTED]
> Subject: Initializing files at startup
> 
> Hi,
> 
> to initialize data in a repository during server start-up, I 
> can add <objectnode> elements in Domain.xml. For instance, I 
> could add an element <objectnode classname="..." 
> uri=/files/foo"/> inside <objectnode classname="..." 
> uri=/files"/> to have a folder "/files/foo" initialized.
> Also, to an <objectnode> element, I could add a <revision> 
> element containing  <property> elements in order to 
> initialize properties. All this is *not* new. 
> 
> But, what I *cannot* do, so far, is to initialize content of 
> files. And that is precisely what one of my customers using 
> Tamino WebDAV Server
> (TWS) would like to do. He wants to install a WebDAV 
> repository with certain initial content, but he doesn't want 
> the installation procedure to require a running server for 
> doing the initialization. Also, doing the initialization in 
> the underlying database is not a good idea (because must know 
> schema of the metadata).
> 
> So, yesterday, I invented a new <content> element which I can 
> add to <revision> elements in order to initialize content. 
> This can be done in
> 3 ways, as shown in the following examples: 
> 
> 1) The initial content of /files/sample.xml is specified directly in
> Domain.xml:
> 
>         <objectnode classname="org.apache.slide.structure.SubjectNode"
> uri="/files">
>           <objectnode 
> classname="org.apache.slide.structure.SubjectNode"
> uri="/files/sample.xml">
>             <revision>
>  
> <content><![CDATA[<sequence>tralala</sequence>]]></content>
>             </revision>
>           </objectnode>
>         </objectnode>
> 
> 2) The initial content of /files/sample.xml is taken from the 
> file referenced to by the 'file' attribute of the <content> element:
> 
>         <objectnode classname="org.apache.slide.structure.SubjectNode"
> uri="/files">
>           <objectnode 
> classname="org.apache.slide.structure.SubjectNode"
> uri="/files/sample.xml">
>             <revision>
>               <content file="../etc/init_data/sample.xml"/>
>             </revision>
>           </objectnode>
>         </objectnode>
> 
> 3) The initial content of the /files directory is taken from 
> the folder referenced to by the 'dir' attribute of the 
> <content> element (and it can be a whole structure of folders 
> and files):
> 
>         <objectnode classname="org.apache.slide.structure.SubjectNode"
> uri="/files">
>           <revision>
>             <content dir="../etc/init_data"/>
>           </revision>
>         </objectnode>
> 
> As my customer's TWS is based on Slide 2.0, I coded this 
> feature into my local copy of the SLIDE_2_0_RELEASE_BRANCH 
> and it works quite good so far (see attached .diff file).
> 
> My questions:
> - what do you think about this feature?
> - ideas how to improve it?
> - shall I check-in and also merge into 
> SLIDE_2_1_RELEASE_BRANCH? (I think it is a low impact add-on)
> 
> Thanks in advance!
> 
> Regards,
> Peter
> 
> 
> 
> 

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

Reply via email to