Tool API Reference¶
Actions Tool¶
These interfaces define the framework used to allow extensible menu actions via the actions tool.
-
interface
Products.CMFCore.interfaces.
IActionProvider
¶ Objects that can be queried for actions.
-
listActions
(info=None, object=None)¶ List known actions.
o Return a sequence of action objects.
- o Both the ‘object’ and the ‘info’ arguments are deprecated and
- ignored (use ‘listActionInfos’ to filter actions by context).
-
listActionInfos
(action_chain=None, object=None, check_visibility=True, check_permissions=True, check_condition=True, max=None)¶ Return a sequence of IActionInfo objects matching given criteria.
- o ‘action_chain’ is a sequence of one or more action paths
- (e.g. ‘object/view’); each path is formatted as ‘category_id/action_id’. If specified, only matching actions will be returned, and in the given order (paths with no matches are ignored silently).
- o If ‘object’ is specified, only actions specific to that object
- are included.
- o If ‘check_visibility’ is True, return only actions whos “visible”
- flag is set.
- o If ‘check_permissions’ is True, return only actions for whose
- permissions the current user is authorized.
- o If ‘check_condition’ is True, return only actions whose condition
- expression evaluates True.
o If ‘max’ is specified, return only the first ‘max’ Actions.
o Permission: Public (but not URL-publishable)
-
getActionInfo
(action_chain, object=None, check_visibility=False, check_condition=False)¶ Return the first IActionInfo object matching the given criteria.
o If no action is found matching the criteria, raise ValueError.
- o ‘action_chain’ is a sequence of one or more action paths
- (e.g. ‘object/view’); each path is formatted as ‘category_id/action_id’. If specified, only matching actions will be returned, and in the given order (paths with no matches are ignored silently).
- o If ‘check_visibility’ is True, return only actions whos “visible”
- flag is set.
- o If ‘check_condition’ is True, return only actions whose condition
- expression evaluates True.
o Permission: Public
-
-
interface
Products.CMFCore.interfaces.
IActionCategory
¶ Group of IAction objects and child categories.
-
listActions
()¶ Return a sequence of IAction objects defined by this category.
o Include actions defined by subcategories.
o Permission: Private (Python only)
-
-
interface
Products.CMFCore.interfaces.
IAction
¶ Specification for an action.
-
getInfoData
()¶ - Return a lazy mapping of the data needed to create an
- IActionInfo object.
o Returned value is actually a tuple, ‘(lazy_map, lazy_keys)’.
- o Default keys are: ‘id’, ‘category’, ‘title’, ‘description’, ‘url’,
- ‘icon’, ‘available’, ‘permissions’ and ‘visible’.
- o Instead of computed values callable expression objects or methods
- are returned. For performance reasons, these objects are called later and only if the values are actually needed. The keys for all these lazy values are registered in a separate list.
-
-
interface
Products.CMFCore.interfaces.
IActionInfo
¶ A lazy dictionary for Action infos.
o Each ActionInfo object has the following keys:
- id (string): not unique identifier
- title (string)
- url (string): URL to access the action
- category (string): one of “user”, “folder”, “object”, “global”, “workflow” or a custom category
- visible (boolean)
- available (boolean): the result of checking the condition
- allowed (boolean): the result of checking permissions; The user must have at least one of the listed permissions to access the action. If the list is empty, the user is allowed.
-
interface
Products.CMFCore.interfaces.
IActionsTool
¶ Generate the list of “actions” which the user is allowed to perform.
- o Synthesize this list from the actions managed by a set of “action
- providers”.
-
listFilteredActionsFor
(object=None)¶ Map actions available to the user by category.
- o Returned mapping will have category IDs as keys, and sequences
- of IActionInfo objects as the corresponding values for each category.
o Categories may be arbitrarily extended.
o Permission: Public
-
deleteActionProvider
(provider_name)¶ Remove an IActionProvider from the set queried by this tool.
- o Return silently if ‘provider_name’ is not already registered with
- the tool.
- o Deprecated: In the future, expect to use ‘getUtilitiesFor’ instead
- (presuming either that ordering either doesn’t matter or that ordering is supported by the utility registry).
o Permission: Manage portal
-
addActionProvider
(provider_name)¶ Register an IActionProvider to the set queried by this tool.
- o ‘provider_name’ is appended to the set of names already registered
- with the tool.
- o Raise ComponentLookupError if no utility of that name is registered
- for IActionProvider.
- o Deprecated: In the future, expect to use ‘getUtilitiesFor’ instead
- (presuming either that ordering either doesn’t matter or that ordering is supported by the utility registry).
o Permission: Manage portal
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘getUtility(IActionsTool)’.
o Must be set to “portal_actions”
-
listActionProviders
()¶ - Return a sequence of names of all IActionProvider utilities
- registered with this tool.
- o The returned list of names will be a subset of the set available
- via ‘getUtilitiesFor(IActionProvider)’ (which returns ‘(name, value)’ tuples).
- o Deprecated: In the future, expect to use ‘getUtilitiesFor’ instead
- (presuming either that ordering either doesn’t matter or that ordering is supported by the utility registry).
o Permission: Manage portal
Caching Policy Manager¶
These interfaces define the framework used by the cache policy manager tool to set caching headers on content views.
-
interface
Products.CMFCore.interfaces.
ICachingPolicy
¶ -
getProxyRevalidate
()¶
-
getLastModified
()¶ Should we set the last modified header?
-
getPublic
()¶
-
getNoTransform
()¶
-
getMTimeFunc
()¶
-
getPredicate
()¶
-
getMaxAgeSecs
()¶
-
testPredicate
(expr_context)¶ Does this request match our predicate?
-
getPostCheck
()¶
-
getNoCache
()¶
-
getHeaders
(expr_context)¶ Does this request match our predicate?
If so, return a sequence of caching headers as (key, value) tuples. Otherwise, return an empty sequence.
-
getSMaxAgeSecs
()¶
-
getPolicyId
()¶
-
getMustRevalidate
()¶
-
getPreCheck
()¶
-
getNoStore
()¶
-
getPrivate
()¶
-
getVary
()¶
-
getETagFunc
()¶
-
getEnable304s
()¶
-
-
interface
Products.CMFCore.interfaces.
ICachingPolicyManager
¶ Compute HTTP cache headers for skin methods.
-
getHTTPCachingHeaders
(content, view_method, keywords, time=None)¶ Update HTTP caching headers in REQUEST
o ‘content’ is the content object being published.
o ‘view_method’ is the name of the view being published
o ‘keywords’ is a set of extra keywords modifying the view.
- o If ‘time’ is supplied, use it instead of the current time
- (for reliable testing).
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(ICachingPolicyManager)’.
o Must be set to ‘caching_policy_manager’.
-
Catalog Tool¶
These interfaces define the framework used by the catalog tool to index and search content. See also the interfaces for Searchable Content.
-
interface
Products.CMFCore.interfaces.
IIndexableObject
¶ Marker interface for objects that can be indexed in the portal catalog
-
interface
Products.CMFCore.interfaces.
IIndexableObjectWrapper
¶ Wrapper for catalogued objects, for indexing “virtual” attributes.
-
allowedRolesAndUsers
()¶ Return a sequence roles and users with View permission.
- o PortalCatalog indexes this sequence to allow filtering out items
- a user is not allowed to see.
-
-
interface
Products.CMFCore.interfaces.
ICatalogTool
¶ Wrap the “stock” ZCatalog with custom behavior for the CMF.
-
unrestrictedSearchResults
(REQUEST=None, **kw)¶ Calls ZCatalog.searchResults() without any CMF-specific processing.
o Permission: Private (Python only)
-
searchResults
(REQUEST=None, **kw)¶ Decorate ZCatalog.searchResults() with extra arguments
- o The extra arguments that the results to what the user would be
- allowed to see.
-
id
¶ Must be set to “portal_catalog”
-
indexObject
(object)¶ Add ‘object’ to the catalog.
o Permission: Private (Python only)
-
__call__
(REQUEST=None, **kw)¶ Alias for searchResults().
-
reindexObject
(object, idxs=[], update_metadata=True)¶ Update ‘object’ in catalog.
- o ‘idxs’, if passed, is a list of specific indexes to update
- (by default, all indexes are updated).
- o If ‘update_metadata’ is True, then update the metadata record
- in the catalog as well.
o Permission: Private (Python only)
-
unindexObject
(object)¶ Remove ‘object’ from the catalog.
o Permission: Private (Python only)
-
Content Type Registry¶
These interfaces define the framework used by the content type registry tool to determine what kind of content object to create based on a MIME type or filename. This lookup is done when adding new items to Content Containers via FTP or WebDAV.
-
interface
Products.CMFCore.interfaces.
IContentTypeRegistryPredicate
¶ Match a given name/typ/body to a portal type.
The registry will call the predictate’s ‘edit’ method, passing the fields of the record.
-
__call__
(name, typ, body)¶ Return true if the rule matches, else false.
-
predicateWidget
()¶ Return a snippet of HTML suitable for editing the predicate.
- o This method may be defined via DTMLFile or PageTemplateFile
- (the tool will call it appropriately, if it is DTML).
- o The snippet should arrange for values to be marshalled by
- ZPublisher as a ‘:record’, with the ID of the predicate as the name of the record.
-
getTypeLabel
()¶ Return a human-readable label for the predicate type.
-
-
interface
Products.CMFCore.interfaces.
IContentTypeRegistry
¶ Apply policy mapping PUT arguments to a CMF portal type.
-
findTypeName
(name, typ, body)¶ Return the the portal type (an ID) for a PUT request.
- o ‘name’ is the filename supplied as the end of the path of the
- PUT request.
- o ‘typ’ is the MIME type for the request (which may have been guessed
- already from the extension or the body).
o ‘body’ is the actual payload of the PUT request.
o Return None if no match found.
-
Discussion Tool¶
These interfaces define the framework used by the discussion tool to determine whether discussion is allowed for particular content objects. See also Discussable Content.
-
interface
Products.CMFCore.interfaces.
IOldstyleDiscussionTool
¶ Links content to discussions.
-
getDiscussionFor
(content)¶ Return an IDiscussionItemContainer for ‘content’.
o Create the IDC if necessary.
o Raise ValueError if discussion is not allowed on ‘content’.
o Permission: Public
-
isDiscussionAllowedFor
(content)¶ Return True discussion is allowed for ‘content’, else False.
- o Result may be looked up from an object-specific value, or by place,
- or from a site-wide policy.
o Permission: Public
-
id
¶ The tool’s ID.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(IDiscussionTool)’.
o Must be set to ‘portal_discussion’.
-
-
interface
Products.CMFCore.interfaces.
IDiscussionTool
¶ Extends:
Products.CMFCore.interfaces.IOldstyleDiscussionTool
Links content to discussions.
-
overrideDiscussionFor
(content, allowDiscussion)¶ Override discussability for the given object or clear the setting.
o ‘allowDiscussion’ may be True, False, or None.
- o If ‘allowDiscussion’ is None, then clear any overridden setting for
- discussability, letting the site’s default policy apply.
o Otherwise, set the override to match ‘allowDiscussion’.
o Permission: PUblic XXX? Should be ManageContent, or something.
-
MemberData Tool¶
These interfaces define the framework used by the membedata tool for storing and querying information about a registered member.
-
interface
Products.CMFCore.interfaces.
IMemberData
¶ MemberData interface.
-
setProperties
(properties=None, **kw)¶ Allow the authenticated member to update his/her member data.
- o ‘properties’, if passed, is a mapping of the IDs and values of
- the properties to be changed.
- o The method may also be invoked via keyword arguments (in this
- case, do not pass ‘properties’).
o Permission: Set own properties
-
-
interface
Products.CMFCore.interfaces.
IMemberDataTool
¶ Decorate user objects with site-local data.
-
wrapUser
(user)¶ Returns an IMember instance for the given user object.
o Permission: Private (Python-only)
-
registerMemberData
(m, id)¶ Add the given member data to the _members btree.
o ‘m’ is an object whose attributes are the memberdata for the member.
o ‘id’ is the userid of the member.
- o Add the record late as possible to avoid side effect transactions
- and to reduce the necessary number of entries.
- o XXX: these argument names are silly; can we use more sensible
- ones (i.e., does anyone actually depend on them)?
o Permission: Private (Python only)
-
getMemberDataContents
()¶ Returns a list containing a dictionary with information about the _members BTree contents
- o The key ‘member_count’ is the total number of member instances
- stored in the memberdata-tool
- o The key ‘orphan_count’ is the number of member instances
- that for are no longer in the underlying acl_users user folder.
o The result is designed to be iterated over in a dtml-in
o XXX: why a sequence?
o Permission: Private (Python-only)
-
searchMemberData
(search_param, search_term, attributes=())¶ Return a sequence of mappings of memberdata for the given criteria.
o ‘search_param’ is the property ID to be searched.
o ‘search_term’ is the property value to be searched.
- o ‘attributes’, if passed, controls the keys in the returned mappings;
- by default the returned keys are ‘username’ and ‘email’.
- o XXX: that default is silly; if it is truly needed, then it should
- be the default value of the ‘attributes’ argument.
o Permission: Private (Python only)
-
pruneMemberDataContents
()¶ Delete member data of all members not findable in acl_users.
- o Compare the user IDs stored in the member data tool with the
- list in the actual underlying acl_users and delete any records whose user cannot be found.
o Permission: Private (Python only)
-
deleteMemberData
(member_id)¶ Delete member data of specified member.
o Return True if a record was deleted, else False.
o Permission: Private (Python only)
-
id
¶ The tool’s ID.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(IMemberDataTool)’.
o Must be set to ‘portal_memberdata’
-
Membership Tool¶
This interface defines the API provided by the membership tool for finding site-wide information about a registered member.
-
interface
Products.CMFCore.interfaces.
IMembershipTool
¶ Manage policy of how and where to store and retrieve members and their member folders.
-
createMemberArea
(member_id='')¶ Return a member area for the given member, creating if necessary.
o If member area creation is disabled, return None.
- o ‘member_id’, if passed, is the ID of the member whose folder is
- to be created; if not passed, default to the authenticated member.
o Permission: Public # XXX?
-
addMember
(id, password, roles, domains)¶ Adds a new member to the user folder.
- o Security checks will have already been performed. Called by
- the registration tool.
Permission: Private (Python only)
-
getHomeUrl
(id=None, verifyPermission=0)¶ Return the URL to a member’s home folder or None.
- o ‘id’, if passed, is the ID of the member whose folder should be
- returned; if not passed, use the currently-authenticated member.
- o If ‘verifyPermission’ is True, return None when the user
- doesn’t have the View permission on the folder.
Permission: Public
-
setLocalRoles
(obj, member_ids, member_role, reindex=True)¶ Assign a local role on an item to one or more members.
o ‘obj’ is the object on which to assign the role.
o ‘member_ids’ is a sequence of user IDs to which to assign the role.
o ‘member_role’ is the name of the role to assign.
- o If ‘reindex’ is True, then reindex the security-related attributes
- of the object and all subobjects.
- o Raise Unauthorized if the currently-authenticated member cannot
- assign ‘member_role’ on ‘obj’.
o Permission: Public # XXX?
-
getMemberById
(id)¶ Returns the IMember instance corresponding to the given id.
o Permission: Manage users
-
isAnonymousUser
()¶ Return True if no valid credentials are passed in the requeset.
o Permission: Public
-
deleteLocalRoles
(obj, member_ids, reindex=True, recursive=False)¶ Remove local roles of specified members from an object.
o ‘obj’ is the object on which to remove the role.
o ‘member_ids’ is a sequence of user IDs from which to remove the role.
- o If ‘reindex’ is True, then reindex the security-related attributes
- of the object and all subobjects.
o if ‘recursive’ is True, recurse over all subobjects of ‘object’.
- o Raise Unauthorized if the currently-authenticated member cannot
- assign ‘member_role’ on ‘obj’.
Permission: Public
-
id
¶ The tool’s ID.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘getUtility(IMembershipTool)’.
o Must be set to ‘portal_membership’.
-
getCandidateLocalRoles
(obj)¶ - Return a sequence local roles assignable by the current user for
- a given object.
o ‘obj’ is the object to which role assignments may be made.
o Permission: Public # XXX?
-
listMembers
()¶ Return a sequence of all IMember instances.
- o This may eventually be replaced with a set of methods for querying
- pieces of the list rather than the entire list at once.
o Permission: Manage users
-
deleteMembers
(member_ids, delete_memberareas=1, delete_localroles=1)¶ Remove specified members from the site.
o Returns a sequence of member_ids of members actually deleted.
o Remove the members from the user folder.
o ‘member_ids’ is a sequence of one or more user IDs to remove.
o Remove corresponding member data in the memberdata tool.
- o If ‘delete_memberareas’ is True, delete members’ home folders
- including all content items.
- o If ‘delete_localroles’ is true, recursively delete members’ local
- roles, starting from the site root.
o Permission: Manage users
-
getMappedRole
(portal_role)¶ - Returns a mapped role name corresponding to ‘portal_role’, or
- the empty string if no mapping exists.
o Mappings are defined via ‘setRoleMapping’.
o Permission: Manage portal
-
getPortalRoles
()¶ Return a sequence of role names defined by the portal itself.
o Returned role names are those understood by the portal object.
o Permission: Manage portal
-
setPassword
(password, domains=None)¶ Allow the authenticated member to set his/her own password.
Permission: Set own password
-
getAuthenticatedMember
()¶ Return the currently authenticated member object
- o If no valid credentials are passed in the request, return
- the Anonymous User.
o Permission: Public
-
credentialsChanged
(password, REQUEST=None)¶ - Notify the authentication mechanism that this user has
- changed passwords.
- o The authentication mechanism can use this notification to update
- the authentication cookie.
- o Note that this call should not cause any change at all to user
- databases.
o XXX: should be an event.
- o XXX: should this be in scope for this tool? Or should it be
- done by the view class for the password update view?
Permission: Public # XXX?
-
getMemberareaCreationFlag
()¶ - Return True if the membership tool will create a member area for
- a user at login.
o Permission: Manage portal
-
getHomeFolder
(id=None, verifyPermission=False)¶ Return a member’s home folder object or None.
- o ‘id’, if passed, is the ID of the member whose folder should be
- returned; if not passed, use the currently-authenticated member.
- o If ‘verifyPermission’ is True, return None when the user
- doesn’t have the View permission on the folder.
o Permission: Public
-
isMemberAccessAllowed
(member_id)¶ Check if the authenticated user is this member or an user manager.
If you don’t have the ‘Manage users’ permission for the membership tool, you shouldn’t have write access to other members.
-
deleteMemberArea
(member_id)¶ Delete member area of specified member
o Return True if a member area previously existed for the member.
o ‘member_id’ identifies the member whose member is to be removed.
o Permission: Manage users
-
setRoleMapping
(portal_role, userfolder_role)¶ - Register a mapping of a role defined by the portal to a role
- coming from outside user sources.
o Permission: Manage portal
-
getMembersFolder
()¶ Return the folderish object which contains membmer folders.
- o Return None if no members folder is set or if the specified
- folder doesn’t exist.
o Permission: Public
-
listMemberIds
()¶ Return a sequence of ids of all members.
- o This may eventually be replaced with a set of methods for querying
- pieces of the list rather than the entire list at once.
o Permission: Manage users
-
setMemberareaCreationFlag
()¶ Toggle the policy flag for create a member areas at login.
- o XXX: Toggle is a weak semantic here; shouldn’t we be passing
- the value we want the flag to have?
o Permission: Manage portal
-
checkPermission
(permissionName, object, subobjectName=None)¶ - Return True if the current user has the given permission on
- the given object or subobject.
o ‘permissionName’ is the string identifying the permission.
o ‘object’ is the object being checked.
- o ‘subobjectName’, if passed, is the attribute name to be checked;
- if None, test the main object itself.
o Permission: Public
-
Metadata Tool¶
This interface defines the API provided by the metadata tool for managing / querying policies about content metadata.
-
interface
Products.CMFCore.interfaces.
IMetadataTool
¶ CMF metadata policies interface.
-
validateMetadata
(content)¶ Enforce portal-wide policies about metadata.
o E.g., policies may require non-empty title/description, etc.
- o This method may be called by view / workflow code at “appropriate”
- times, such as immediately before saving changes to the metadata of an object.
-
listAllowedSubjects
(content=None, content_type=None)¶ List the allowed values of the ‘Subject’ DCMI element.
o ‘Subject’ elements should be keywords categorizing their resource.
- o Return only values appropriate for content’s type, or all values if
- both ‘content’ and ‘content_type’ are None.
-
addSchema
(schema_id)¶ Create a new schema with the given ID.
o Return the newly-created schema object.
o Raise KeyError if such a schema already exists.
-
listAllowedVocabulary
(schema, element, content=None, content_type=None)¶ List allowed values for a given schema element and content object.
o List possible keywords if both ‘content’ and ‘content_type’ are None.
-
listAllowedRights
(content=None, content_type=None)¶ List the allowed values of the ‘Rights’ DCMI element.
- o The ‘Rights’ element describes copyright or other IP declarations
- pertaining to a resource.
- o Return only values appropriate for content’s type, or all values if
- both ‘content’ and ‘content_type’ are None.
-
setInitialMetadata
(content)¶ Set initial values for content metatdata.
o Supply any site-specific defaults.
-
listAllowedFormats
(content=None, content_type=None)¶ List the allowed values of the ‘Format’ DCMI element.
o These items should be usable as HTTP ‘Content-type’ values.
- o Return only values appropriate for content’s type, or all values if
- both ‘content’ and ‘content_type’ are None.
-
removeSchema
(schema_id)¶ Remove an existing schema with the given ID.
o Raise KeyError if no such schema exists.
-
id
¶ The tool’s ID.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(IMetadataTool)’.
o Must be set to ‘portal_metadata’.
-
getPublisher
()¶ Return the “formal” name of the publisher of the site.
-
getFullName
(userid)¶ Convert an internal userid to a “formal” name.
- o Convert only if possible, perhaps using the ‘portal_membership’
- tool; otherwise, return ‘userid’.
o Used to map userid’s for Creator, Contributor DCMI queries.
-
listSchemas
()¶ Return a list of (id, schema) tuples enumerating our schema.
-
listAllowedLanguages
(content=None, content_type=None)¶ List the allowed values of the ‘Language’ DCMI element.
- o ‘Language’ element values should be suitable for generating
- HTTP headers.
- o Return only values appropriate for content’s type, or all values if
- both ‘content’ and ‘content_type’ are None.
-
Properties Tool¶
This interface defines the API provided by the properties tool for querying site-wide properties.
-
interface
Products.CMFCore.interfaces.
IPropertiesTool
¶ Manage properties of the site as a whole.
-
title
()¶ Return the site’s title.
-
smtp_server
()¶ Return the configured SMTP server for the site.
-
editProperties
(props)¶ Change portal settings.
o ‘props’ is a mapping of values to be updates.
o Permission: Manage portal
-
id
¶ The tool’s ID.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘getUtility(IPropertiesTool)’.
o Must be set to ‘portal_properties’.
-
Registration Tool¶
These interfaces define the framework used by the registration tool for managing policies about how users join the site.
-
interface
Products.CMFCore.interfaces.
IRegistrationTool
¶ Manage policies for member registration.
o Depends on IMembershipTool component.
o Is not aware of membership storage details.
-
isRegistrationAllowed
(REQUEST)¶ - Return True if the current user is allowed to add a member to
- the site, else False.
o Permission: Public
-
afterAdd
(member, id, password, properties)¶ - Notification called by portal_registration.addMember() after a
- member has been added successfully.
o Permission: Private (Python only)
-
testPasswordValidity
(password, confirm=None)¶ - Return None if the password is valid; otherwise return a string
- explaining why not.
o ‘password’ is the candidate password string.
o If ‘confirm’ is passed, XXX?
o Permission: Public
-
addMember
(id, password, roles=('Member', ), domains='', properties=None)¶ Creates and return a new member.
- o ‘id’ is the user ID of the member to be created; raise ValueError
- if there already exists a member with the given ‘id’.
- o ‘password’ is the user’s password; raise ValueError if the
- supplied ‘password’ does not comply with the site’s password policy.
- o ‘roles’ is a list of roles to grant the new member; raise
Unauthorized if the currently-authenticated user is not allowed to grant one of the roles listed
- “Member” is a special role that can always be granted
- o ‘properties’, if passed, is a mapping with additional member
- properties; raise ValueError if one or more properties do not comply with the site’s policies.
o Permission: Add portal member
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(IRegistrationTool)’.
o Must be set to “portal_registration”
-
generatePassword
()¶ - Return a generated password which is complies with the site’s
- password policy.
o Permission: Public
-
mailPassword
(forgotten_userid, REQUEST)¶ Email a forgotten password to a member.
o Raise ValueError if user ID is not found.
o XXX: should probably not raise, in order to prevent cracking.
o Permission: Mail forgotten password
-
isMemberIdAllowed
(id)¶ - Return True if ‘id’ is not in use as a member ID and is not
- reserved, else False.
o Permission: Add portal member
-
testPropertiesValidity
(new_properties, member=None)¶ - Return None if the supplied properties are valid; otherwise
- return a string explaining why not.
o ‘new_properties’ is a mapping containing the properties to test.
- o ‘member’, if passed, is the ID of the member for whome the
- properties are being set; if not passed, use the currently- authenticated member.
o Permission: Public
-
Skins Tool¶
These interfaces define the framework used by the skins tool for layering UI components to create “skins” for the site.
-
interface
Products.CMFCore.interfaces.
IDirectoryView
¶ Directory views mount filesystem directories.
-
interface
Products.CMFCore.interfaces.
ISkinsContainer
¶ An object that provides skins.
-
getSkinPath
(name)¶ Convert a skin name to a skin path.
o Permission: Access contents information
-
getDefaultSkin
()¶ Return the default skin name.
o Permission: Access contents information
-
getRequestVarname
()¶ Return the variable name to look for in the REQUEST.
o Permission: Access contents information
-
getSkinByName
(name)¶ Get the named skin.
Permission: Private (Python only)
-
getSkinByPath
(path, raise_exc=0)¶ Return a skin at the given path.
o XXX: what are we doing here?
- o A skin path is a search path of layers of the format:
- ‘some/path, some/other/path, ...’.
o Attributes are looked up in the layers in the named order.
- o A skin is a specially wrapped object that looks through the layers
- in the correct order.
o Permission: Private (Python only)
-
-
interface
Products.CMFCore.interfaces.
ISkinsTool
¶ Extends:
Products.CMFCore.interfaces.ISkinsContainer
An object that provides skins to a portal object.
O XXX: This shouldn’t derive from ISkinsContainer?
-
getSkinSelections
()¶ Get the sorted list of available skin names.
o Permission: Public
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(ISkinsTool)’.
o Must be set to ‘portal_skins’.
-
Syndication Tool¶
These interfaces define the framework used by the syndication tool for managing policies about syndicating content from a given folder or collection. See also Content Syndication.
-
interface
Products.CMFCore.interfaces.
ISyndicationTool
¶ An object that provides content syndication facilities
-
getUpdateFrequency
(obj=None)¶ Return the syndicated feed update frequency
o falls back to the site-wide value if no object is passed in
- o raises ‘Syndication is not Allowed’ if the site-wide policy
- does not allow syndication
-
enableSyndication
(obj)¶ Enable syndication for the passed-in object
o raises ‘Syndication is Disabled’ if syndication is now allowed
o raises ‘Syndication Information Exists’ if used repeatedly
-
getUpdateBase
(obj=None)¶ Return the syndication feed base date for the publishing schedule
o falls back to the site-wide value if no object is passed in
- o raises ‘Syndication is not Allowed’ if the site-wide policy
- does not allow syndication
-
getUpdatePeriod
(obj=None)¶ Return the update period for the syndicated feed
o falls back to the site-wide value if no object is passed in
- o raises ‘Syndication is not Allowed’ if the site-wide policy
- does not allow syndication
-
disableSyndication
(obj)¶ Disable syndication for the passed-in object
- o raises ‘This object does not have Syndication Information’ if
- syndication has already been disabled
-
period
¶ :str Syndication period for the site: ‘hourly’, ‘daily’, ‘weekly’, ‘monthly’
-
max_items
¶ :int The maximum number of items to be included in a feed
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(ISyndicationTool)’.
o Must be set to “portal_syndication”
-
getHTML4UpdateBase
(obj=None)¶ return the HTML-formatted feed publishing base date
o falls back to the site-wide value if no object is passed in
- o raises ‘Syndication is not Allowed’ if the site-wide policy
- does not allow syndication
-
getSyndicatableContent
(obj)¶ Retrieve all syndicatable content from the passed-in object
- o will call the hool “synContentValues” if it exists to allow
- individual customization
o falls back to calling contentValues
-
frequency
¶ :int frequency * period calculates the actual update time
-
base
¶ :datetime The baseline timestamp for site syndication
-
getSyndicationInfo
(obj)¶ Return a dictionary of syndication information for an an object: * period * frequency * base as a DateTime object * max_items
-
getMaxItems
(obj=None)¶ Return the number of items published at any one time in the feed
o falls back to the site-wide value if no object is passed in
- o raises ‘Syndication is not Allowed’ if the site-wide policy
- does not allow syndication
-
isSiteSyndicationAllowed
()¶ Return the site-wide syndication flag
-
isSyndicationAllowed
(obj=None)¶ Return the syndication flag for the passed-in object
o falls back to retrieving the site-wide syndication flag
-
Types Tool¶
These interfaces define the framework used by the skins type for defining extensible content object types.
-
interface
Products.CMFCore.interfaces.
ITypeInformation
¶ Type definition interface.
-
setMethodAliases
(aliases)¶ Assign method aliases for this type.
o Return True if the operation changed any aliases, else False.
o ‘aliases’ is the mapping of aliases to be assigned.
o XXX: define keys and values of the mapping.
o Permission: Manage portal
-
isConstructionAllowed
(container)¶ Return True if the current user is allowed to construct an instance of this type in ‘container, else False.
-
Description
()¶ Return a textual description of the type
o This descriptoin is used for display in a “constructor list”.
-
Title
()¶ Return the “human readable” type name
- o Note that it may not map exactly to the ‘meta_type’, e.g.,
- for l10n/i18n or where a single content class is being used twice, under different names.
-
Metatype
()¶ Return the Zope ‘meta_type’ for this content object.
- o Deprecated (not all objects of a given type may even share
- the same meta_type).
-
allowType
(contentType)¶ Can objects of ‘contentType’ be added to containers of our type?
-
queryMethodID
(alias, default=None, context=None)¶ Return the method ID for a given alias.
- o ‘context’, if passed, points to the object calling this method.
- It may be used to return dynamic values based on the caller. XXX: this is unclear
o ‘default’ is returned if no such alias is defined.
o Permission: Public
Returns: Method ID or default value
-
getIconExprObject
()¶ Get the expression object representing the icon for this type.
-
constructInstance
(container, id)¶ Build a “bare” instance of the appropriate type in ‘container’.
o Give the new instance an ID of ‘id’.
o Return the newly-created instance, seated in ‘container’.
-
allowDiscussion
()¶ - Return True if objects of this type are allowed to support
- discussion, else False.
o Individual objects may still disable discussion.
-
getMethodAliases
()¶ Return a mapping of method aliases for this type.
o XXX: define keys and values of the mapping.
o Permission: Manage portal
-
-
interface
Products.CMFCore.interfaces.
ITypesTool
¶ Register content types for the site.
-
constructContent
(contentType, container, id, RESPONSE=None, *args, **kw)¶ Build an instance of the appropriate type in ‘container’
- o ‘contentType’ is the name of the ITypeInformation to be
- constructed.
o Assign the instance the given ‘id’, if possible.
- o If ‘RESPONSE’ is passed, redirect to the new object’s
- “initial view”; otherwise return the new object’s ‘id’ (which may have morphed during construction).
- o Raise Unauthorized if the current user is not allowed to construct
- items of the given type in ‘container’.
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘getUtility(ITypesTool)’.
o Must be set to “portal_types”
-
getTypeInfo
(contentType)¶ Return an ITypeInformation for the given type name / object.
- o If ‘contentType’ is actually an object, rather than a string,
- attempt to look up the appropriate type info using its ‘portal_type’.
o Permission: Public
-
listContentTypes
(container=None, by_metatype=0)¶ - Return a sequence of IDs of ITypeInformations registered
- for the site.
- o If ‘by_metatype’ is True, return meta_types instead (this variant
- is deprecated).
- o If ‘container’ is passed, filter the list according to the user’s
- permissions to add content in that place.
o Permission: Public
-
listTypeInfo
(container=None)¶ - Return a sequence of ITypeInformations registered for the
- site.
- o If ‘container’ is passed, filter the list according to the user’s
- permissions to add content in that place.
o Permission: Public
-
Undo Tool¶
This interface defines the API provided undo tool for undoing changes made to the site.
-
interface
Products.CMFCore.interfaces.
IUndoTool
¶ Provide access to Zope undo functions.
-
undo
(object, transaction_info)¶ Performs an undo operation.
o Permission: Undo changes
-
listUndoableTransactionsFor
(object, first_transaction=None, last_transaction=None, PrincipiaUndoBatchSize=None)¶ List all transaction IDs the user is allowed to undo on ‘object’.
- o Return a list of “transaction info” objects, using the given
- parameters to batch the results.
o XXX: this needs documentation / testing.
o Permission: Undo changes
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(IUndoTool)’.
o Must be set to “portal_undo”
-
URL Tool¶
This interfaces defines the API provided by the url tool for generating and resolving URLs and paths relative to the site root.
-
interface
Products.CMFCore.interfaces.
IUndoTool
Provide access to Zope undo functions.
-
undo
(object, transaction_info) Performs an undo operation.
o Permission: Undo changes
-
listUndoableTransactionsFor
(object, first_transaction=None, last_transaction=None, PrincipiaUndoBatchSize=None) List all transaction IDs the user is allowed to undo on ‘object’.
- o Return a list of “transaction info” objects, using the given
- parameters to batch the results.
o XXX: this needs documentation / testing.
o Permission: Undo changes
-
id
The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(IUndoTool)’.
o Must be set to “portal_undo”
-
Workflow Tool¶
These interfaces define the framework used by the workflow type for defining configurable workflows for content types. See also Content Workflow.
-
interface
Products.CMFCore.interfaces.
IWorkflowDefinition
¶ Plugin interface for workflow definitions managed by IWorkflowTool.
-
notifyCreated
(ob)¶ Notification that an object has been created and put in its place.
o ‘ob’ is the newly-created object.
o Invoked by the portal_workflow tool.
- o The workflow may set initial workflow state, etc. for the new
- object.
o Permission: Private (Python only)
-
doActionFor
(ob, action, comment='')¶ Perform the requested workflow action on a content object.
o ‘ob’ is the content object.
o ‘action’ is the ID of the requested workflow action.
o ‘comment’ is passed to the method corresponding to ‘action’.
o Invoked by the portal_workflow tool.
o Allows the user to request a workflow action.
o This method must perform its own security checks.
o Permission: Private (Python only)
-
listObjectActions
(info)¶ Return a sequence of workflow action objects.
o ‘info’ is an OAI (ObjectActionInformation ?) structure.
- o Returned actions are relevant to ‘info.content’ (this method is
- called only when this workflow is applicable to ‘info.content’).
o Invoked by the portal_workflow tool.
o Permission: Private (Python only)
-
notifyException
(ob, action, exc)¶ Notifies this workflow that an action failed.
o ‘ob’ is the target object of the action.
- o ‘action’ is a string identifying the failed action;
- usually it corresponds to a method name.
o ‘exc’ is the ‘sys.exc_info’ triple for the exception.
o Invoked by the portal_workflow tool.
o Permission: Private (Python only)
-
getId
()¶ Return the id of the workflow definition.
-
getCatalogVariablesFor
(ob)¶ Return a mapping of attributes relevant to this workflow.
o Invoked by the workflow tool.
- o Allows workflows to add variables to the catalog based on workflow
- status, making it possible to implement queues.
o Permission: Private (Python only)
-
isInfoSupported
(ob, name)¶ - Return True if the given info name is supported by this workflow
- for a given content object, else False.
o ‘ob’ is the content object.
o ‘name’ is the name of the requested workflow information.
o Invoked by the portal_workflow tool.
o Permission: Private (Python only)
-
updateRoleMappingsFor
(ob)¶ - Update the object permissions according to the current workflow
- state of ‘ob’.
- o Note that having the same permission(s) controlled by more than one
- workflow defintiion for an object results in undefined behavior.
o Permission: Private (Python only)
-
listGlobalActions
(info)¶ Return a sequence of workflow action objects.
o ‘info’ is an OAI (ObjectActionInformation ?) structure.
- o Returned actions are “global”, i.e. relevant to the user and the
- site, rather than to any particular content object (this method is generally called on every request!)
o Invoked by the portal_workflow tool.
o Permission: Private (Python only)
-
isActionSupported
(ob, action, **kw)¶ - Return True if the given workflow action is supported by this
- workfow for a content object, else False.
o ‘ob’ is the content object.
o ‘action’ is the ID of the requested workflow action.
o Invoked by the portal_workflow tool.
o Permission: Private (Python only)
-
notifyBefore
(ob, action)¶ Notification of a workflow action before it happens.
o ‘ob’ is the target object of the action.
- o ‘action’ is a string identifying the impending action;
- usually it corresponds to a method name.
o This workflow may veto by raising WorkflowException.
- o Unless some workflow raises WorkflowException is thrown,
- the workflow tool will emit either ‘notifySuccess’ or ‘notifyException’ after the action.
o Invoked by the portal_workflow tool.
o Permission: Private (Python only)
-
getInfoFor
(ob, name, default)¶ Return the requested workflow information for a content object.
o ‘ob’ is the content object.
o ‘name’ is the name of the requested workflow information.
o ‘default’ is returned if ‘name’ is not found.
o Invoked by the portal_workflow tool.
o This method must perform its own security checks.
o Permission: Private (Python only)
-
notifySuccess
(ob, action, result)¶ Notification that a workflow action has taken place.
o ‘ob’ is the target object of the action.
- o ‘action’ is a string identifying the succesful action;
- usually it corresponds to a method name.
o ‘result’ is the return value from the method called.
o Invoked by the portal_workflow tool.
o Permission: Private (Python only)
-
-
interface
Products.CMFCore.interfaces.
IWorkflowTool
¶ This tool accesses and changes the workflow state of content.
-
notifyCreated
(ob)¶ Notify all applicable workflows that an object has been created.
- o ‘ob’ is the newly-created object; it will already be “seated”
- in its new place.
o Permission: Private (Python only)
-
doActionFor
(ob, action, wf_id=None, *args, **kw)¶ Perform the given workflow action on ‘ob’.
o ‘ob’ is the target object.
o ‘action’ is the ID of the action to perform.
o ‘wf_id’, if passed, is the ID of the workflow supplying the action.
o ‘args’ and ‘kw’, if passed, are applied to the invoked action.
- o Invoked by user interface code, allowing the user to request a
- workflow action.
o The workflow object must perform its own security checks.
o Permission: Public
-
getHistoryOf
(wf_id, ob)¶ Get the history of an object for a given workflow.
o ‘wf_id’ is the id of the selected workflow.
o ‘ob’ is the content object.
o Invoked by workflow definitions.
o Permission: Private (Python only)
-
getCatalogVariablesFor
(ob)¶ Get a mapping of “workflow-relevant” attributes.
o Invoked by ‘portal_catalog’ when indexing content.
- o Allows workflows to add variables to the catalog based on workflow
- status, making it possible to implement queues.
o Permission: Private (Python only)
-
setStatusOf
(wf_id, ob, status)¶ Append a record to the workflow history of a given workflow.
o ‘wf_id’ is the id of the selected workflow.
o ‘ob’ is the content object.
o ‘status’ is a mapping defining the history item to append.
o Invoked by workflow definitions.
o Permission: Private (Python only)
-
notifyException
(ob, action, exc)¶ Notify all applicable workflows that an action failed.
o ‘ob’ is the content object which is the target of the action.
o ‘action’ usually corresponds to a method name.
o ‘exc’ is the ‘sys.exec_info’ triple for the exception.
o Permission: Private (Python only)
-
getStatusOf
(wf_id, ob)¶ Get the last element of a workflow history for a given workflow.
o ‘wf_id’ is the id of the selected workflow.
o ‘ob’ is the content object.
o Invoked by workflow definitions.
o Permission: Private (Python only)
-
id
¶ The ID of the tool.
- o BBB: for use in ‘getToolByName’; in the future, prefer
- ‘queryUtility(IWorkflowTool)’.
o Must be set to “portal_workflow”
-
notifySuccess
(ob, action, result=None)¶ Notify all applicable workflows that an action has taken place.
o ‘ob’ is the content object which is the target of the action.
o ‘action’ usually corresponds to a method name.
o ‘result’ is the value returned from the action.
o Permission: Private (Python only)
-
notifyBefore
(ob, action)¶ Notify all applicable workflows of an action before it happens.
o ‘ob’ is the content object which is the target of the action.
o ‘action’ usually corresponds to a method name.
- o Participating workflows may veto the action by raising
- WorkflowException.
- o Unless vetoed, the tool will later call either a ‘notifySuccess’ or
- ‘notifyException’
o Permission: Private (Python only)
-
getInfoFor
(ob, name, default=<object object at 0x1122c2d70>, wf_id=None)¶ Get the given bit of workflow information for the object.
o ‘ob’ is the target object.
o ‘name’ is the name of the information requested.
- o ‘default’, if passed, will be returned if ‘name’ is not found;
- if ‘default’ is not passed, then raise ValueError.
o ‘wf_id’, if passed, is the ID of the workflow supplying the action.
- o Invoked by user interface code, allowing the user to request
- information provided by the workflow.
o The workflow object must perform its own security checks.
o Permission: Public
-
-
interface
Products.CMFCore.interfaces.
IConfigurableWorkflowTool
¶ Extends:
Products.CMFCore.interfaces.IWorkflowTool
Manage workflow tool settings.
-
getDefaultChain
()¶ Get the default chain for this tool.
o Permission: Private (Python only)
-
listChainOverrides
()¶ List portal type specific chain overrides.
o Permission: Private (Python only)
-
setDefaultChain
(default_chain)¶ Set the default chain for this tool.
o Permission: Manage portal
-
getChainFor
(ob)¶ Get the chain that applies to the given object.
o If ‘ob’ is a string, it is used as portal type name.
o Permission: Private (Python only)
-
setChainForPortalTypes
(pt_names, chain, verify=True)¶ Set a chain for specific portal types.
- o If chain is None, set the chain for the portal types to be the
- default chain.
o Permission: Manage portal
-