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:
Globals:

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)
class FtssDriver(Ft.Server.Server.Drivers.ResourceManager.ResourceManager, Ft.Server.Server.Drivers.ACLManager.ACLManager, Ft.Server.Server.Drivers.MetadataManager.MetadataManager, Ft.Server.Server.Drivers.Util.FtssDriverUtility, Ft.Server.Server.Drivers.SessionManager.SessionManager)
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)
getSystemContainerPath(self)
getSystemModel(self)
getType(self, path)
Get the resource type from the metadata. path is a Path object
initialize(self)
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

Members

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

Functions

RecurPrint(obj, done=[])

Globals

DEFAULT_SESSION_TIME_TO_LIVE = 900
DELETE_CONTAINER_CHILD_XUPDATE = <Document at 0x4191472c: 1 children>
Document([documentURI]) -> Document object
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 0x41914dac: 1 children>
Document([documentURI]) -> Document object
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.
OBJECT_TYPE_LITERAL = 'L'
OBJECT_TYPE_RESOURCE = 'R'
OBJECT_TYPE_UNKNOWN = '?'
RESERVED_NAMESPACE = 'http://xmlns.4suite.org/reserved'
RESOURCE_TYPE_XPATH = string(/child::ftss:MetaData/attribute::type)
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 0x4191476c: 1 children>
Document([documentURI]) -> Document object
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'