Hi Peter,
I'd like to have a general mechanism to export/import data into Slide. 
What we need is some kind of archive format reflecting the content of any
webdav-repository. This is often needed if you want for example copy the
content of a webdav-based repository from one server to another one
including properties, acl and so on. 
So it would be nice to have an application that can be invoked with some
parameters (uri, depth, included features (acl,versioning,properties...) to
create an archive. This archive can be created using the standard set of
webdav-commands. The same application could be used to import an archive to
a given url.
If such an archive would exists (we should consider an as simple as can be
format so that it can easily created by hand), we could add some required
archives in domain.xml. At startup Slide could import these archives if they
do not already exist.
Don't get me wrong: I like your patches to enable the import of content, but
I think if you really want to import a larger amount of data, the archive
way would have some benefits.
Regards,
Daniel

 
-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Im
Auftrag von [EMAIL PROTECTED]
Gesendet: Freitag, 1. Oktober 2004 15:44
An: [EMAIL PROTECTED]
Betreff: 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