class documentation

class ZMSMetaobjManager(object): (source)

View In Hierarchy

Manage ZMS meta-object definitions, attributes, and related artefacts.

Method __get_metaobj__ Return one meta-object record by id.
Method __get_metaobjs__ Return all meta-objects, including acquired entries from portal master.
Method acquireMetaobj Mark a meta-object as acquired from portal master.
Method delMetaobj Delete one meta-object and its managed attribute artefacts.
Method delMetaobjAttr Delete one attribute from a meta-object definition.
Method evalMetaobjAttr Evaluate one computed meta-object attribute and return its runtime value.
Method exportMetaobjXml Export selected meta-objects to XML.
Method getMetaobj Return one meta-object and optionally overlay acquired configuration.
Method getMetaobjAttr Return one attribute mapping for a given meta-object and attribute id.
Method getMetaobjAttrIdentifierId Return the preferred identifier attribute id for a record-like meta-object.
Method getMetaobjAttrIds Return attribute ids for one meta-object, optionally filtered by type.
Method getMetaobjAttrs Return attribute mappings for one meta-object.
Method getMetaobjId Resolve one meta-object id by its display name.
Method getMetaobjIds Return available meta-object ids with optional sorting and exclusion.
Method getMetaobjRevision Return the effective revision string for a meta-object.
Method getTypedMetaIds Expand type-selector entries into concrete meta-object ids.
Method importMetaobjXml Import one or many meta-object records from XML content.
Method importTheme Import a theme folder structure into a ZMSLibrary meta-object.
Method manage_ajaxChangeProperties Update editable object properties from AJAX form values.
Method manage_changeProperties Handle meta-object manager actions from the ZMI properties form.
Method manage_create_default_zpt Create and optionally return default standard_html ZPT code.
Method moveMetaobjAttr Move one attribute to a new position in the meta-object attribute list.
Method notifyMetaobjAttrAboutValue Notify one meta-object attribute about a newly observed runtime value.
Method provideRepositoryModel Export meta-object model records into repository payload structure.
Method renderTemplate Render the first matching template source for the given meta-object.
Method setMetaobj Insert or update one meta-object definition in the model.
Method setMetaobjAttr Create or update one meta-object attribute definition.
Method translateRepositoryModel Translate repository payload into import-friendly key/value records.
Method updateRepositoryModel Import one repository record into the local meta-object model.
Class Variable deprecated_types Undocumented
Class Variable valid_datatypes Undocumented
Class Variable valid_objtypes Undocumented
Class Variable valid_types Undocumented
Class Variable valid_uploadtypes Undocumented
Class Variable valid_xtypes Undocumented
Class Variable valid_zopeattrs Undocumented
Class Variable valid_zopetypes Undocumented
Instance Variable model Undocumented
Method _importMetaobjXml Import one meta-object XML item into the local model.
def __get_metaobj__(self, id): (source)

Return one meta-object record by id.

Parameters
id:strMeta-object id.
Returns
dict | NoneMeta-object mapping or None.
def __get_metaobjs__(self): (source)

Return all meta-objects, including acquired entries from portal master.

The result is request-buffered to avoid repeated recomputation during one request cycle.

Returns
dictMapping {meta_id: meta_object_dict}.
def acquireMetaobj(self, id, subobjects=1): (source)

Mark a meta-object as acquired from portal master.

Parameters
id:strMeta-object id.
subobjects:intIf 1, package subobjects are also acquired.
Returns
NoneNone
def delMetaobj(self, id, acquire=False): (source)

Delete one meta-object and its managed attribute artefacts.

Parameters
id:strMeta-object id.
acquire:boolIf true, keep native Zope artefacts used by acquisition.
Returns
NoneNone
def delMetaobjAttr(self, id, attr_id, acquire=False): (source)

Delete one attribute from a meta-object definition.

Parameters
id:strMeta-object id.
attr_id:strAttribute id to remove.
acquire:boolIf true, avoid removing acquired native artefacts.
Returns
NoneNone
def evalMetaobjAttr(self, id, attr_id, zmscontext=None, options={}): (source)

Evaluate one computed meta-object attribute and return its runtime value.

Parameters
id:strMeta-object id or '*' for all meta-objects.
attr_id:strAttribute id to evaluate.
zmscontext:object | NoneOptional context passed to callable attributes.
options:dictOptional call options for executable attributes.
Returns
anyEvaluated value or None when unresolved.
def exportMetaobjXml(self, ids, REQUEST=None, RESPONSE=None): (source)

