Top

14.7.12. xmlStorageSystem API

xmlStorageSystem is an Web storage system for documents that are programmable over XML-RPC and SOAP 1.1. Uploaded files are accessible via HTTP. xmlStorageSystem has methods that allow users to register with the service; upload a set of files; query the server to find out its capabilities; and to register a notification request.

[Tip] See Also:

XML-RPC section

The API methods are:

xmlStorageSystem.registerUser()
xmlStorageSystem.mailPasswordToUser()
xmlStorageSystem.getServerCapabilities()
xmlStorageSystem.deleteMultipleFiles()
xmlStorageSystem.saveMultipleFiles()
xmlStorageSystem.requestNotification()

Relation to the WebDAV Repository

The xmlStorageSystem stores uploaded files in the WebDAV repository. Upon user registration a "blog" sub-folder will be created in the user-account home directory, into which these files will be uploaded and stored using the xmlStorageSystem API.

Authentication.  The XML Storage System uses WebDAV enabled accounts to authenticate. The passwords sent via the xmlStorageSystem API (except registerUser, see below) must be an MD5 hash of the real user password. In this way clear text password cannot be captured from network sniffers.

Cloud notification services.  The aggregators scan for changes in an interval, but in some situations we want to know when a channel has changed immediately. Notification makes it possible to always be in sync with bandwidth conservation and unneeded loops. This is possible to register an aggregator using a xmlStorageSystem.requestNotification function, also to make aggregator to know about such service it's parameters are exposed in <cloud> sub-element of <channel> of the RSS files. The notification works as follows: aggregator gets registered via xmlStorageSystem.requestNotification; Then if a registered link changes, the aggregator will be notified via specified protocol and method. The aggregator needs to register itself every 24 hour, otherwise the registration will expire. For full explanation of the cloud element of RSS file see reference at "http://backend.userland.com/rss#ltcloudgtSubelementOfLtchannelgt".

Enabling XML Storage System in a Virtual Directory

The XML Storage System can be enabled by creating a virtual directory as a SOAP enabled directory, where the SOAP users is set to DBA or any other user granted execute permissions to the xmlStorageSystem methods.

Example 14.63. Enabling an xmlStorageSystem Virtual Directory

via ISQL tool:

  SQL> vhost_define (lpath=>'/xmlStorageSystem', ppath=>'/SOAP/',
      soap_user=>'dba');

The xmlStorageSystem takes into account the following user options:

maxFileSize, integer - maximum file length allowed for upload
maxBytesPerUser, integer - maximum total bytes

These are set upon initial registration to 1Mb/40Mb respectively and can be changed via the Visual Server Administration Interface -> WebDAV -> WebDAV users -> Options link.