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]