Export selected meta-objects to XML.

Parameters
ids:listMeta-object ids to export. Empty list exports all effective ids.
REQUEST:ZPublisher.HTTPRequest | NoneOptional request context controlling export key pruning.
RESPONSE:ZPublisher.HTTPResponse | NoneOptional response to receive download headers.
Returns
strXML payload string.
def getMetaobj(self, id, aq_attrs=[]): (source)

Return one meta-object and optionally overlay acquired configuration.

Parameters
id:strMeta-object id.
aq_attrs:listAttribute names to read from local configuration when the object is acquired from portal master.
Returns
dictMeta-object mapping.
def getMetaobjAttr(self, id, attr_id, sync=True): (source)

Return one attribute mapping for a given meta-object and attribute id.

Parameters
id:strMeta-object id.
attr_id:strAttribute id.
sync:boolIf true, attach backing Zope artefact reference when applicable.
Returns
dict | NoneAttribute mapping or None.
def getMetaobjAttrIdentifierId(self, meta_id): (source)

Return the preferred identifier attribute id for a record-like meta-object.

Candidate types are checked in order: identifier, string, int.

Parameters
meta_id:strMeta-object id.
Returns
str | NoneFirst matching attribute id or None.
def getMetaobjAttrIds(self, id, types=[]): (source)

Return attribute ids for one meta-object, optionally filtered by type.

Parameters
id:strMeta-object id.
types:listOptional list of accepted attribute types.
Returns
listAttribute id list.
def getMetaobjAttrs(self, id, types=[]): (source)

Return attribute mappings for one meta-object.

Parameters
id:strMeta-object id.
types:listOptional list of accepted attribute types.
Returns
listList of attribute mappings.
def getMetaobjId(self, name): (source)

Resolve one meta-object id by its display name.

Parameters
name:strDisplay name as returned by display_type.
Returns
str | NoneMatching meta-object id or None.
def getMetaobjIds(self, sort=None, excl_ids=[]): (source)

Return available meta-object ids with optional sorting and exclusion.

Parameters
sort:bool | NoneTrue sorts by display type, False by name, None keeps model iteration order.
excl_ids:listIds to exclude from the result.
Returns
listMeta-object id list.
def getMetaobjRevision(self, id): (source)

Return the effective revision string for a meta-object.

For package objects this also considers child objects that belong to the same package and returns the highest semantic version.

Parameters
id:strMeta-object id.
Returns
strRevision string, for example '0.0.0'.
def getTypedMetaIds(self, meta_ids): (source)

Expand type-selector entries into concrete meta-object ids.

Selectors use the form type(<meta_type>) and are resolved against enabled meta-objects.

Parameters
meta_ids:listMixed list of meta ids and type selectors.
Returns
listConcrete list of matching meta-object ids.
def importMetaobjXml(self, xml, createIdsFilter=None): (source)

Import one or many meta-object records from XML content.

Parameters
xml:str | bytes | fileXML string, bytes, or file-like content.
createIdsFilter:list | NoneOptional whitelist of ids to import.
Returns
str | listImported id or list of imported ids.
def importTheme(self, id): (source)

Import a theme folder structure into a ZMSLibrary meta-object.

Parameters
id:strTheme container id.
Returns
NoneNone
def manage_ajaxChangeProperties(self, id, REQUEST, RESPONSE=None): (source)

Update editable object properties from AJAX form values.

Parameters
id:strMeta-object id.
REQUEST:ZPublisher.HTTPRequestHTTP request containing set* form fields.
RESPONSE:ZPublisher.HTTPResponse | NoneOptional HTTP response for XML output headers.
Returns
str | NoneXML result payload when RESPONSE is passed.
def manage_changeProperties(self, lang, btn='', key='all', REQUEST=None, RESPONSE=None): (source)

Handle meta-object manager actions from the ZMI properties form.

Supported actions include insert/update/delete, import/export, acquisition handling, and attribute reordering.

Parameters
lang:strActive UI language id.
btn:strSubmitted action button id.
key:strEdited section key (for example 'obj' or 'attr').
REQUEST:ZPublisher.HTTPRequestIncoming request carrying form payload.
RESPONSE:ZPublisher.HTTPResponse | NoneOptional response used for redirects and downloads.
Returns
object | strRedirect response or localized status message.
def manage_create_default_zpt(self, id, target_id='standard_html', attrs=None, REQUEST=None, RESPONSE=None): (source)

