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