4Suite API Documentation

Module Ft.Server.Server.Drivers.FtssDriver

4Suite repository driver

Copyright 2004 Fourthought, Inc. (USA).
Detailed license and copyright information: http://4suite.org/COPYRIGHT
Project home, documentation, distributions: http://4suite.org/
Classes:
Functions:
Fields:

Classes

class DataStoreContainer
Repository XML Container object. createContainer/getContent/setContent/_getChildren are overidden to use low level api's to implement containment. Should catch Exceptions more ferverently.

NOTE
self._driver is the FtssDriver instance
self._driver._driver is the Data store driver instance

Methods

childReferenceXML(self, path)
Returns an XML representation of the specified container (path is a PathImp) Uses fetchChildren (implemented by the data store) to retrieve the names of the children and generates a repository container XML document.
createContainer(self, path, createParents=0, docDef=None, actualContent=None)
Creates the specified container, if createParents is true then all its parents along the path are created (if they dont exist). If actualContent is given NOT_SUPPORTED Exception is raised Needs to mimick (mostly) and override FtssDriver.createResource in order to call _createContainer
deleteContainer(self, path)

The FtssDriver wraps the lowest-level repository database driver, providing functions commonly used by higher-level APIs.

Methods

__init__(self, logger, driverMod, properties)
checkLogin(self, userName, password)
commit(self)
destroy(self)
Another very special case that will destroy a '/'. It cannot be called if they are logged in
exists(self)
A very special-case function. This can be called without being logged in
getContext(self, path, nss=None)
getModel(self, path)
getType(self, path)
Get the resource type from the metadata. path is a Path object
Another very special case that will create a new '/'. It cannot be called if they are logged in
login(self, userName, password, verify=0)
newContainerXml(self, path, acl, owner, docDef, content=None)
open(self, href)
rollback(self)
setTempFileDelete(self, flag)

Methods inherited from class Ft.Server.Server.Drivers.ResourceManager.ResourceManager

Methods inherited from class Ft.Server.Server.Drivers.ACLManager.ACLManager

Methods inherited from class Ft.Server.Server.Drivers.MetadataManager.MetadataManager

Methods inherited from class Ft.Server.Server.Drivers.Util.FtssDriverUtility

Methods inherited from class Ft.Server.Server.Drivers.SessionManager.SessionManager

Fields

exprs = []
mode = 2
o = '/ftss:MetaData/ftss:Reference'
p = '"http://schemas.4suite.org/4ss#urireferencefile.location"'
s = '$uri'
t = 'R'

Functions

RecurPrint(obj, done=[])

Fields

DELETE_CONTAINER_CHILD_XUPDATE = <Document at 0x49387f6c: 1 children>
The Document interface represents the entire XML document. Conceptually, it is the root of the document tree, and provides the primary access to the document's data.
FTSERVER_NAMESPACE = 'http://xmlns.4suite.org/reserved'
NEW_CONTAINER_CHILD_XUPDATE = <Document at 0x49387d6c: 1 children>
The Document interface represents the entire XML document. Conceptually, it is the root of the document tree, and provides the primary access to the document's data.
RESERVED_NAMESPACE = 'http://xmlns.4suite.org/reserved'
UPDATE_ACL = '<xupdate:modifications\n version="1.0"\n xmlns:x...ta">%s</xupdate:append>\n</xupdate:modifications>\n'
UPDATE_LAST_MODIFIED = '<xupdate:modifications\n version="1.0"\n xmlns:x...te">%s</xupdate:update>\n</xupdate:modifications>\n'
UPDATE_LAST_MODIFIED_AND_SIZE = <Document at 0x49387f2c: 1 children>
The Document interface represents the entire XML document. Conceptually, it is the root of the document tree, and provides the primary access to the document's data.
UPDATE_SIZE = '<xupdate:modifications\n version="1.0"\n xmlns:x...ze">%s</xupdate:update>\n</xupdate:modifications>\n'
XLINK_NAMESPACE = u'http://www.w3.org/1999/xlink'
XSL_NAMESPACE = u'http://www.w3.org/1999/XSL/Transform'