Create and optionally return default standard_html ZPT code.

Parameters
id:strMeta-object id.
target_id:strTarget template id (default standard_html).
attrs:list | NoneOptional list of attribute dicts to use instead of fetching from meta-object definition.
REQUEST:ZPublisher.HTTPRequest | NoneOptional request for language and context (used in template code generation).
RESPONSE:ZPublisher.HTTPResponse | NoneOptional response for XML output headers (not used).
Returns
strGenerated default ZPT code for the specified template.
def moveMetaobjAttr(self, id, attr_id, pos): (source)

Move one attribute to a new position in the meta-object attribute list.

Parameters
id:strMeta-object id.
attr_id:strAttribute id to move.
pos:intZero-based target position.
Returns
NoneNone
def notifyMetaobjAttrAboutValue(self, meta_id, key, value): (source)

Notify one meta-object attribute about a newly observed runtime value.

For auto-complete attribute types ('autocomplete' and 'multiautocomplete') this method extends the static key list when the attribute keys are not executable snippets.

Parameters
meta_id:strMeta-object id that owns the attribute.
key:strAttribute id.
value:str | int | float | listObserved value. Expected value is either a single scalar or a list of scalar values.
Returns
NoneNone
def provideRepositoryModel(self, r, ids=None): (source)

Export meta-object model records into repository payload structure.

Parameters
r:dictRepository accumulator mapping to be filled in-place.
ids:list | NoneOptional subset of meta-object ids. None exports all ids.
Returns
NoneNone. The payload is written into r.
def renderTemplate(self, obj): (source)

Render the first matching template source for the given meta-object.

Resolution order prefers skin/extension specific templates, then standard_html, then bodyContentZMSCustom_<meta_id>.

Parameters
obj:objectContent object providing meta_id, request, and attr access.
Returns
strRendered HTML fragment or empty string.
def setMetaobj(self, ob): (source)

Insert or update one meta-object definition in the model.

The method normalizes optional fields and forces persistence by copying the model mapping.

Parameters
ob:dictMeta-object definition.
Returns
NoneNone
def setMetaobjAttr(self, id, oldId, newId, newName='', newMandatory=0, newMultilang=1, newRepetitive=0, newType='string', newKeys=[], newCustom='', newDefault=''): (source)

Create or update one meta-object attribute definition.

This method also manages dependent Zope objects for executable/native attribute types and preserves ordering constraints in the attribute list.

Parameters
id:strMeta-object id.
oldId:str | NonePrevious attribute id, or None for insertion.
newId:strNew attribute id.
newName:strAttribute display name.
newMandatory:intMandatory flag (expected values: 0 or 1).
newMultilang:intMultilang flag (expected values: 0 or 1).
newRepetitive:intRepetitive flag (expected values: 0 or 1).
newType:strAttribute type identifier.
newKeys:listOptional key list for select-like attributes.
newCustom:str | int | _blobfields.MyBlobOptional custom payload/content.
newDefault:strOptional default value.
Returns
strMessage fragment generated during update.
def translateRepositoryModel(self, r): (source)

Translate repository payload into import-friendly key/value records.

Parameters
r:dictRepository model payload keyed by meta-object id.
Returns
listList of {'key': id, 'value': record} mappings.
def updateRepositoryModel(self, r): (source)

Import one repository record into the local meta-object model.

Parameters
r:dictRepository record containing object metadata and attributes.
Returns
strImported meta-object id.
deprecated_types: list[str] = (source)

Undocumented

valid_datatypes = (source)

Undocumented

valid_objtypes: list[str] = (source)

Undocumented

valid_types: list[str] = (source)

Undocumented

valid_uploadtypes: list[str] = (source)

Undocumented

valid_xtypes = (source)

Undocumented

valid_zopeattrs: list[str] = (source)

Undocumented

valid_zopetypes: list[str] = (source)

Undocumented

Undocumented

def _importMetaobjXml(self, item, createIdsFilter=None): (source)

Import one meta-object XML item into the local model.

Parameters
item:dictParsed XML item with 'key' and 'value'.
createIdsFilter:list | NoneOptional whitelist of ids to import.
Returns
strImported meta-object id.