To make a call of a global function/constant user needs to:
- import a module where global function/constant is defined
- use the following syntax: ModuleName.GlobalFunction or ModuleName.GlobalConstant
pyark.GetRoot( "The Tree" ) #Using global function to get the tree root
String validation policies
imposes some limitations on names of objects, types, filters and some other string values. If script passes incorrect string, default behavior is to raise an exception. This can be adjusted, using the following functions:
Gets currently active string validation policy. See SetStringValidationPolicy for list of possible values.
- SetStringValidationPolicy( policy )
Sets current string validation policy. Argument can be on of the following:
- pyark.SVP_STRICT - strict policy; exception is raised on invalid strings.
- pyark.SVP_IGNORE - ignore invalid characters, no exception is raised.
- pyark.SVP_REPLACE - replace invalid characters with "?".
Object management functions
- GetRoot( tree_name )
Returns the root for the specified tree. Root is an instance of ArkObjRef object. Tree is specified by the parameter tree_name (tree_name maybe a key as well) which must be string. A ValueError exception is risen if a treeview folder is passed
- GetArkObj( ark_type, obj_name )
Returns ArkObj instance, if object with such name and type is found in project. Otherwise, returns None.
- GetArkObjById( obj_id )
Returns ArkObj instance by internal identifier, returned by the GetID method of ArkObj or ArkObjRef. If object with such identifier is not found, returns None.
Types management functions
- GetArkMatrixType( name=None )
Returns the ArkMatrixType object identified by name (name maybe a key as well). If no parameter is passed, then the matrix root object is returned. If the object is not found return None.
- GetArkAttributeType( name )
Returns the ArkAttributeType object identified by name (name maybe a key as well) or None if the object is not found.
Filters (tree views) management functions
- GetArkTreeViewObj( name )
Returns the ArkTreeViewObj object identified by name (name maybe a key as well) or None if the object is not found.
NewArkTreeViewObj( name, checkStatus )
Deprecated - use NewArkTreeViewObj() or NewArkTreeViewFolder() methods of ArkTreeViewObj instead
Create a new ArkTreeViewObj object with the given name on the highest level of the treeview hierarchy. Set the visibility status of the all rules to checkStatus, where checkStatus is boolean.
Getting and setting current context
Get currently active object and view type.
Returns tuple: (ArkObjRef, GraphType), where ArkObjRef is a currently selected object, and GraphType is identifier of the currently active graph (same as for functions SaveViewAsImage, Get/SetGraphXml). In case there is no active view (possible in some situations), GetActiveView returns None.
- SetActiveView( object, graphType )
Set currently active object and view type; update window. Parameter graphType specivies type of the view, and can be one of:
ARK_GRAPH_INNER_VIEW: Internal block diagram.
ARK_GRAPH_PEER_VIEW: Relation block diagram.
ARK_GRAPH_MATDRAW_INNER_VIEW: Internal block diagram, shown in Matdraw view.
ARK_GRAPH_MATDRAW_PEER_VIEW: Relation block diagram, shown in Matdraw view
ARK_GRAPH_MATDRAW_VIEW: (deprecated) Current block diagram, shown in Matdraw view (inner or internal).
Returns list of ArkObjRef objects, corresponding the current selection, if view type is Inner or Peer. For other views, returns empty list.
Updates currently active view. Modifications are shown in the view
- SetActiveVariant( var )
Argument var is an ArkVariant object.
Note that SetActiveVariant does not updates view immediately. To update view, when script is running, use UpdateActiveView() method.
- SetActivePhase( ph )
Argument ph is an ArkPhase object.
Note that SetActivePhase does not updates view immediately. To update view, when script is running, use UpdateActiveView() method.
Returns active variant. If not found, returns None.
Returns active phase. If not found, returns None.
Returns True if 'snap to grid' enabled
History management functions
- GetHistory(dateFrom, dateTo [, userNameFilter, hpIdFrom, hpIdTo])
This function retrieves history of objects in the project. The arguments are:
- dateFrom, dateTo - date time objects that define the part of history being retrieved. These two arguments are mandatory. In order to use date time objects, you need to import datetime module (see example below) in your script.
Other arguments are optional, they specify additional conditions for filtering history records. All these arguments are strings.
- userNameFilter- If specified, returns only records, related to the specified user.
- hpIdFrom, hpIdTo - if specified, returns only records within the range
Return value is a list of tuples, each tuple representing separate history record, as visible in the History dialog. Each tuple consists of following 11 elements: (hpId, userName, date, objectType, objectName, treeViewName, action, actionClass, historyValue, objectId, sessionId), where date is a datetime type, and other elements are strings.
GetHistory returns not more than 1000 latest records in the specified range. To get whole history, call GetHistory several times, setting hpidTo parameter to the hpId of the latest record.
This is implemented in the utility function arki.utils.arkiutils.IterHistory
Example calling GetHistory:
d1 =datetime.date(2015,12,1) #from 1 December 2015
d2 = datetime.datetime.now() #until now
user = 'email@example.com'
hpIdFrom = '230000'
hpIdTo = '240000'
hist = pyark.GetHistory(d1, d2) #request history for the given period
#hist2 = pyark.GetHistory(None, d2, user, hpIdFrom, hpIdTo) #request history for the given user within given history points range
for h in hist:
print h #printing all found history records
Images management functions
Returns new ArkImage object, referencing specified image. name must be string, identifying image in library. Use GetAllImages() global function. It is important to note that images in ArKItect are lazy-loading, i.e. actual image data are downloaded only when they are needed. Thus, call NewArkImage(url) newer fails and always returns object. To explicitly load image, use Load().
Returns list of ArkImage objects, available in images library. Note that this function does not cause image data to download, only list of image names is retrieved.
- UploadImage( path )
Uploads image from local file and returns corresponding ArkImage objects
Variants management functions
Returns the root category for all choices. Returned object is of the type ArkChoice.
Returns the root category for all variants. Returned object is of the type ArkVariant.
Returns the root category for all phases. Returned object is of the type ArkPhase.
- GetVariantByName( name )
Search for variant by its name. Returned object is of the type ArkVariant. If not found, returns None.
- GetPhaseByName( name )
Search for phase by its name. Returned object is of the type ArkPhase. If not found, returns None.
Returns default variant as ArkVariant object. If not found, returns None.
Returns default phase as ArkPhase object. If not found, returns None.
Returns a list of the ArkVariant objects, representing variants, defined for the project.
Returns a list of the ArkPhase objects, representing phases, defined for the project.
- DeleteVariant( name )
Deletes variant by its name.
- DeletePhase( name )
Deletes phase by its name.
Projects management functions
These functions allow script to query, create, delete and copy projects in the current workspace. For working with other workspaces, see documentation for pyark.OpenConnection in the Connection management functions section.
- GetProject( name )
Search for project by its name. If not found, raises a ValueError. Returned value is an instance of ArkProject object.
- GetProjectsList( )
Returns a list of the ArkProject object, representing projects, defined in the current workspace.
- DeleteProject( name )
Deletes project specified by its name.
- CopyProject( name, newname = None, variant=None )
Copies project name to a new project in the same workspace. If specified, newname defines the name of the copy.
Optional argument variant must be an instance of ArkVariant object. If specified, only part of the project, visible in the specified variant, is copied (currently implemented via copying whole project and removing invisible part)
- NewProject( name, template_name = None )
Creates a new project name in the same workspace. If specified, template_name points to the template which should be used.
Create copy of the current project into REVISIONS Workspace.
- RestoreRevision( revName, newName)
Create new project with name newName as a copy of the project revName from REVISIONS Workspace.
- SetProjectDeletable( status )
Enables/disables the Project protection from deletion. Set status to False to enable the protection from deletion or True to disable it.
Returns True if the Project can be deleted (protection is not set), False otherwise.
Querying and modifying current project information
Functions that return information about the state of the currently open project and allow to modify it.
Returns name of the current project as string. New in 4.0.3.
- SetProjectName( newName )
Renames current project. If new name is invalid (empty or contains forbidden characters); or such project already exists in the workspace, ValueError exception is raised. If new name is the same as current, method does nothing. New in 4.0.3.
Connection management functions
These functions allow to open connection, accessing projects in other servers and workspaces.
- OpenConnection( login, password, httpsOnly=False )
Returns new ArkConnection object, corresponding to the given login and password, or raises a ValueError, if login or password are invalid. By default, attempt to establish HTTPS connection is made first. if it is failed, then HTTP connection attempt is done. If optional flag httpsOnly is True, HTTP connection attempt is not done and exception is raised immediately.
- GetCurrentConnection( httpsOnly=False )
Same as OpenConnection with login and password of the current user.
User interface management functions
These functions allow the user to customize the graphical interface of the arKItect client. It relies on the PyQt integration technology. An example of PyQt integration within the arKItect client can be found here
The following functions are defined in a submodule of pyark named 'ui'. This means that in order to use them, you have to use the prefix 'pyark.ui' and not just 'pyark'.
- NewArkTab( name )
Creates a new tab in the arKItect's main frame with the caption name and set it as the current active tab. A new ArkTab object is returned to be able to manipulate the newly created tab.
If a tab with the given name already exists, a ValueError will be raised.
- RemoveTab( tab )
Removes a tab from the the arKItect's main frame. tab can either be an ArkTab object or the name of an existing tab.
Returns a list of every ArkTab object present in the main frame.
- GetTab( tabName )
Returns the ArkTab object with the given tabName if it exists, returns None otherwise.
- MessageBox( text )
Shows simple popup message with text and OK button.
Other functions to control arKItect GUI from scripts:
Opens a dialog, showing existing object revisions (available from GUI menu as Tools / Show Objects Under Revisions).
Send alert functions
Returns the name of the current user. Can be used in the send-to address.
Return a list of names of all users, who have access to the project.
- SendAlert( message, send_to = None, subject = "arKItect alert", alert_url )
Send an alert message.
- message: message text.
- send_to: Name (not e-mail) of the user to receive the alert. Several names can be specified in a list. If None is passed, message is sent to all users having access to the current project, i.e. the resulting list of GetUsers() method is used.
- subject: Subject of the alert message. Default is "arKItect alert"
- alert_url: Url of the alert. If message is sent in the text format, this parameter is ignored. If HTML message is sent, this url is attached to the message. To generate this parameter properly use ArkObjRef.GetURL( graphType ) method.
AUA management functions
- CreateGroup( name )
Creates a user group identified by name. Raises ValueError, if group name is incorrect, or already used. Returns ArkGroup object.
- DeleteGroup( name )
Removes the group identified by name. Returns None. Raises ValueError if given name is empty string, or user has no right to delete group.
- InitGroup( name )
Returns the ArkGroup object identified by name. Raises ValueError if group with given doesn't exist or name is empty.
- InitUser( name )
Returns the ArkUser object identified by name. Raises ValueError if user with given doesn't exist or name is empty.
- GetUsers( )
Returns list of user names of users that are registered in this workspace.
Querying user permissions functions
Returns True if Matrix has write access.
Returns True if Treeview has write access.
Returns True if current user has license for Simulink module, False otherwise
- GetUserPrivileges(userName = <current user name>)
Returns status of the current user if no parameter is passed or status of user with userName. Returns one of pyark.UserPrivilege (READONLY, USER, COORDINATOR, SUPERCORE, GROUP, TESTER). If user with such name not found, returns value USER. User name must end with "@k.i".
Enable Reader Cache for heavy operations
To improve performance on different reading actions when they are done multiple times - e.g. getting all objects and then checking for each object whether it is a flow or getting attributes for each object - it is possible to enable data reader cache in .
Enables / disables data reader cache. User do not need to call this function, it is used internally in DataReaderCacheContext context manager
DataReaderCacheContext should be used to parse the model (walk_objects, GetAllChildren, IsChildFlow, GetInputFlowList / GetOutputFlowList ...)
Setting requests grouping mode
To improve performance of scripts which create a lot of objects, query packaging mode can be enabled in . In this mode, object creation and modification queries are grouped into single packets, which significantly improves performance. However, functionality of is seriously limited in this mode: basically, only object creation and modification methods are working. The following functions can be used to control this mode:
Enables grouping of queries. Currently, user do not need to call this function, it is used internally in the BulkModeContext context manager.
Disables special network interface. Currently, user do not need to call this function, it is used internally in the BulkModeContext context manager.
Returns True, if grouping of queries (bulk mode) is currently active. Returns False otherwise.
When network packeting mode is enabled (see arki.utils.arkinternal.BulkModeContext), forces arKitect to commit all currently accumulated requests to server without interrupting packeting mode. Causes all modifications to be written in the database and all possible conflicts accounted. Currently, user do not need to call this function, it is used internally in the BulkModeContext context manager.
BulkModeContext should be used when updating several object
Sometimes when a script is being executed, it is needed to visualize intermediate results (update diagrams) - to do so a special method is introduced:
Updates GUI during script execution without interrupting the script
Logging and Reporting functions
Scripts might need to give user some information about details of the execution: information messages, warnings, recoverable errors and other. It is possible to print this information to the "Program Trace" window, using Python's "print" operator. However, their use is discouraged in production scripts because of the limited features of this approach. Instead, developers are encouraged to use "Pythons Events" system.
There are 2 API functions that control it:
- LogEvent(level, code, module, title_description_callback)
Adds new event to the log.
Checks conditions for showing "Python Events" window, and shows it, if conditions were satisfied. In the latter case, the method returns only when the window is closed. Normally, shows this window at the end of script execution, this method allows to show it before terminating script. "Python Events" window shows a log of events, generated by pyark.LogEvent method and uncaught exceptions.
Each event is characterized by 6 parameters:
- Time: when the event was reported.
- Level: one of pyark.LOG_XXX constants. Specifies importance of the message for the user, from lowest (LOG_DEBUG) to the highest (LOG_CRITICAL). Possible values are:
- LOG_DEBUG: use it for debug messages that are not intended to be viewed by the regular users.
- LOG_INFO: messages for the users that do no bear any critical information (script started / script finished).
- LOG_WARNING: messages that warn user about some possible problems.
- LOG_ERROR: information about recoverable errors (something failed, but script can continue work)
- LOG_EXCEPTION: information about Python exceptions. These events are are added automatically, if uncaught exception leaked to arKitect.
- LOG_CRITICAL: critical errors, that prevent further script execution.
- Error code: arbitrary integer value. Can be used to distinguish between different errors types, its value is up to developer.
- Module: string, indicating what module reported the event.
- Title: short, one-line description of the problem. Shown in the event list.
- Description: long, multiline description of the problem details (stack trace, list of files, etc).
User can define, what levels of events to ignore and what to store in the memory; it is also possible to configure, when to show pop-up window with event log messages.
Generally, generating lots of long descriptions may cause significant performance degradation. To avoid this problem, title and description generation are delayed. Instead of providing 2 strings, developer must provide a callback function that produces a tuple of 2 strings: (title, description). This callable is executed only if the event is not ignored by the current logging settings. Thus, ignored messages are never generated, and don't waste resources.
Example of a code, that adds a message:
pyark.LogEvent( pyark.LOG_WARNING, 0, "important script",
lambda: ("Warning title", "Warning description") )
This code uses lambda expression to make a callback function, but any other kind of callable is appropriate.
Shared files functions
Shared files are stored together on the server side in the project shared storage, under the SVN сontrol. The storage is unique for each project. Shared files are commonly associated to objects.
Note about revision numbers: current latest revision is incremented each time someone updates file data on server.
- UploadSharedFile( file_path, comment (optional) )
Uploads a file to the "shared" storage of the project. Returns resulting revision number of the uploaded file.
File update rules, applied when shared storage already have file with such name:
- file_path: string, path to the file. If file is not readable or does not exists, method raises ValueError.
- comment: string, optional. If not specified, default comment will be written.
- If uploaded file is the same as existing, function does nothing. Last revision of the existing file is returned, comment is ignored.
- If uploaded file differs, new revision is created and new comment is written.
- DownloadSharedFile( file_name, [save_path], [revision] )
Downloads a file with given name from the project shared storage. Raises ValueError, if file_name is incorrect.
Return value: tuple (file_path, revision). Path to the file on local computer and actual revision number. If prior to function call file with such path already existed, it is overwritten.
- file_name: string, name of the file in shared storage.
- save_path: string, optional. Path where to save file.
- revision: string, optional. Revision to download. Default is latest revision.
- ListSharedFolderFiles( )
Returns a list of files in the project shared storage in XML format (string). Returns empty string, if shared storage is not initialized yet for this project (should be treated as empty list). XML format is svn XML output.
- RemoveSharedFile( file_name )
Removes the file with given name from the project shared storage. Raises ValueError, if there is no such file. Returns None.
Returns path to Aplication Data Directory. If failed, raises a RuntimeError.
Returns technical data about connection: workspace ID, business space ID, architecture ID, data server address.
in context of RACI feature, loads all accepted data, all arKItect actions related to 'not accepted requests' became undone in memory.
Returns the list of objects with stable revision state impacted by any of provided objects (impact - provided objects are used in some wiki attribute). Data is prepared on the server side.
Returns the list of objects impacted by any of provided objects (impact - provided objects are used in some wiki attribute) in arKItect memory.
Returns the list of active users working in opened project (active sessions). Returns the list of pairs : user name + arkObjRef . arkObjRef object allows to understand the treeview and 'view path' for active user.
Returns version of the as a 4-tuple of type (int, int, int, string).
Numeric part of this tuple represents first 3 version numbers from the version string. All characters after the first 3 numbers, or any non-numeric characters are returned in the 4th element, as string. If version string has only 1 or 2 numbers, zeros are added.
ARK_ATTRIB_APP, ARK_ATTRIB_AUTHOR, ARK_ATTRIB_SIMULINK_CONFIG, ARK_ATTRIB_BOOL, ARK_ATTRIB_DATE, ARK_ATTRIB_DOUBLE, ARK_ATTRIB_ENUM, ARK_ATTRIB_ENUM_VALUE, ARK_ATTRIB_FILE, ARK_ATTRIB_GROUP, ARK_ATTRIB_HYPERLINK, ARK_ATTRIB_INT, ARK_ATTRIB_MEMO, ARK_ATTRIB_RICHTEXT, ARK_ATTRIB_POINTERS, ARK_ATTRIB_PROGRAM, ARK_ATTRIB_SAVEDFILE, ARK_ATTRIB_SINGLE, ARK_ATTRIB_TEXT, ARK_ATTRIB_TEXTLARGE, ARK_ATTRIB_MARKUP
ARK_GRAPH_INNER_VIEW, ARK_GRAPH_PEER_VIEW, ARK_GRAPH_MATDRAW_VIEW, ARK_GRAPH_MATDRAW_INNER_VIEW, ARK_GRAPH_MATDRAW_PEER_VIEW, ARK_GRAPH_TABULAR_VIEW
ARK_ATYPE_CLRTEXT, ARK_ATYPE_CLRLINE, ARK_ATYPE_CLRFILL, ARK_ATYPE_CLRFLOW, ARK_ATYPE_CLRFLOW_TEXT, ARK_ATYPE_CLRFILLBG, ARK_ATYPE_CLRTEXT_TRANSP, ARK_ATYPE_CLRTEXTFLOW_TRANSP, ARK_ATYPE_CLRLINE_TRANSP, ARK_ATYPE_CLRFILL_TRANSP, ARK_ATYPE_CLRFLOW_TRANSP, ARK_ATYPE_CLRFILLBG_TRANSP, ARK_ATYPE_LINESHAPE, ARK_ATYPE_LINESTYLE, ARK_ATYPE_LINEWIDTH, ARK_ATYPE_BORDERSTYLE, ARK_ATYPE_BORDERWIDTH, ARK_ATYPE_ARROWSTYLE, ARK_ATYPE_OBJSHAPE, ARK_ATYPE_SIMTYPE, ARK_ATYPE_ICON, ARK_ATYPE_DISPLAY_ATTRIB_NAME, ARK_ATYPE_DISPLAY_ATTRIB_ICON, ARK_ATYPE_DISPLAY_ATTRIB_VALUE, ARK_ATYPE_FILLHATCH, ARK_ATYPE_KEEP_RATIO, ARK_ATYPE_DEFAULT_SIZE, ARK_ATYPE_READ_ONLYARK_ATYPE_EXCLUDE_FROM_REVMNG, ARK_ATYPE_UNIQUE, ARK_ATYPE_FLEXIBLE
ATYPE_GEN_TAG_ATRRIB_BGIMAGE, ATYPE_GEN_TAG_ATRRIB_FGIMAGE, ATYPE_GEN_TAG_ATRRIB_FONT, ATYPE_GEN_TAG_ATRRIB_FONT_FLOW
ARK_LINESHAPE_CURVE, ARK_LINESHAPE_STRAIGHT, ARK_LINESHAPE_ORTHOGONAL, ARK_LINESHAPE_CUSTOMIZABLE
ARK_LINESTYLE_SOLID, ARK_LINESTYLE_DASH, ARK_LINESTYLE_DOTARK_LINESTYLE_DASHDOT, ARK_LINESTYLE_DASHDOTDOT
ARK_ARROWSTYLE_NOARROW, ARK_ARROWSTYLE_ARROW, ARK_ARROWSTYLE_OPEN, ARK_ARROWSTYLE_STEALTH, ARK_ARROWSTYLE_DIAMOND, ARK_ARROWSTYLE_DIAMOND_WHITEARK_ARROWSTYLE_CIRCLE
ARK_OBJSHAPE_AND, ARK_OBJSHAPE_COMMENT, ARK_OBJSHAPE_CROSS, ARK_OBJSHAPE_CUBE, ARK_OBJSHAPE_DIAMOND, ARK_OBJSHAPE_DOC, ARK_OBJSHAPE_ELLIPSE, ARK_OBJSHAPE_FLAG, ARK_OBJSHAPE_METEOR,ARK_OBJSHAPE_OR, ARK_OBJSHAPE_PLAQUE, ARK_OBJSHAPE_PRLGRM, ARK_OBJSHAPE_RECT, ARK_OBJSHAPE_RECT_RE, ARK_OBJSHAPE_SAIL, ARK_OBJSHAPE_SIGN_LEFT, ARK_OBJSHAPE_SIGN_RIGHT, ARK_OBJSHAPE_TEARDROP, ARK_OBJSHAPE_TRAPEZ_UP, ARK_OBJSHAPE_TRAPEZ_DOWN, ARK_OBJSHAPE_TRIANGLE_UP, ARK_OBJSHAPE_TRIANGLE_DOWN, ARK_OBJSHAPE_WAVE, ARK_OBJSHAPE_PENTAGON, ARK_OBJSHAPE_HEXAGON, ARK_OBJSHAPE_HEPTAGON, ARK_OBJSHAPE_OCTAGON, ARK_OBJSHAPE_DECAGON, ARK_OBJSHAPE_DODECAGON, ARK_OBJSHAPE_CAN, ARK_OBJSHAPE_CAN_LYING, ARK_OBJSHAPE_END_NODE, ARK_OBJSHAPE_INIT_NODE, ARK_OBJSHAPE_CROSS_NODE, ARK_OBJSHAPE_JOIN, ARK_OBJSHAPE_BIFURCATION, ARK_OBJSHAPE_BIFURCATIONV, ARK_OBJSHAPE_PRIORITY_AND_GATE, ARK_OBJSHAPE_HOUSE_EVENT, ARK_OBJSHAPE_XOR, ARK_OBJSHAPE_INHIBIT_GATE, ARK_OBJSHAPE_SIMULINK
ARK_SIMTYPE_ENABLE, ARK_SIMTYPE_FCALL, ARK_SIMTYPE_SM, ARK_SIMTYPE_SUBSYSTEM, ARK_SIMTYPE_STATE, ARK_SIMTYPE_SIGNAL, ARK_SIMTYPE_TRANSITION, ARK_SIMTYPE_TRIGGER, ARK_SIMTYPE_VECTOR
ARK_RULE_SIMPLE, ARK_RULE_FLOW, ARK_RULE_BIFLOW, ARK_RULE_INPUT, ARK_RULE_OUTPUT
ARK_TREEVIEW_SIMTYPE, ARK_TREEVIEW_DISPNAME, ARK_TREEVIEW_MASTERSECONDARY, ARK_TREEVIEW_GRAPHORIENT
Object options/variants/phases status
ARK_OBJVAR_UNDEFINED, ARK_OBJVAR_MANUAL, ARK_OBJVAR_PROPAGATED, ARK_OBJVAR_PROPAGATED_UP
ARK_GRAPHORIENT_STANDARD, ARK_GRAPHORIENT_TB, ARK_GRAPHORIENT_LR
Object parent relations
RELATION_NONE, RELATION_DIRECT_CHILD, RELATION_INDIRECT_CHILD, RELATION_ATTRIBUTE
EVENT_ONADDCHILD, EVENT_ONADDEXISTING, EVENT_ONADDNEW, EVENT_ONCHANGEATTRIBVALUE, EVENT_ONCHANGEDIRECTION, EVENT_ONCLOSE, EVENT_ONCUSTOMFILTER, EVENT_ONDELETE, EVENT_ONOPEN, EVENT_ONREMOVECHILD, EVENT_ONRENAME, EVENT_ONACTIVATEIBD, EVENT_ONCHANGEPROPERTIES, EVENT_ONCHANGEPROJECTION, EVENT_ONADDCHILD_GLOBAL, EVENT_ONREMOVECHILD_GLOBAL
STATUS_DEVELOPER, STATUS_DEVELOPER_ADMIN, STATUS_DESIGNER, STATUS_READONLY
Use access types
RIGHTS_NOT_VISIBLE, RIGHTS_READ_ONLY, RIGHTS_FULL_ACCESS
String validation policies
SVP_STRICT, SVP_IGNORE, SVP_REPLACE
Message logging levels
LOG_INFO, LOG_DEBUG, LOG_WARNING, LOG_ERROR, LOG_EXCEPTION, LOG_CRITICAL
History action types
HISTORY_OBJECT_ATTRIBUTES, HISTORY_OBJECT_ATTRIBUTES_REVISION_EXCLUDED, HISTORY_OBJECT_PARENTSTRUCTURE, HISTORY_OBJECT_OPTIONS, HISTORY_OBJECT_RENAME, HISTORY_ADD_NEW_OBJECT, HISTORY_DELETE_REFERENCE, HISTORY_DELETE_OBJECT_GLOBALLY, HISTORY_LINK_DIRECTION, HISTORY_NEW_OBJECT_REFERENCE, HISTORY_PROJECT_ACTION, HISTORY_OBJECT_CREATE_REVISION, HISTORY_OBJECT_SWITCH_REVISION,HISTORY_SCRIPT