Note : For convinience purposes, the root element is named "slide".
If Slide is run under Avalon, this root element must be "avalon".
-
slide/namespace
This element is used to define a namespace in the domain.
Attributes list :
Name
|
Description
|
Required
|
name | Defines the name of the namespace | true |
-
slide/namespace/definition
This contains the declaration of the services mapped by the
namespace.
-
slide/namespace/definition/store
Declaration of a store service which will be used
by the namespace. The association of the service to a specific
path in the namespace is done by using the
slide/namespace/definition/scope element (see below).
This element can have child stores elements.
If no classname is specified, the
org.apache.slide.store.StandardStore will be used.
Attributes list :
Name
|
Description
|
Required
|
name | Name under which the service is mapped | true |
classname | Service class name | false |
-
slide/namespace/definition/store/parameter
Specifies an additional parameter.
Attributes list :
Name
|
Description
|
Required
|
name | Name of the parameter | true |
-
slide/namespace/definition/store/[childstore]
Declaration of a substore which will handle storage of a type
of objects.
This element can either have a classname element and parameter
child elements, or it can refer to another child store defined
in this descriptors store.
[childstore] can have the following values :
- nodestore
- securitystore
- lockstore
- revisiondescriptorsstore
- revisiondescriptorstore
- contentstore
The referenced child store must be a properly defined child
store defined in the same store. That is, it must
have a classname attribute, and must not be a reference to
another child store. Additionally, the child store must
implement storage for both types.
Attributes list :
Name
|
Description
|
Required
|
classname | Service class name | false |
-
slide/namespace/definition/store/[childstore]/reference
Reference to a child store which has already been defined for
thsi descriptors store.
Attributes list :
Name
|
Description
|
Required
|
store | Store type | true |
-
slide/namespace/definition/store/[childstore]/parameter
Specifies an additional parameter.
Attributes list :
Name
|
Description
|
Required
|
name | Name of the parameter | true |
-
slide/namespace/definition/scope
Associates a service to a specified scope in the namespace.
Attributes list :
Name
|
Description
|
Required
|
match | Uri filter | true |
store | Name of the store associated with the scope | true |
-
slide/namespace/configuration
This element specifies the namespace configuration.
-
slide/namespace/configuration/[actions]
Specifies to which object in the namespace the default action
types are mapped in the namespace. The value of the element
must be the uri of the corresponding object.
[actions] can have one of the following values :
- default-action
- read-object
- create-object
- remove-object
- grant-permission
- revoke-permission
- read-permissions
- lock-object
- kill-lock
- read-locks
- read-revision-metadata
- create-revision-metadata
- modify-revision-metadata
- remove-revision-metadata
- read-revision-content
- create-revision-content
- modify-revision-content
- remove-revision-content
It is legal not to specify any of these elements, al long as
the default default-action element is present and have a valid
value (which means that an object should exist at the specified
uri.
-
slide/namespace/configuration/userspath
Specify the uri of the users root. For example, a value of
"/users" will indicate that principal "foo" has a corresponding
object which uri is "/users/foo" in the namespace. This element
is optional.
-
slide/namespace/configuration/guestpath
Specify the uri of the guest user, relative to the users root.
This value will be used when the credential token contains an
empty String or a null value.
For example, a value of "foo" will indicate that principal
"userspath/foo" will be used as the current principal when
the credential token contains no value. This element
is optional.
-
slide/namespace/configuration/filespath
Specify the uri of the document root. This value is mainly used
by the webdav module, which will base it's root directory using
this value. Note : This feature is not implemented right now.
This element is optional.
-
slide/namespace/configuration/parameter
Specifies an additional parameter.
Attributes list :
Name
|
Description
|
Required
|
name | Name of the parameter | true |
-
slide/namespace/configuration/role
Specifies a role mapping. The value of this element should be
the Java class name of the interface representing the role.
Attributes list :
Name
|
Description
|
Required
|
name | Name of the role | true |
-
slide/namespace/configuration/auto-create-users
Setting the value of this element to "true" will enable
automatic creation of users.
-
slide/namespace/configuration/auto-create-users-role
Classname of the users which will be automatically created.
This class must extend ObjectNode.
-
slide/namespace/configuration/default-property
This element can be used to define a set of default properties
which will be present in newly created object having the
specified role. Specifying role "nobody" will add the property
as default for all the nodes in the namespace.
Attributes list :
Name
|
Description
|
Required
|
name | Name of the property | true |
namespace | Namespace of the property | true |
value | Default value of the property | true |
role | Role which will have the property | true |
-
slide/namespace/data
Specify the namespace bootstrap data. Slide will attempt to
create the objects specified in this section each time the
namespace is intialized, and will stop if it finds the
namespace has already been initialized before. Unless the
namespace has already been initialized or a repository access
error occurs, the creation of the specified objects / ACL /
metadata will always be successful. The objects defined in this
section should at least contain a user and an action object, so
that later on at least one pricipal has enough credentials to
perform an action on the namespace (unless security is
disabled).
-
slide/namespace/data/objectnode
Defines a namespace node. Can have another objectnode element
as child element. If the object only has one revision, the
revision element can be omitted, and objectnode can contain
property and content child elements.
Attributes list :
Name
|
Description
|
Required
|
classname | Class name of the attribute | true |
uri | Uri of the object | true |
-
slide/namespace/data/objectnode/permission
Grants a permission on the associated node. By defualt, the
permission is positive and inheritable.
Attributes list :
Name
|
Description
|
Required
|
action | Action which can be performed | true |
subject | Subject who can perform the action | true |
inheritable | If true, the permission will also apply to the child nodes | false |
negative | If true, will explicitely deny the permission specified | false |
-
slide/namespace/data/objectnode/revision
Defines a revision on the associated node.
Attributes list :
Name
|
Description
|
Required
|
number | Revision number | true |
-
slide/namespace/data/objectnode/revision/ancestor
Indicates that the revision is based on a previous revision.
-
slide/namespace/data/objectnode/revision/property
Defines a revision's property.
Attributes list :
Name
|
Description
|
Required
|
name | Property name | true |
-
slide/namespace/data/objectnode/revision/content
Defines the revision's content. This element's value MUST NOT
be the actual content, but an URL to the content.