IContentManager Operations

CMS Module provides a set of generic operations that are used in all CMS implementations. This operations are defined in IContentManager interface.

The operations are done against Node or ContentItem objects. Operations can be divides into CRUD operations (add, update, move and delete), finder operations and access operation (getACLList, grant access, has access and revoke access).

Node CRUD operations:

  • addNode: Adds a new node to the repository;
  • updateNode: Updates an existing content with the new data;
  • moveNode: Moves a node to another parent node;
  • deleteNode: Deletes an existing node from the repository. Cascade delete can be set.

Node finder operations:

  • getNodeById: Searches a node by it's unique identifier;
  • getNodeByPath: Searches a node by path;
  • getNodesByDescription: Searches nodes by description;
  • getNodesByName: Searches nodes by name;
  • getNodesByParentNode: Searches nodes by parent node;
  • getRootNodes: Searches root nodes;

Node access operations:

  • getNodeACL: get node ACL;
  • grantNodeAccessToGroup: Grants group access to a node;
  • grantNodeAccessToUser: Grants user access to a node;
  • hasNodeAccessGroup: Checks if group has access to the node;
  • hasNodeAccessUser: Checks if user has access to the node;
  • revokeNodeAccessToGroup: Revokes group access to a node;
  • revokeNodeAccessToUser: Revokes user access to a node.

ContentItem CRUD operations:

  • addContent: Adds a new content to the repository;
  • updateContent: Updates an existing content with the new data;
  • moveContent: Moves a content to another node;
  • deleteContent: Deletes an existing content from the repository.

ContentItem finder operations:

  • getContentByDescription: Searches contents by description;
  • getContentById: Searches a content by it's unique identifier;
  • getContentByName: Searches contents by name;
  • getContentByParentNode: Searches contents by parent node.

ContentItem access operations

  • getContentItemACL: get content item ACL;
  • grantContentAccessToGroup: Grants group access to a content item;
  • grantContentAccessToUser: Grants user access to a content item;
  • hasContentAccessGroup: Checks if group has access to the content;
  • hasContentAccessUser: Checks if user has access to the content;
  • revokeContentAccessToGroup: Revokes group access to a content item;
  • revokeContentAccessToUser: Revokes user access to a content item.

The complete IContentManager interface can be inspected here.

Object Operations

Both Node and ContentItem objects support operations on that object, namely:

  • update object
  • delete object (Node objects also have deleteCascade operation)
  • move object
  • get object ACL
  • grant access to object
  • revoke access to object

All operations performed directly in the object are unit operations, which have effects exclusively in that object

Despite this object operations, all CMS operations can be done directly in the IContentManager interface.

The complete CMS Module API can be inspected here.

Back to CMS index page.