WebDAV - Tizra/Tizra-Customer-Tracker GitHub Wiki
Tizra provides WebDAV access to content via a WebDAV interface. This allows publication of new content, and modifications to existing content.
This documents the currently supported paths for Tizra webDAV service. Access must be made over an https connection to a secure Tizra server (currently secure.agilepdf.com). The starting URL for a site is available in the Host Name tab of the Site Settings in the Tizra administration interface.
Currently the starting URL for WebDAV access is of the form https://<secure-server-host>/~dav/<site_id>
That base URL is a collection Resource (Folder), containing two other folders:
- Documents contains one URL for every top-level document in the Tizra site. It does not contain Excerpts or any other Tizra objects. Currently Excerpts cannot be accessed via WebDAV
- Publishing drop folder This folder will accept new source files, and will create a new Tizra document for each file placed here.
Inside the Documents folder are sub-folders, each representing a Tizra document. Note that Tizra sites can contain many documents, and opening this folder on a desktop system may not perform well. We may make changes to the top-level folder organization in order to avoid performance problems.
The name of a document is its URL as defined in the Tizra system. Normally this is a tizra-id, but if a custom URL has been set for a document, that will be used as the name instead.
It is not possible to move documents in the hierarchy presented by a Tizra server, except for the special case of renaming a document (implemented in WebDAV by a MOVE method). If a document is renamed, its custom URL in the Tizra server is updated. Where document names contain special characters, the webDAV interface presents those as %-escaped strings.
Each document is a folder. Currently a document folder contains 3 (or potentially more) sub-folders, each representing set of Source files or attachments. The list of default file areas for a Tizra document includes the following:
- ~PdfSource contains source documents for a book.
- ~Attachments contains the attachments.
- ~FreeAttachments contains attachments that are not under access control.
Like documents, attachments cannot be moved except to rename them.
Attachments are stored in the Tizra system with the Content-Type provided by the client. If these content types are not correct, there may be problems in file delivery or processing.
At this time there is no additional metadata available for a document vie WebDAV.
At some point, there may be additional files in a document folder representing metadata about the document. It may even be possible to update a document's metadata by updating such files.
When a PDF is written to this folder, any extracted PDF metadata will be used to update the new document. This is the same process as that followed when a new document is ulploaded to Tizra vie the administration interface. Note that (unlike the administrative interface) it is not currently possible to create a document with no file content via WebDAV.
Attempts to put unsupported content types into the ~PdfSource directory will return a failing HTTP status. This does not depend on the content-type given, but on the ability of the system to successfully process the particular file uploaded.
Currently, a directory entry for a failed file upload will remain for the duration of the Tomcat session, with a size of 0, but this behavior will change.
The contents of this directory are persistent for the duration of a Tomcat session, but will not be visible (here) once that session has timed out, and will not be visible to other WebDAV users of the same site.
The Tizra server supports the WebDAV LOCK method, allowing limited concurrency control, and making it compatible with client systems (such as Mac OS X) that require locking support.
To keep the implementation simple, and in order to work with most of the wide variety of WebDAV clients out there, account authentication for WebDAV is by means of HTTP Basic authentication. This is only secure as long as it is used over an encrypted connection, and does not require a great deal of overhead.
While the Tizra server will currently allow non-encrypted connections, this is regarded as a bug.