blob: 09394d5ff3f5f56b343f526f4c7a87b2ea2defd2 [file] [log] [blame]
Webdav 1.1: Dead properties
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some of the Webdav plugins need to store additional information in the
backend. To achieve this, new properties are introduced, which will be handled
by the backend as so-called "dead properties". The property contents should be
XML.
All dead properties provided by any plugin that is shipped with eZ Components
must reside in the namespace::
http://ezcomponents.org/s/Webdav
If a plugin makes use of that namespace, it might add a fraction part to it,
to avoid naming collisions inside the namespace. For example, the lock plugin
uses::
http://ezcomponents.org/s/Webdav#lock
===========
Lock plugin
===========
Due to the complexity of the Webdav standard and the abstraction of the lock
plugin, a new dead property is introduced which stores additional information
about locks. The <ezclock> property is an XML document that has the following
structure::
<lockinfo>
<null />
<tokeninfo>
<token>opaquelocktoken:abc</token>
<lockbase>/path/to/lock/base</lockbase>
</tokeninfo>
<tokeninfo>
<token>opaquelocktoken:def</token>
<lastaccess>2008-10-12T15:19:21+00:00</lastaccess>
</tokeninfo>
</lockinfo>
If the <null> tag is set, the resource is a null lock resource. The
<tokeninfo> element stores information about the base of the lock, if the lock
was not issued on the resource itself but on a higher level resource. If the
lock was issued on the resource itself, the <lockbase> element is not present,
but the <lastaccess> element is present. It indicates the last time when the
client performed an operation on any of the resources locked by the token.
The <lockbase> element is used to identify the resource on which the lock was
originally issued. The <lastaccess> element is used to purge locks that have
not been accessed for a certain time period.
=> Neuer Hook extract_dead_property um direkt an property objekt zu kommen
=> analoger hook um property zu serialisieren