Chapter 6. Java Services

TaxonomyService
LinkManager
PublicationManager
WCMComposer
CMS
ActionServiceContainer
Records
MultiLanguage
ManageDrive
NewFolksonomy
Script
Relations
RSS
Voting
Comments
Query
PageMetadata
ManageView
ApplicationTemplateManager
NodeFinder
DMSConfiguration
DocumentType
Favorite
Trash
Timeline
Lock
JodConverter
WatchDocument
MetaData
CompressData

TaxonomyService is used for working with taxonomies. In this service there are many functions which allow you to add, find, delete taxonomies from node.

Method Return Prototype Description
getTaxonomyTree Node

getTaxonomyTree(String repository, String taxonomyName, boolean system) throws RepositoryException;

Returns the root node of the given taxonomy tree

@param repository The name of repository

@param taxonomyName The name of the taxonomy

@param system Indicates whether the nodes must be retrieved using a session system or user session

@throws RepositoryException if the taxonomy tree could not be found

getTaxonomyTree

Node

getTaxonomyTree(String repository, String taxonomyName) throws RepositoryException;

Returns the root node of the given taxonomy tree with the user session

@param repository The name of repository

@param taxonomyName The name of the taxonomy

@throws RepositoryException if the taxonomy tree could not be found

getAllTaxonomyTrees List<Node>

getAllTaxonomyTrees(String repository, boolean system) throws RepositoryException;

Returns the list of all the root nodes of the taxonomy tree available

@param repository The name of repository

@param system Indicates whether the nodes must be retrieved using a session system or user session

@throws RepositoryException if the taxonomy trees could not be found

getAllTaxonomyTrees List<Node>

getAllTaxonomyTrees(String repository) throws RepositoryException;

Returns the list of all the root nodes of the taxonomy tree available with the user session

@param repository The name of repository

@throws RepositoryException if the taxonomies could not be found

hasTaxonomyTree

boolean

hasTaxonomyTree(String repository, String taxonomyName) throws RepositoryException;

Checks if a taxonomy tree with the given name has already been defined

@param repository The name of repository

@param taxonomyName The name of the taxonomy

@throws RepositoryException if the taxonomy name could not be checked

addTaxonomyTree void

addTaxonomyTree(Node taxonomyTree) throws RepositoryException, TaxonomyAlreadyExistsException;

Defines a node as a new taxonomy tree

@param taxonomyTree The taxonomy tree to define

@throws TaxonomyAlreadyExistsException if a taxonomy with the same name has already been defined

@throws RepositoryException if the taxonomy tree could not be defined

updateTaxonomyTree

void

updateTaxonomyTree(String taxonomyName, Node taxonomyTree) throws RepositoryException;

Re-defines a node as a taxonomy tree

@param taxonomyName The name of the taxonomy to update

@param taxonomyTree The taxonomy tree to define

@throws RepositoryException if the taxonomy tree could not be updated

removeTaxonomyTree

void

removeTaxonomyTree(String taxonomyName) throws RepositoryException;

Remove the taxonomy tree definition

@param taxonomyName The name of the taxonomy to remove

@throws RepositoryException if the taxonomy tree could not be removed

addTaxonomyNode

void

addTaxonomyNode(String repository, String workspace, String parentPath, String taxoNodeName, String creator) throws RepositoryException, TaxonomyNodeAlreadyExistsException;

Adds a new taxonomy node at the given location

@param repository The name of the repository

@param workspace The name of the workspace

@param parentPath The place where the taxonomy node will be added

@param taxoNodeName The name of taxonomy node

@param creator The name of the user creating this node

@throws TaxonomyNodeAlreadyExistsException if a taxonomy node with the same name has already been added

@throws RepositoryException if the taxonomy node could not be added

removeTaxonomyNode void

removeTaxonomyNode(String repository, String workspace, String absPath) throws RepositoryException;

Removes the taxonomy node located at the given absolute path

@param repository The name of the repository

@param workspace The name of the workspace

@param absPath The absolute path of the taxonomy node to remove

@throws RepositoryException if the taxonomy node could not be removed

moveTaxonomyNode void

moveTaxonomyNode(String repository, String workspace, String srcPath, String destPath, String type) throws RepositoryException;

Copies or cuts the taxonomy node from source path to destination path. The parameter type indicates if the node must be cut or copied

@param repository The name of the repository

@param workspace The name of the workspace

@param srcPath The source path of this taxonomy

@param destPath The destination path of the taxonomy

@param type If type is equal to "cut", the process will be cut If type is equal to "copy", the process will be copied

@throws RepositoryException if the taxonomy node could not be moved

hasCategories boolean

hasCategories(Node node, String taxonomyName) throws RepositoryException;

Returns true if the given node has categories in the given taxonomy

@param node The node to check

@param taxonomyName The name of the taxonomy

@throws RepositoryException if categories cannot be checked

hasCategories boolean

hasCategories(Node node, String taxonomyName, boolean system) throws RepositoryException;

Returns true if the given node has categories in the given taxonomy

@param node The node to check

@param taxonomyName The name of the taxonomy

@param system check system provider or not

@throws RepositoryException if categories cannot be checked

getCategories List<Node>

getCategories(Node node, String taxonomyName) throws RepositoryException;

Returns all the paths of the categories (relative to the root node of the given taxonomy) which have been associated to the given node for the given taxonomy

@param node The node for which we seek the categories

@param taxonomyName The name of the taxonomy

@throws RepositoryException if the categories cannot be retrieved

getCategories List<Node>

getCategories(Node node, String taxonomyName, boolean system) throws RepositoryException;

Returns all the paths of the categories(relative to the root node of the given taxonomy) which have been associated to the given node for the given taxonomy

@param node The node for which we seek the categories

@param taxonomyName The name of the taxonomy

@param system

@throws RepositoryException if the categories cannot be retrieved

getAllCategories List<Node>

getAllCategories(Node node) throws RepositoryException;

Returns all the paths of the categories which have been associated to the given node

@param node The node for which we seek the categories

@throws RepositoryException

getAllCategories List<Node>

getAllCategories(Node node, boolean system) throws RepositoryException;

Returns all the paths of the categories which have been associated to the given node

@param node The node for which we seek the categories

@param system check system provider or not

@throws RepositoryException

removeCategory void

removeCategory(Node node, String taxonomyName, String categoryPath) throws RepositoryException;

Removes a category to the given node

@param node The node for which we remove the category

@param taxonomyName The name of the taxonomy

@param categoryPath The path of the category relative to the root node of the given taxonomy

@throws RepositoryException if the category cannot be removed

removeCategory

void

removeCategory(Node node, String taxonomyName, String categoryPath, boolean system) throws RepositoryException;

Removes a category to the given node

@param node The node for which we remove the category

@param taxonomyName The name of the taxonomy

@param categoryPath The path of the category relative to the root node of the given taxonomy

@param system check system provider or not

@throws RepositoryException if the category cannot be removed

addCategories void

addCategories(Node node, String taxonomyName, String categoryPaths) throws RepositoryException;

Adds several categories to the given node

@param node The node for which we add the categories

@param taxonomyName The name of the taxonomy

@param categoryPaths An array of category paths relative to the given taxonomy

@throws RepositoryException if the categories cannot be added

addCategories

void

addCategories(Node node, String taxonomyName, String categoryPaths, boolean system) throws RepositoryException;

Adds several categories to the given node

@param node The node for which we add the categories

@param taxonomyName The name of the taxonomy

@param categoryPaths An array of category paths relative to the given taxonomy

@param system check system provider or not

@throws RepositoryException if the categories cannot be added

addCategory

void

addCategory(Node node, String taxonomyName, String categoryPath) throws RepositoryException;

Adds a new category path to the given node

@param node the node for which we add the category

@param taxonomyName The name of the taxonomy

@param categoryPath The path of the category relative to the given taxonomy

@throws RepositoryException if the category cannot be added

addCategory

void

addCategory(Node node, String taxonomyName, String categoryPath, boolean system) throws RepositoryException;

Adds a new category path to the given node

@param node the node for which we add the category

@param taxonomyName The name of the taxonomy

@param categoryPath The path of the category relative to the given taxonomy

@param system check system provider or not

@throws RepositoryException if the category cannot be added

getTaxonomyTreeDefaultUserPermission

Map<String, String>

getTaxonomyTreeDefaultUserPermission();

get default permission for the user in taxonomy tree
addTaxonomyPlugin

void

addTaxonomyPlugin(ComponentPlugin plugin);

Add a new taxonomy plugin to the service

@param plugin The plugin to add

init

void

init(String repository) throws Exception;

Initial all taxonomy plugins that have been already configured in xml files

@param repository The name of repository

@see TaxonomyPlugin

@throws Exception

Supply API to work with the linked node or the link included in node.

Package org.exoplatform.services.cms.link.LinkManager;

Method Return Prototype Description
createLink Node

createLink(Node parent, String linkType, Node target)

throws RepositoryException;

Creates a new link, add it to the parent node and returns the link

@param parent The parent node of the link

@param linkType The primary node type of the link must be a sub-type of

exo:symlink, the default value is "exo:symlink"

@param target The target of the link

@throws RepositoryException if the link cannot be created for any reason

createLink Node

createLink(Node parent, Node target)

throws RepositoryException;

Creates a new node of type exo:symlink, add it to the parent node and

returns the link node

@param parent The parent node of the link to create

@param target The target of the link

@throws RepositoryException if the link cannot be created for any reason

createLink Node

createLink(Node parent, String linkType, Node target, String linkName)

throws RepositoryException;

Creates a new link, add it to the parent node and returns the link

@param parent The parent node of the link

@param linkType The primary node type of the link must be a sub-type of

exo:symlink, the default value is "exo:symlink"

@param target The target of the link

@param linkName The name of the link

@return

@throws RepositoryException if the link cannot be created for any reason

updateLink Node

updateLink(Node link, Node target)

throws RepositoryException;

Updates the target node of the given link

@param link The link node to update

@param target The new target of the link

@throws RepositoryException if the link cannot be updated for any reason

getTarget Node

getTarget(Node link, boolean system) throws ItemNotFoundException,

RepositoryException;

Gets the target node of the given link

@param link The node of type exo:symlink

@param system Indicates whether the target node must be retrieved using a

session system or user session in case we cannot use the same

session as the node link because the target and the link are not

in the same workspace

@throws ItemNotFoundException if the target node cannot be found

@throws RepositoryException if an unexpected error occurs while retrieving

the target node

getTarget Node

getTarget(Node link)

throws ItemNotFoundException, RepositoryException;

Gets the target node of the given link using the user session

@param link The node of type exo:symlink

@throws ItemNotFoundException if the target node cannot be found

@throws RepositoryException if an unexpected error occurs while retrieving

the target node

isTargetReachable boolean

isTargetReachable(Node link)

throws RepositoryException;

Checks if the target node of the given link can be reached using the user session

@param link The node of type exo:symlink

@throws RepositoryException if an unexpected error occurs

isTargetReachable boolean

isTargetReachable(Node link, boolean system)

throws RepositoryException;

Checks if the target node of the given link can be reached using the user session

@param link The node of type exo:symlink

@param system

@throws RepositoryException if an unexpected error occurs

isLink boolean

isLink(Item item)

throws RepositoryException;

Indicates whether the given item is a link

@param item the item to test

@return <code>true</code> if the node is a link, <code>false</code> otherwise

@throws RepositoryException if an unexpected error occurs

getTargetPrimaryNodeType String

getTargetPrimaryNodeType(Node link)

throws RepositoryException;

Gives the primary node type of the target

@param link The node of type exo:symlink

@return the primary node type of the target

@throws RepositoryException if an unexpected error occurs

PublicationService to manage the publication

Method Return Prototype Description  
addLifecycle void addLifecycle(ComponentPlugin plugin); Add plugins context for the publication service  
getLifecycle Lifecycle Lifecycle getLifecycle(String name) ;

Get a specific Lifecycle with the given name

@param name: Name of wanted Lifecycle

 
getLifecycles List<Lifecycle> List<Lifecycle> getLifecycles(); Get all the Lyfecycle which were added to service instance  
getContext Context Context getContext(String name) ; Get a specific context with the given name  
getContexts List<Context> List<Context> getContexts(); Get all the context which were added to service instance  
getContents List<Node> List<Node> getContents(String fromstate, String tostate, String date, String user, String lang , String workspace) throws Exception;

Get all the node

@param fromstate/tostate: the current range state of node

@param @param user: The last user of node

@param lang: the node's language

@param workspace: the Workspace of node's location

 
getLifecyclesFromUser List<Lyfecycle> List<Lyfecycle> getLifecyclesFromUser(String remoteUser, String state);

Get all the Lifecycle of a specific user@param remoteUser current user of publication service

@param state: Current state of the node

q

This class is responsible of getting contents inside the WCM product. We shouldn't access directly contents from the jcr on front side.

In a general manner, this service stands between publication and cache.

Package org.exoplatform.services.wcm.publication.WCMComposer;

Method Return Prototype Description
getContent Node

getContent(String repository, String workspace, String nodeIdentifier, HashMap<String, String> filters, SessionProvider sessionProvider)

throws Exception ;

returns content at the specified path based on filters.

repository the repository

workspace the workspace

@param path the path

@param filters the filters

@param sessionProvider the session provider

@return a jcr node

@throws Exception the exception

getContents List<Node>

getContents(String repository, String workspace, String path, HashMap<String, String> filters, SessionProvider sessionProvider)

throws Exception ;

returns contents at the specified path based on filters.

@param repository the repository@param workspace the workspace

@param path the path

@param filters the filters

@param sessionProvider the session provider

@return a jcr node

@throws Exception the exception

updateContent boolean

updateContent(String repository, String workspace, String nodeIdentifier, HashMap<String, String> filters)

throws Exception;

Update content.

repository the repository

@param workspace the workspace

@param path the path

@param filters the filters

@return true, if successful

updateContents boolean

updateContents(String repository, String workspace, String path, HashMap<String, String> filters)

throws Exception;

Update contents.

@param repository the repository

@param workspace the workspace

@param path the path

@param filters the filters

@return true, if successful

getAllowedStates List<String>

getAllowedStates(String mode)

throws Exception ;

returns allowed states for a specified mode.

@param mode the mode

@return a jcr node

@throws Exception the exception

cleanTemplates void

cleanTemplates()

throws Exception ;

initialize the templates hashmap

@throws Exception the exception

isCached boolean

isCached()

throws Exception;

Check isCache or not

@return the state of cache

@throws Exception the exception

CmsService is used for working with nodes. In this service there are many functions which allow you to add, edit, move node.

Package org.exoplatform.services.cms.CmsService;

Method Return Prototype Desription
storeNode String storeNode(String workspace, String nodetypeName, String storePath, Map inputProperties,String repository) throws Exception;

Returns path to saved node

@param workspace: name of workspace

@param nodetypeName: NodeType's name

@param storePath: Path to store node

@param inputProperties: Map of node's property including (property name, value)

@param repository: Repository's name

@throws Exception: throws exception

storeNode String storeNode(String nodetypeName, Node storeHomeNode, Map inputProperties, boolean isAddNew,String repository) throws Exception;

Returns path to saved node

@param nodetypeName: NodeType's name

@param storeHomeNode: Parent node, where node is stored

@param inputProperties: Map of node's property including (property name, value)

@param isAddNew: flag to decide whether this situation is adding node or updating node

@param repository: Repository's name

@throws Exception: throws exception

storeEditedNode String storeEditedNode(String nodetypeName, Node storeNode, Map inputProperties, boolean isAddNew,String repository) throws Exception;

Returns path to saved node

@param nodetypeName: NodeType's name

@param storeNode: Node is stored

@param inputProperties: Map of node's property including (property name, value)

@param isAddNew: flag to decide whether this situation is adding node or updating node

@param repository: Repository's name

@throws Exception: throws exception

storeNodeByUUID String storeNodeByUUID(String nodetypeName, Node storeNode, Map inputProperties, boolean isAddNew,String repository) throws Exception;

Returns return UUID of saved node

@param nodetypeName: NodeType's name

@param storeNode: Node is stored

@param inputProperties: Map of node's property including (property name, value)

@param isAddNew: flag to decide whether this situation is adding node or updating node

@param repository: Repository's name

@throws Exception: throws exception

moveNode void moveNode(String nodePath, String srcWorkspace, String destWorkspace, String destPath, String repository)

@param nodePath: Path to node in source workspace

@param srcWorkspace: Source workspace name

@param destWorkspace: Destination of workspace name

@param destPath: Destination of node path

@param repository: Repository's name

@throws Exception: throws exception

This service is used to manage DMS actions (with nodetype exo:action)

Package org.exoplatform.services.cms.actions.ActionServiceContainer;

Method Return Prototype Description
getActionPluginNames Collection<String> getActionPluginNames()

Collection of String

@return collection of ActionPlugin names

getActionPlugin ActionPlugin getActionPlugin(String actionServiceName)

Get ActionPlugin following ActionSeriveName

@param actionServiceName name of action service

@return ActionPlugin

getActionPluginForActionType ActionPlugin getActionPluginForActionType(String actionTypeName)

Get ActionPlugin following action type name

@param actionTypeName name of action type

@return ActionPlugin

createActionType void createActionType(String actionTypeName, String parentActionTypeName, String executable, List<String> variableNames, boolean isMoveType, String repository) throws Exception

Create NodaeTypeValue is in kind of ActionType following action type name

@param actionTypeName name of action type

@param parentActionTypeName name of parent action

@param executable String value of execuable

@param variableNames List name of variable

@param isMoveType is moved or not

@param repository repository name

@throws Exception

getCreatedActionTypes Collection<NodeType> getCreatedActionTypes(String repository) throws Exception

Get all created node with nodetype = exo:action

@param repository repository name

@return Collection of NodeType

@throws Exception

getAction Node getAction(Node node, String actionName) throws Exception

get node by using actionName as relative path with current node

@param node current processing node

@param actionName name of action

@return Node

@throws Exception

hasActions boolean hasActions(Node node) throws Exception

Check node type is exo:actionable or not

@param node

@return true: NodeType is exo:actionable false NodeType is not exo:actionable

@throws Exception

getActions List<Node> getActions(Node node) throws Exception

Get list of child node with NodeType = exo:action

@param node current node

@return list of node

@throws Exception

getCustomActionsNode List<Node> getCustomActionsNode(Node node, String lifecyclePhase) throws Exception

Get list of node that have same level with current node, exo:lifecyclePhase = lifecyclePhase

@param node current node

@param lifecyclePhase exo:lifecyclePhase value

@return list of node

@throws Exception

getActions List<Node> getActions(Node node, String lifecyclePhase) throws Exception

Get list of child node with exo:lifecyclePhase = lifecyclePhase

@param node current node

@param lifecyclePhase exo:lifecyclePhase value

@return list of node

@throws Exception

removeAction void removeAction(Node node, String repository) throws Exception

Remove all action registered in node

@param node

@param repository

@throws Exception

removeAction void removeAction(Node node, String actionName, String repository) throws Exception

Remove all relative node of current node with node type = exo:actionable

@param node current node

@param actionName relative path = exo:actionable / actionName

@param repository repository name

@throws Exception

addAction void addAction(Node node, String repository, String type, Map mappings) throws Exception

Add mixintype = exo:actionable to current node

Add new node to current node with nodetype = type

@param node current node

@param repository current repository

@param type nodetype name

@param mappings value of property for adding to new node

@throws Exception

addAction void addAction(Node node, String repository, String type, boolean isDeep, String uuid, String nodeTypeNames, Map mappings) throws Exception

Add mixintype = exo:actionable to current node

Add new node to current node with nodetype = type

@param node current node

@param repository current repository

@param type nodetype name

@param isDeep affect to child node of node

@param uuid affect only to parent node of event having given uuid

@param nodeTypeNames affect to parent node of event having nodetype in nodeTypeNames

@param mappings value of property for adding to new node

@throws Exception

executeAction void executeAction(String userId, Node node, String actionName, Map variables, String repository) throws Exception

Execute action following userId, node, variables, repository

@param userId user identify

@param node current node

@param actionName name of action

@param variables Map with variables and value

@param repository current repository

@throws Exception

executeAction void executeAction(String userId, Node node, String actionName, String repository) throws Exception

Execute action following userId, node, repository, initiated variables

@param userId user identify

@param node current node

@param actionName name of action

@param repository current repository

@throws Exception

@see {@link #executeAction(String, Node, String, Map, String)}

initiateObservation void initiateObservation(Node node, String repository) throws Exception

Add action listener for all action child node of current node in repository

@param node current node

@param repository Repository name

@throws Exception

init void init(String repository) throws Exception

init service with repository name

@param repository repository name

@throws Exception

Package org.exoplatform.services.cms.records.RecordService;

Method Return Prototype Description
bindFilePlanAction void bindFilePlanAction(Node filePlan, String repository) throws Exception;

Add action for filePlan node in repository

@param filePlan Node to process

@param repository Repository name

@throws Exception

addRecord void addRecord(Node filePlan, Node record) throws RepositoryException;

Set property for filePlan node which is get from record node

@param filePlan filePlan Node

@param record record Node

@throws RepositoryException

computeCutoffs void computeCutoffs(Node filePlan) throws RepositoryException;

Determine if the next phase is a hold, transfer or destruction

@param filePlan

@throws RepositoryException

computeHolds void computeHolds(Node filePlan) throws RepositoryException;

Process transfer or destruction

@param filePlan filePlan node@throws RepositoryException

computeTransfers void computeTransfers(Node filePlan) throws RepositoryException;

Copy record node in filePlan node to path which value is

rma:transferLocation property of filePlan Node

@param filePlan

@throws RepositoryException

computeAccessions void computeAccessions(Node filePlan) throws RepositoryException;

Copy record node in filePlan node to path which value is

rma:accessionLocation property of filePlan Node

@param filePlan

@throws RepositoryException

computeDestructions void computeDestructions(Node filePlan) throws RepositoryException;

Remove record node in filePlan node

@param filePlan filePlan node

@throws RepositoryException

getRecords List<Node> getRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement

@param filePlan filePlan node

@throws RepositoryException

getVitalRecords List<Node> getVitalRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement with constraint concerning

@rma:vitalRecord

@param filePlan filePlan node

@throws RepositoryException

getObsoleteRecords List<Node> getObsoleteRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement with constraint concerning

@rma:isObsolete

@param filePlan filePlan node

@throws RepositoryException

getSupersededRecords List<Node> getSupersededRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement with constraint concerning

@rma:superseded

@param filePlan filePlan node

@throws RepositoryException

getCutoffRecords List<Node> getCutoffRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement with constraint concerning

@rma:cutoffExecuted

@param filePlan filePlan node

@throws RepositoryException

getHolableRecords List<Node> getHolableRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement with constraint concerning

@rma:holdExecuted

@param filePlan filePlan node

@throws RepositoryException

getTransferableRecords List<Node> getTransferableRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement with constraint concerning @rma:transferExecuted

@param filePlan filePlan node

@throws RepositoryException

getAccessionableRecords List<Node> getAccessionableRecords(Node filePlan) throws RepositoryException;

Get list of node by query statement with constraint concerning @rma:accessionExecuted

@param filePlan filePlan node

@throws RepositoryException

getDestroyableRecords List<Node> getDestroyableRecords(Node filePlan) throws RepositoryException;

Get list of rma:destroyable node by query statement @param filePlan filePlan node

@param filePlan filePlan node

@throws RepositoryException

MultiLanguageService is used for working with language of node. In this service there are many functions which allow you to add, edit, delete language of node.

Method Return Prototype Desription
getSupportedLanguages List<String> getSupportedLanguages(Node node) throws Exception

Returns value of exo:language property of the node

@param node: The current node

@throws Exception: throws exception

setDefault void setDefault(Node node, String language, String repositoryName) throws Exception

Set data for current node

@param node: The current node

@param language: The language name

@param repositoryName: The name of repository

@throws Exception: throws exception

addLanguage void addLanguage(Node node, Map inputs, String language, boolean isDefault) throws Exception

Add new language for current node

@param node: The current node

@param inputs: Map includes key and value of property

@param language: The name of language

@param isDefault: flag to define default language is used or not

@throws Exception: throws exception

addLanguage void addLanguage(Node node, Map inputs, String language, boolean isDefault, String nodeType) throws Exception

Add new language for current node

@param node: The current node

@param inputs: Map includes key and value of property

@param language: The name of language

@param isDefault: flag to define default language is used or not

@param nodeType: The name of NodeType

@throws Exception: throws exception

addFileLanguage void addFileLanguage(Node node, String fileName, Value value, String mimeType, String language, String repositoryName, boolean isDefault) throws Exception

Add newLanguageNode node, then add new file to newLanguageNode

@param node: The current node

@param: fileName: The name of file

@param value: The value of file

@param mimeType: mimiType

@param language: The name of language

@param repositoryName: The name of repository

@param isDefault: flag to use new language or default language

@throws Exception: throws exception

addFileLanguage void addFileLanguage(Node node, String language, Map mappings, boolean isDefault) throws Exception

Add newLanguageNode node, then set property in mapping to newLanguageNode

@param node: The current node

@param language: The name of language

@param mappings: Map includes property and value

@param isDefault: flag to use new language or default language

@throws Exception: throws exception

addLinkedLanguage void addLinkedLanguage(Node node, Node translationNode)

Add newLanguageNode node with a symlink, based on exo:language targetNode property

@param node: The current node

@param translationNode: target translation node

@throws Exception: throws exception

addFolderLanguage void addFolderLanguage(Node node, Map inputs, String language, boolean isDefault, String nodeType, String repositoryName) throws Exception

Add new language node as a folder

@param node: The current node

@param inputs: Map includes key and value of property

@param language: The name of language

@param isDefault: flag to define default language is used or not

@param nodeType: The name of nodeType

@throws Exception: throws exception

getDefault String getDefault(Node node)

Returns Get value of property exo:language in current node

@param node: The current node

@throws Exception: throws exception

getLanguage String getLanguage(Node node, String language) throws Exception

Returns Get node following relative path = "languages/" + language

@param node: The current node

@param language: The name of language

@throws Exception: throws exception

This service is used to manage DMS drives

Package org.exoplatform.services.cms.drives.DriveData;

Method Return Prototype Description
addDrive void addDrive(String name, String workspace, String permissions, String homePath, String views, String icon, boolean viewReferences, boolean viewNonDocument, boolean viewSideBar, boolean showHiddenNode, String repository, String allowCreateFolder, String allowNodeTypesOnTree)throws Exception

Register a new drive to workspace or update if the drive is existing

@param name drive name

@param workspace the workspace name where will store the drive

@param permissions specify who can access to this drive

@param homePath specify the location of drive

@param views include all views can see in drive

@param icon the drive icon which can see in drive browser

@param viewReferences the boolean to set default for drive can view references node or not

@param viewNonDocument the boolean to set default for drive can view non document node or not

@param viewSideBar the boolean to set default for drive can view side bar or not

@param showHiddenNode the boolean to set default for drive can see hidden node or not

@param repository the string contain repository name

@param allowCreateFolder the string to specify which type of folder can add in the drive

@throws Exception

getDriveByName DriveData getDriveByName(String driveName, String repository) throws Exception

Return an DriveData Object

@param driveName the string contain the drive name

@param repository the repository name

@see DriveData

@return DriveData with specified drive name and repository

@throws Exception

getAllDriveByPermission List<DriveData> getAllDriveByPermission(String permission, String repository) throws Exception

Return the list of DriveData

This method will look up in all workspaces of repository to find DriveData with specified permission

@param permission the string contain the permission

@param repository name of repository

@return list of DriveData with specified repository and permission

@see DriveData

@throws Exception

removeDrive void removeDrive(String driveName, String repository) throws Exception

Remove drive with specified drive name and repository

@param driveName drive name

@param repository repository name

@throws Exception

getAllDrives List<DriveData> getAllDrives(String repository) throws Exception

This method will look up in all workspaces of repository to find DriveData

@param repository repository name

@return list of DriveData with specified repository

@throws Exception

isUsedView boolean isUsedView(String viewName, String repository) throws Exception

This method will check to make sure the view is not in used before remove this view

@param viewName view name

@param repository repository name

@return the status of current view is in used or not

@throws Exception

init void init(String repository) throws Exception

Register all drive plugins to repository

@param repository the string contain repository name

@throws Exception

getDriveByUserRoles List<DriveData> getDriveByUserRoles(String repository, String userId, List<String> roles) throws Exception

Get all drives by user roles

@param repository Repository name

@param userId User name

@param roles Roles of user

@return List<DriveData>

@throws Exception

getMainDrives List<DriveData> getMainDrives(String repository, String userId, List<String> userRoles) throws Exception

Get all main drives

@param repository Repository name

@param userId Name of user

@param userRoles Roles of user

@return List<DriveData>

@throws Exception

getPersonalDrives List<DriveData> getPersonalDrives(String repository, String userId, List<String> userRoles) throws Exception

Get all personal drives

@param repository Repository name

@param userId Name of user

@param userRoles Roles of user

@return List<DriveData>

@throws Exception

getGroupDrives List<DriveData> getGroupDrives(String repository, String userId, List<String> userRoles, List<String> groups) throws Exception

Get all group drives

@param repository Repository name

@param userId Name of user

@param userRoles Roles of user

@param groups Groups of user

@return List<DriveData>

@throws Exception

Package org.exoplatform.services.cms.folksonomy.NewFolksonomyService;

Method Return Prototype Description
addPrivateTag void addPrivateTag(String tagsName, Node documentNode, String repository, String workspace, String userName) throws Exception ;

Add a private tag to a document. A folksonomy link will be created in a tag node

@param tagNames Array of tag name as the children of tree

@param documentNode Tagging this node by create a folksonomy link to node in tag

@param repository Repository name

@param workspace Workspace name

@param userName User name

@throws Exception

addGroupsTag void addGroupsTag(String tagsName, Node documentNode,String repository, String workspace, String roles) throws Exception ;

Add a group tag to a document. A folksonomy link will be created in a tag node

@param tagNames Array of tag name as the children of tree

@param documentNode Tagging this node by create a folksonomy link to node in tag

@param repository Repository name

@param workspace Workspace name

@param roles User roles

@throws Exception

addPublicTag void addPublicTag(String treePath, String tagsName, Node documentNode, String repository, String workspace) throws Exception ;

Add a public tag to a document. A folksonomy link will be created in a tag node

@param treePath Path of folksonomy tree

@param tagNames Array of tag name as the children of tree

@param documentNode Tagging this node by create a folksonomy link to node in tag

@param repository Repository name

@param workspace Workspace name

@throws Exception

addSiteTag void addSiteTag(String siteName, String tagsName, Node node, String repository, String workspace) throws Exception ;

Add a site tag to a document. A folksonomy link will be created in a tag node

@param siteName Portal name

@param treePath Path of folksonomy tree

@param tagNames Array of tag name as the children of tree

@param documentNode Tagging this node by create a folksonomy link to node in tag

@param repository Repository name

@param workspace Workspace name

@throws Exception

getAllPrivateTags List<Node> getAllPrivateTags(String userName, String repository, String workspace) throws Exception ;

Get all private tags

@param userName User name

@param repository repository name

@param workspace Workspace name

@return List<Node>

getAllPublicTags List<Node> getAllPublicTags(String treePath, String repository, String workspace) throws Exception ;

Get all public tags

@param treePath Folksonomy tree path

@param repository Repository name

@param workspace Workspace name

@return List<Node>

@throws Exception

getAllGroupTags List<Node> getAllGroupTags(String roles, String repository, String workspace) throws Exception ;

Get all tags by groups

@param roles Roles of user

@param repository Repository name

@param workspace Workspace name

@return List<Node>

@throws Exception

getAllGroupTags List<Node> getAllGroupTags(String role, String repository, String workspace) throws Exception ;

Get all tags by group

@param role Role of user

@param repository Repository name

@param workspace Workspace name

@return List<Node>

@throws Exception

getAllSiteTags List<Node> getAllSiteTags(String siteName, String repository, String workspace) throws Exception ;

Get all tags of Site

@param siteName Portal name

@param treePath Folksonomy tree path

@param repository Repository name

@param workspace Workspace name

@return List<Node>

@throws Exception

getAllDocumentsByTag List<Node> getAllDocumentsByTag(String tagPath, String repository, String workspace, SessionProvider sessionProvider) throws Exception ;

Get all document which storing in tag

@param treeName Name of folksonomy tree

@param tagName Name of tag

@param repository Repository name

@return List of documents in tag

@throws Exception

getTagStyle String getTagStyle(String tagPath, String repository, String workspace) throws Exception ;

Get HTMLSTYLEPROP property in styleName node in repository

@param tagPath Tag path

@param workspace Workspace name

@param repository Repository name

@return value of property of styleName node

@throws Exception

addTagStyle void addTagStyle(String styleName, String tagRange, String htmlStyle, String repository, String workspace) throws Exception ;

Update property TAGRATEPROP, HTMLSTYLEPROP following value tagRate, htmlStyle

for node in tagPath in repository

@param styleName Style name

@param tagRate The range of tag numbers

@param htmlStyle Tag style

@param repository Repository name

@param workspace Workspace name

@throws Exception

updateTagStyle void updateTagStyle(String styleName, String tagRange, String htmlStyle, String repository, String workspace) throws Exception ;

Update property TAGRATEPROP, HTMLSTYLEPROP following value tagRate, htmlStyle

for node in tagPath in repository

@param styleName Style name

@param tagRate The range of tag numbers

@param htmlStyle Tag style

@param repository Repository name

@param workspace Workspace name

@throws Exception

getAllTagStyle List<Node> getAllTagStyle(String repository, String workspace) throws Exception ;

Get all tag style base of folksonomy tree

@param repository Repository name

@param workspace Workspace name

@return List<Node> List tag styles

@throws Exception

init void init(String repository) throws Exception ;

Init all TagStylePlugin with session in repository name

@param repository repository name

removeTagOfDocument void removeTagOfDocument(String tagPath, Node document, String repository, String workspace) throws Exception;

Remove tag of given document

@param treeName Name of folksonomy tree

@param tagName Name of tag

@param document Document which added a link to tagName

@param repository Repository name

@return

@throws Exception

removeTag void removeTag(String tagPath, String repository, String workspace) throws Exception;

Remove tag

@param tagPath Path of tag

@param repository Repository name

@param workspace Workspace name

modifyTagName Node modifyTagName(String tagPath, String newTagName, String repository, String workspace) throws Exception;

Modify tag name

@param tagPath Path of tag

@param newTagName New tag name

@param repository Repository name

@param workspace Workspace name

@return

@throws Exception

getLinkedTagsOfDocument List<Node> getLinkedTagsOfDocument(Node documentNode, String repository, String workspace) throws Exception;

Get all tags linked to given document

@param documentNode Document node

@param repository Repository name

@param workspace Workspace name

@return

@throws Exception

getLinkedTagsOfDocumentByScope List<Node> getLinkedTagsOfDocumentByScope(int scope, String value, Node documentNode, String repository, String workspace) throws Exception;

Get all tags linked to given document by scope

@param documentNode Document node

@param repository Repository name

@param workspace Workspace name

@return

@throws Exception

removeTagsOfNodeRecursively void removeTagsOfNodeRecursively(Node node, String repository, String workspace, String username, String groups) throws Exception;

Remove all tags linked to children of given node

@param node

@param repository

@param workspace

@throws Exception

addTagPermission void addTagPermission(String usersOrGroups);

Add given users or groups to tagPermissionList

@param usersOrGroups

removeTagPermission void removeTagPermission(String usersOrGroups);

Remove given users or groups from tagPermissionList

@param usersOrGroups

getTagPermissionList List<String> getTagPermissionList(); Returns tagPermissionList
canEditTag boolean canEditTag(int scope, List<String> memberships);

Can edit tag or not?

@param scope Scope

@param memberships Memberships

@return true If it is possible

getAllTagNames List<String> getAllTagNames(String repository, String workspace, int scope, String value) throws Exception;

Get all tag names which start within given scope

@param repository Repository

@param workspace Workspace

@param scope scope of tags

@param value value, according to scope, can be understood differently

@return true If it is possible

This service is used to manage groovy script resources

Package org.exoplatform.services.cms.scripts.ScriptService;

Method Return Prototype Description
getECMScriptHome Node getECMScriptHome(String repository,SessionProvider provider) throws Exception

This method will get node for ECM Explorer Scripts by giving the following params

@param repository The name of repository

@param provider

@see Node

@see NodeHierarchyCreator

@see SessionProvider

@return Node

@throws Exception

getCBScriptHome Node getCBScriptHome(String repository,SessionProvider provider) throws Exception

This method will get node for Content Browser Scripts by giving the following params

@param repository The name of reporsitory

@param provider

@see Node

@see NodeHierarchyCreator

@see SessionProvider

@return Node

@throws Exception

getECMActionScripts List<Node> getECMActionScripts(String repository,SessionProvider provider) throws Exception

This method will get all node for ECM Action Scripts by giving the following params

@param repository The name of reporsitory

@param provider

@see Node

@see NodeHierarchyCreator

@see SessionProvider

@return Node

@throws Exception

getECMInterceptorScripts List<Node> getECMInterceptorScripts(String repository,SessionProvider provider) throws Exception

This method will get all node for ECM Interceptor Scripts by giving the following params

@param repository The name of reporsitory

@param provider

@see Node

@see NodeHierarchyCreator

@see SessionProvider

@return List<Node>

@throws Exception

getECMWidgetScripts List<Node> getECMWidgetScripts(String repository,SessionProvider provider) throws Exception

This method will get all node for ECM Widget Scripts by giving the following params

@param repository The name of reporsitory

@param provider

@see Node

@see NodeHierarchyCreator

@see SessionProvider

@return List<Node>

@throws Exception

getScript CmsScript getScript(String scriptPath, String repository) throws Exception

This method will get script by giving the following params

@param scriptPath The path of script

@param repository The name of repository

@see CmsScript

@return CmsScript

@throws Exception

getBaseScriptPath String getBaseScriptPath() throws Exception

This method will get base path of script

@see NodeHierarchyCreator

@return String@throws Exception

addScript void addScript(String name, String text, String repository,SessionProvider provider) throws Exception

This method will add script by giving the following params

@param name The name of script

@param text

@param repository The name of repository

@param provider

@see InputStream

@see Node

@see SessionProvider

@throws Exception

removeScript void removeScript(String scriptPath, String repository, SessionProvider provider) throws Exception

This method will remove script by giving the following params

@param scriptPath The path of script

@param repository The name of repository

@param provider

@see Node

@see SessionProvider

@throws Exception

getScriptNode Node getScriptNode(String scriptName, String repository,SessionProvider provider) throws Exception

This method will get script node by giving the following params

@param scriptName The name of script @param repository The name of repository

@param provider SessionProvider

@see Node

@see SessionProvider

@return Node

@throws Exception

initRepo void initRepo(String repository) throws Exception

This method will init repository by giving the following params

@param repository The name of repository

@see ManageableRepository

@see ObservationManager

@see Session

@throws Exception

This service is used to manage document relationship

Package org.exoplatform.services.cms.relations.RelationsService;

Method Return Prototype Description
hasRelations boolean hasRelations(Node node) throws Exception

Returns true is the given node has relation

@param node Specify the node wants to check relation

@see Node

@throws Exception

getRelations List<Node> getRelations(Node node, String repository, SessionProvider provider) throws Exception

Gets all node that has relation to the given node

@param node Specify the node wants to get all node relative to it

@param repository The name of repository

@param provider The SessionProvider object is used to managed Sessions

@see Node

@see SessionProvider

@throws Exception

removeRelation void removeRelation(Node node, String relationPath, String repository) throws Exception

Removes the relation to the given node by specified the relationPath params

@param node Specify the node wants to remove a relation

@param relationPath The path of relation

@param repository The name of repository

@see Node

@throws Exception

addRelation void addRelation(Node node, String relationPath, String workspaceName, String repository) throws Exception

Inserts a new relation is specified by relationPath params to the given node

@param node Specify the node wants to insert a new relation

@param relationPath The path of relation

@param workspaceName The name of workspace

@param repository The name of repository

@see Node

@throws Exception

init void init(String repository) throws Exception

Initial the root of relation node and its sub node

@param repository The name of repository

@throws Exception

RSSService is used for working with generate RSS. In this service there are some functions.

Method Return Prototype Desription
storeNode String generateFeed(Map context)

Create a Feed file (feed type is RSS or Podcast)

@param context: Map Consist of among information

@throws Exception: throws exception

This service is used to manage the vote feature in WCM

Package org.exoplatform.services.cms.voting.VotingService;

Method Return Prototype Description
vote void vote(Node document, double rate, String userName, String language) throws Exception

Voting the document is specified by the node by giving the rate, username, and language params. Any language belongs to this document can be voted. This method uses variables to store values which are voted from user for all kind languages of this document

@param document The node document for voting

@param rate The number rate for voting

@param userName The username of current user is voting.

@param language The language of this document for voting

@see Node

@throws Exception

getVoteTotal long getVoteTotal(Node node) throws Exception

Gets total voting for all kind languages of this document is specified by node

@param node The node document is specified to get total voting

@see Node

@return

@throws Exception

isVoted boolean isVoted(Node node, String userName, String language) throws Exception

Check the document is voted or not

@param node The document

@param userName The voted user

@param language the voted language

CommentsService is used for working with comment node. In this service there are some functions which allow you to add, edit, delete, get comment.

Package org.exoplatform.services.cms.comments.CommentsService;

Method Return Prototype Desription
addComment void addComment(Node document, String commentor, String email, String site, String comment, String language) throws Exception

Comment the document is specified by the node by giving the commentor, email, site, comment and language params

@param document: The node document is commented

@param commentor: The name of current user

@param email: The email of current user

@param site: The site of current user

@param comment: The comment's content

@param language: The language of this document is commented

@throws Exception: throws exception

updateComment void updateComment(Node commentNode, String newComment) throws Exception

Update comment for document: set new comment for node

@param commentNode: The node document is commented

@param newComment: The comment's content

@throws Exception: throws exception

deleteComment void deleteComment(Node commentNode) throws Exception

Delete comment of document by given comment node

@param commentNode: The node document is commented

@throws Exception: throws exception

getComments List<Node> getComments(Node document, String language)

Gets all comments from the specified node

@param commentNode: The node document is commented

@param language: The name of language

@throws Exception: throws exception

This service is used to manage the search feature in WCM back-end

Package org.exoplatform.services.cms.queries.QueryService;

Method Return Prototype Description
getRelativePath String getRelativePath() Get the relative path
getQueries List<Query> getQueries(String userName, String repository, SessionProvider provider) throws Exception

Get queries by giving the following params

@param userName String Can be <code>null</code>

@param repository String The name of repository

@param provider SessionProvider

@return queries List<Query>

@see Query

@see SessionProvider

@throws Exception

execute QueryResult execute(String queryPath, String workspace, String repository, SessionProvider provider, String userId) throws Exception

Execute query by giving the following params

@param queryPath String The path of query

@param workspace String The name of workspace

@param repository String The name of repository

@param provider SessionProvider

@param userId String The id of current user

@return queries QueryResult

@see QueryResult

@see SessionProvider

@throws Exception

addQuery void addQuery(String queryName, String statement, String language, String userName, String repository) throws Exception

Add new query by giving the following params

@param queryName String The name of query

@param statement String The statement query

@param language String The language is requested

@param userName String Can be <code>null</code>

@param repository String The name of repository

@throws Exception

removeQuery void removeQuery(String queryPath, String userName, String repository) throws Exception

Remove query by giving the following params

@param queryPath String The path of query

param userName String Can be <code>null</code>

@param repository String The name of repository

@throws Exception

addSharedQuery void addSharedQuery(String queryName, String statement, String language, String permissions, boolean cachedResult, String repository) throws Exception

Add new shared query by giving the following params

@param queryName String The name of query

@param statement String The statement query

@param language String The language is requested

@param permissions String

@param cachedResult boolean Choosen for caching results

@param repository String The name of repository

@throws Exception

addSharedQuery void addSharedQuery(String queryName, String statement, String language, String permissions, boolean cachedResult, String repository, SessionProvider provider) throws Exception

Add new shared query by giving the following params

@param queryName String The name of query

@param statement String The statement query

@param language String The language is requested

@param permissions String

@param cachedResult boolean Choosen for caching results

@param repository String The name of repository

@param provider Session provider

@throws Exception

getSharedQuery Node getSharedQuery(String queryName, String repository, SessionProvider provider) throws Exception

Get shared queries by giving the following params

@param userId String The id of current user

@param repository String The name of repository

@param provider SessionProvider

@return sharedQueries List<Node>

@see Node

@see SessionProvider

@throws Exception

removeSharedQuery void removeSharedQuery(String queryName, String repository) throws Exception

Remove share query by giving the following params

@param queryName String The name of query

@param repository String The name of repository

@throws Exception

getSharedQueries List<Node> getSharedQueries(String repository, SessionProvider provider) throws Exception

Get shared queries by giving the following params

@param repository String The name of repository

@param provider SessionProvider

@return sharedQueries List<Node>

@see Node

@see SessionProvider

@throws Exception

getQueryByPath Query getQueryByPath(String queryPath, String userName, String repository, SessionProvider provider) throws Exception

Get query with path by giving the following params

@param queryPath String The path of query

@param userName String The name of current user

@param repository String The name of repository

@param provider SessionProvider

@return query Query

@see Node

@see Query

@see SessionProvider

@throws Exception

getSharedQueries List<Node> getSharedQueries(String userId, String repository, SessionProvider provider) throws Exception

Get shared queries by giving the following params

@param userId String The id of current user

@param repository String The name of repository

@param provider SessionProvider

@return sharedQueries List<Node>

@see Node

@see SessionProvider

@throws Exception

getSharedQueries List<Node> getSharedQueries(String queryType, String userId, String repository, SessionProvider provider) throws Exception

Get shared queries by giving the following params

@param queryType String The type of query

@param userId String The id of current user

@param repository String The name of repository

@param provider SessionProvider

@return sharedQueries List<Node>

@see Node

@see SessionProvider

@throws Exception

init void init(String repository) throws Exception

Init all query plugin by giving the following params

@param repository String The name of repository

@see QueryPlugin

@throws Exception

This service is used to manage the page's metadata.

Package org.exoplatform.services.wcm.metadata.PageMetaDataService;

Method Return Prototype Description
extractMetadata HashMap extractMetadata(Node node) throws Exception

Extract metadata information from node.

@param node the node

@return the hash map< string, string>

@throws Exception the exception

getPortalMetadata HashMap getPortalMetadata(SessionProvider sessionProvider, String uri) throws Exception

Retrieves the portal metadata information for each request uri.

@param uri the uri

@param sessionProvider the session provider

@return the portal metadata

@throws Exception the exception

ManageViewService is used for working with views. In this service there are many functions which allow you to add, edit, delete, get views.

Method Return Prototype Desription
addView void addView(String name, String permissions, String template, List<?> tabs, String repository)throws Exception

Inserts a new view by giving the following params

@param name: The name of view

@param permissions: who can access the view

@param template: The name of template

@param tabs: list of tabs

@param repository: The name of repository

@throws Exception: throws exception

getViewByName Node getViewByName(String viewName, String repository, SessionProvider provider) throws Exception

Return specify view depend on Name by giving the following params

@param viewName: The name of view

@param repository: The name of repository

@param provider: The SessionProvider object is used to managed Sessions

@throws Exception: throws exception

getButtons List<?> getButtons() throws Exception

Return all string of buttons

@throws Exception: throws exception

removeView void removeView(String viewName, String repository) throws Exception

Removes the view by giving the following params

@param viewName: The name of view

@param repository: The name of repository

@throws Exception: throws exception

getAllViews List<ViewConfig> getAllViews(String repository) throws Exception

Return all views of the repository is configed in XML file by giving the following params

@param repository: The name of repository

@throws Exception: throws exception

hasView boolean hasView(String name, String repository) throws Exception

Returns true is the given repository has view by giving the following params

@param name: The name of view

@param repository: The name of repository

@throws Exception: throws exception

getTemplateHome Node getTemplateHome(String homeAlias, String repository, SessionProvider provider) throws Exception

Get teamplate Node that has path by giving the following params

@param homeAlias

@param repository: The name of repository

@param provider: The SessionProvider object is used to managed Sessions

@throws Exception: throws exception

getAllTemplates List<Node> getAllTemplates(String homeAlias, String repository,SessionProvider provider) throws Exception

Gets all node that has template path to the given node

@param homeAlias: Alias of template home

@param repository: The name of repository

@param provider: The SessionProvider object is used to managed Sessions

@throws Exception: throws exception

getTemplate Node getTemplate(String path, String repository,SessionProvider provider) throws Exception

Return node that has path of the repository

@param path: The path of template

@param repository: The name of repository

@param provider: SessionProvider

@throws Exception: throws exception

addTemplate String addTemplate(String name, String content, String homePath, String repository)throws Exception

Inserts a new template for node by specified path

@param name: The name of new template

@param content: The property of template

@param homePath: The path of specified node

@param repository: The name of repository

@throws Exception: throws exception

removeTemplate void removeTemplate(String templatePath, String repository) throws Exception

Removes the template to the given node by specified the templatePath params

@param templatePath: The path of template

@param repository: The name of repository

@throws Exception: throws exception

addTab void addTab(Node view, String name, String buttons) throws Exception

Insert new tab to the givin view node by specified the following params

@param view: Specify the node wants to add a tab

@param name: The name of tab

@param buttons: The buttons of tab

@throws Exception: throws exception

init void init(String repository) throws Exception

Get all template that is configed in XML file of specified repository

@param repository: The name of repository

@throws Exception: throws exception

This class is is used to manage dynamic groovy templates for ecm-based products.

Package org.exoplatform.services.cms.views.ApplicationTemplateManager;

Method Return Prototype Description
addPlugin void

addPlugin(PortletTemplatePlugin portletTemplatePlugin)

throws Exception ;

Adds the plugin.

portletTemplatePlugin the portlet template plugin

getAllManagedPortletName List<String>

getAllManagedPortletName(String repository)

throws Exception ;

Retrieves the all portlet names that have dynamic groovy templates are managed by service.

repository the repository

@throws Exception the exception

getTemplatesByApplication List<Node>

getTemplatesByApplication(String repository, String portletName, SessionProvider provider)

throws Exception ;

Retrieves the templates node by application.

@param repository the repository

@param portletName the portlet name

@param provider the provider

@return the templates by application

@throws Exception the exception

getTemplatesByCategory List<Node>

getTemplatesByCategory(String repository, String portletName, String category, SessionProvider sessionProvider)

throws Exception;

Retrieves the templates node by category.

@param repository the repository

@param portletName the portlet name

@param category the category

@param sessionProvider the session provider

@return the templates by category

@throws Exception the exception

getTemplateByName Node

getTemplateByName(String repository, String portletName, String category, String templateName, SessionProvider sessionProvider)

throws Exception;

Retrieves the template by name

@param repository the repository

@param portletName the portlet name

@param category the category

@param templateName the template name

@param sessionProvider the session provider

@return the template by name

@throws Exception the exception

getTemplateByPath Node

getTemplateByPath(String repository, String templatePath, SessionProvider sessionProvider)

throws Exception ;

Gets the template by path.

@param repository the repository

@param templatePath the template path

@param sessionProvider the session provider

@return the template by path

@throws Exception the exception

addTemplate void

addTemplate(Node portletTemplateHome, PortletTemplateConfig config)

throws Exception ;

Adds the template.

@param portletTemplateHome the portlet template home

@param config the config

@throws Exception the exception

removeTemplate void

removeTemplate(String repository, String portletName, String catgory, String templateName, SessionProvider sessionProvider)

throws Exception ;

Removes the template.

@param repository the repository

@param portletName the portlet name

@param catgory the catgory

@param templateName the template name

@param sessionProvider the session provider

@throws Exception the exception

NodeFinder is used to find node with given path. If path to node contains sub-paths to exo:symlink nodes then find real link node.

Method Return Prototype Desription
getNode Node getNode(Node ancestorNode, String relativePath) throws PathNotFoundException, RepositoryException;

Returns the node at relPath relative to ancestor node.

@param ancestorNode: The ancestor of the node to retrieve from which we start.

@param relativePath: The relative path of the node to retrieve.

@throws PathNotFoundException If no node exists at the specified path.

@throws RepositoryException if another error occurs.

getNode Node getNode(Node ancestorNode, String relativePath, boolean giveTarget) throws PathNotFoundException, RepositoryException;

Returns the node at relPath relative to ancestor node. If the node is a link and giveTarget has been set to <code>true</code>, the target node will be returned

@param ancestorNode: The ancestor of the node to retrieve from which we start.

@param relativePath: The relative path of the node to retrieve.

@param giveTarget: Indicates if the target must be returned in case the item is a link

@throws PathNotFoundException If no node exists at the specified path.

@throws RepositoryException if another error occurs.

getItem Item getItem(String repository, String workspace, String absPath) throws PathNotFoundException, RepositoryException;

Returns the item at the specified absolute path.

@param repository: The name of repository

@param workspace: The name of workspace

@param absPath: An absolute path.

@throws PathNotFoundException if the specified path cannot be found.

@throws RepositoryException if another error occurs.

getItemSys Item

getItemSys(String repository, String workspace, String absPath, boolean system) throws PathNotFoundException

, RepositoryException;

Returns the item at the specified absolute path.

@param repository: The name of repository

@param workspace: The name of workspace

@param absPath: An absolute path.

@throws PathNotFoundException if the specified path cannot be found.

@throws RepositoryException if another error occurs.

getItem Item

getItem(String repository, String workspace, String : absPath, boolean giveTarget) throws PathNotFoundException,

RepositoryException;

Returns the item at the specified absolute path. If the item is a link and giveTarget has been set to <code>true</code>, the target node will be returned

@param repository: The name of repository

@param workspace: The name of workspace

@param absPath: An absolute path.

@param giveTarget: Indicates if the target must be returned in case the item is a link

@throws PathNotFoundException if the specified path cannot be found.

@throws RepositoryException if another error occurs.

getItemGiveTargetSys Item

getItemGiveTargetSys(String

repository, String workspace, String absPath, boolean giveTarget, boolean system) throws PathNotFoundException, RepositoryException;

Returns the item at the specified absolute path. If the item is a link and giveTarget has been set to <code>true</code>, the target node will be returned

@param repository: The name of repository

@param workspace: The name of workspace

@param absPath: An absolute path.

@param giveTarget: Indicates if the target must be returned in case the item is a link

@param system: system provider

@throws PathNotFoundException if the specified path cannot be found.

@throws RepositoryException if another error occurs.

getItem Item getItem(Session session, String absPath) throws PathNotFoundException, RepositoryException;

Returns the item at the specified absolute path.

@param session: The session to u

se in order to get the item

@param absPath: An absolute path.

@throws PathNotFoundException if the specified path cannot be found.

@throws RepositoryException if another error occurs.

getItem Item getItem(Session session, String absPath, boolean giveTarget) throws PathNotFoundException, RepositoryException;

Returns the item at the specified absolute path. If the item is a link and giveTarget has been set to <code>true</code>, the target node will be returned

@param session: The session to use in order to get the item

@param absPath: An absolute path.

@param giveTarget: Indicates if the target must be returned in case the item is a link

@throws PathNotFoundException if the specified path cannot be found.

@throws RepositoryException if another error occurs.

getItemTarget Item getItemTarget(Session session, String absPath, boolean giveTarget, boolean system) throws PathNotFoundException, RepositoryException;

Returns the item at the specified absolute path. If the item is a link and giveTarget has been set to <code>true</code>, the target node will be returned

@param session: The session to use in order to get the item

@param absPath: An absolute path.

@param giveTarget: Indicates if the target must be returned in case the item is a link

@param system: system provider

@throws PathNotFoundException if the specified path cannot be found.

@throws RepositoryException if another error occurs.

itemExists boolean itemExists(Session session, String absPath) throws RepositoryException;

Returns <code>true</code> if an item exists at absPath; otherwise returns <code>false</code>

Also returns <code>false</code> if the specified absPath is malformed.

@param session: The session to use in order to get the item

@param absPath: An absolute path.

@return <code>true</code> if an item exists at absPath; otherwise returns <code>false</code>.

@throws RepositoryException if an error occurs.

DMSConfiguration is used to manage dms-workspace in repository

Package org.exoplatform.services.cms.impl.DmsConfiguration;

Method Return Prototype Desription
getConfig DMSRepositoryConfiguration getConfig(String repository)

Get DMS configuration with specific repository.

@param repository: repository name.

@return: DMSRepositoryConfiguration

addPlugin void addPlugin(ComponentPlugin plugin)

This method will add more plugin.

@param plugin: plugin name

initNewRepo void initNewRepo(String repository, DMSRepositoryConfiguration plugin)

This method will create new repository

@param repository: repository name

@param plugin: plugin name

DocumentTypeService get all documents by mime types.

Method Return Prototype Desription
getAllSupportedType List<String> getAllSupportedType();

Get all supported document type

@return List<String>

getAllDocumentsByDocumentType List<Node> getAllDocumentsByDocumentType(String documentType, String workspace, String repository, SessionProvider sessionProvider) throws Exception;

Get all documents by kind of document type

@param documentType Kind of document(Images, Video)

@param workspace The name of workspace will be used to get documents

@param repository The name of repository will be used to get documents

@param sessionProvider

@param mimeType The mime type of node(For example image/jpg)

@return List<Node> all documents by kind of document type

@throws Exception

getAllDocumentsByType List<Node> getAllDocumentsByType(String workspace, String repository, SessionProvider sessionProvider, String mimeType) throws Exception;

Get all document by mimetype

@param workspace The name of workspace will be used to get documents

@param repository The name of repository will be used to get documents

@param sessionProvider

@param mimeType The mime type of node(For example image/jpg)

@return List<Node> all documents by mime type

@throws Exception

getAllDocumentsByUser List<Node> getAllDocumentsByUser(String workspace, String repository, SessionProvider sessionProvider, String// mimeTypes, String userName) throws Exception;

Get all document type by user

@param workspace The name of workspace will be used to get documents

@param repository The name of repository will be used to get documents

@param sessionProvider

@param mimeTypes The array of mimetype(For example image/jpg, image/png)

@param userName The name of current use

@return List<Node> all documents by mime type

@throws Exception

isContentsType boolean isContentsType(String documentType);

Check the document is content type or not

@param documentType

@return

getAllDocumentByContentsType List<Node> ggetAllDocumentByContentsType(String documentType, String workspace, String repository, SessionProvider sessionProvider, String userName) throws Exception;

Get all contents type document

@param documentType Contents type

@param workspace The name of workspace will be used to get documents

@param repository The name of repository will be used to get documents

@param sessionProvider

@return List<Node> all contents type document

@param userName

@return

@throws Exception

getMimeTypes String// getMimeTypes(String documentType);

Get mime types by document type

@param documentType

@return array of string

FavoriteService this service used to manage all favorited content adding by user.

Method Return Prototype Desription
addFavorite void addFavorite(Node node, String userName) throws Exception;

Add favorite to node

@param node Add favorite to this node

@param userName The user added favorite

@throws Exception The exception will be raised if the node can not add mixin

removeFavorite void removeFavorite(Node node, String userName) throws Exception;

Remove favorite from node

@param node Remove favourite out of this node

@param userName Remove the name of current user out of property exo:favouriter

@throws Exception

getAllFavoriteNodesByUser List<Node> getAllFavoriteNodesByUser(String workspace, String repository, String userName) throws Exception;

Get all favourite nodes by user

@param workspace Get all favorite nodes from this workspace

@param repository Get all favorite nodes from this repository

@param sessionProvider The session provider which will be used to get session

@param userName User added favorite to the node

@return List<Node> All favorite node added by user

@throws Exception

isFavoriter boolean isFavoriter(String userName, Node node) throws Exception ;

Check if user is in favourite list of node

@param node Node to check

@param userName The user to check

TrashService this service used to move documents to trash foder or restore.

Method Return Prototype Desription
moveToTrash void moveToTrash(Node node, String trashPath, String trashWorkspace, String repository, SessionProvider sessionProvider) throws Exception;

Move node to trash location

@param node Node will be moved to trash

@param trashPath The trash node path

@param trashWorkspace The trash workspace

@param repository The repository name

@param sessionProvider User session provider which will be used to get session

@throws Exception

restoreFromTrash void restoreFromTrash(Node trashHomeNode, String trashNodePath, String repository, SessionProvider sessionProvider) throws Exception;

Restore node from trash

@param trashHomeNode trash home node

@param restorePath Restore path which will be used to restore

@param restoreWorkspace The workspace name of node which moved to trash

@param repository The repository name

@param sessionProvider User session provider which will be used to get session

@throws Exception

getAllNodeInTrash List<Node> getAllNodeInTrash(String trashWorkspace, String repository, SessionProvider sessionProvider) throws Exception;

Get all nodes in trash location

@param trashWorkspace

@param repository

@param sessionProvider

@return List<Node> All nodes in trash

@throws Exception

getAllNodeInTrashByUser List<Node> getAllNodeInTrashByUser(String trashWorkspace, String repository, SessionProvider sessionProvider, String userName) throws Exception;

Get all nodes by user in trash location

@param trashWorkspace

@param repository

@param sessionProvider

@param userName

@return List<Node> all node in trash which moved by user

@throws Exception

removeRelations List<Node> removeRelations(Node node, SessionProvider sessionProvider, String repository) throws Exception;

Removes all relationable property of nodes that have relation to this node

@param node

@param sessionProvider

@param repository

@return remaining nodes in trash

@throws Exception

TimelineService is used to get all documents by time frame

Method Return Prototype Desription
getDocumentsOfToday List<Node>

getDocumentsOfToday(String nodePath, String repository, String workspace, SessionProvider sessionProvider,

String userName, boolean byUser) throws Exception;

Get all documents of Today

@param nodePath Path of current node

@param repository Repository name

@param workspace Workspace name

@param sessionProvider SessionProvider

@param userName Logged in user

@param byUser show documents by current user or by all users

@return List<Node>

getDocumentsOfYesterday List<Node> getDocumentsOfYesterday(String nodePath, String repository, String workspace, SessionProvider sessionProvider, String userName, boolean byUser) throws Exception

Get all documents of Yes

terday

@param nodePath Path of current node

@param repository Repository name

@param workspace Workspace name

@param sessionProvider SessionProvider

@param userName Logged in user

@param byUser show documents by current user or by all users

@return List<Node>

getDocumentsOfEarlierThisWeek List<Node>

getDocumentsOfEarlierThisWeek(String nodePath, String repository, String workspace, SessionProvider sessionProvider, String userName, boolean byUser) throws Excep

tion;

Get all documents earlier this week

@param nodePath Path of current node

@param repository Repository name

@param workspace Workspace name

@param sessionProvider SessionProvider

@param userName Logged in user

@param byUser show documents by current user or by all users

@return List<Node>

getDocumentsOfEarlierThisMonth List<Node>

getDocumentsOfEar

lierThisMonth(String nodePath, String repository, String workspace, SessionProvider sessionProvider, String userName, boolean byUser) throws Exception;

Get all documents earlier this month

@param nodePath Path of current node

@param repository Repository name

@param workspace Workspace name

@param sessionProvider SessionProvider

@param userName Logged in user

@param byUser show documents by current user or by all users

@return List<Node>

getDocumentsOfEarlierThisYear List<Node> getDocumentsOfEarlierThisYear(String nodePath, String repository, String workspace, SessionProvider sessionProvider, String userName, boolean byUser) throws Exception;

Get all documents earlier this year

@param nodePath Path of current node

@param repository Repository name

@param workspace Workspace name

@param sessionProvider SessionProvider

@param userName Logged in user

@param byUser show documents by current user or by all users

@return List<Node>

LockService this service used to manage lock services which enable the user to lock, unlock, assign.

Method Return Prototype Desription
getPreSettingLockList List<String> getPreSettingLockList() throws Exception;

Get predefined locked list

@throws Exception

getAllGroupsOrUsersForLock List<String> getAllGroupsOrUsersForLock() throws Exception;

This method will get collection of groups or users which are under locked status

@return List of group or user

@throws Exception

addGroupsOrUsersForLock void addGroupsOrUsersForLock(String groupsOrUsers) throws Exception;

Add group or user to lock priviledge list

@param

groupsOrUsers

Name of group or use

@throws Exception

removeGroupsOrUsersForLock void removeGroupsOrUsersForLock(String groupsOrUsers) throws Exception;

Method allow to remove a group or user from priviledge list

@param

groupsOrUsers

Name of groups or users

@throws Exception

JodConverter allow to converts documents between different office formats

Package org.exoplatform.services.cms.jodconverter.JodConverterService;

Method Return Prototype Desription
convert void convert(InputStream input, String formatInput, OutputStream out, String formatOutput) throws Exception;

Convert InputStream in with formatInput format to OutputStream out with formatOutput

@param input

@param formatInput

@param out

@param formatOutput

@throws Exception

WatchDocumentService this service used to move documents to trash foder or restore.

Method Return Prototype Desription
watchDocument void watchDocument(Node documentNode, String userName, int notifyType) throws Exception;

Watching the document that is specified by the node by giving a userName, notifyType

If the document is watching, all thing that changes to it's property will be notified

to user specified by the userName

@param documentNode Specify the document for watching

@param userName he username of current user is votting. It can't be <code>null<code>

@param notifyType Type of notification. Its can be 0, 1 or 2

0 Notification by email

1 Notification by rss

2 Full notification

@see Node

@throws Exception

getNotificationType int getNotificationType(Node documentNode, String userName) throws Exception;

This method will gets the type of notification for the specify document

If that document is not a exo watchable document, the value return is -1

If notification is notified by email, the value return is 1

If notification is notified by rss, the value return is 2

If notification is notified by rss and email, the value return is 0

@param documentNode Specify the document for watching

@param userName The username of current user is votting. It can't be <code>null<code>

@see Node

@return 0, 1, 2 or -1

@throws Exception

unwatchDocument void unwatchDocument(Node documentNode, String userName, int notifyType) throws Exception;

Watching the document that is specified by the node by giving a userName, notifyType

If the document is watching, all thing that changes to it's property will be notified

to user specified by the userName

@param documentNode Specify the document for watching

@param userName he username of current user is votting. It can't be <code>null<code>

@param notifyType Type of notification. Its can be 0, 1 or 2

0 Notification by email

1 Notification by rss

2 Full notification

@see Node

@throws Exception

MetadataService is used to process with meta data for system

Method Return Prototype Desription
getMetadataList List<String> getMetadataList(String repository) throws Exception;

Get all NodeType in repository with NodeType=exo:metadata

@param repository: repository name

@return: ArrayList of NodeType

getAllMetadatasNodeType List<NodeType> getAllMetadatasNodeType(String repository) throws Exception ;

Get all NodeType in repository with NodeType = exo:metadata

@param repository: repository name

@return: ArrayList of NodeType

addMetadata String addMetadata(String nodetype, boolean isDialog, String role, String content, boolean isAddNew, String repository) throws Exception;

Add new nodetype and set property EXOROLESPROP, EXOTEMPLATEFILEPROP for dialog template node or view template node if node doesn't exist. Set property EXOROLESPROP, EXOTEMPLATEFILEPROP for dialog template node or view template node if node exists

@param nodetype: Node name for processing

@param isDialog: true for dialog template

@param role: permission

param content: content of template

@param isAddNew: false if nodetype exist in repository, true if not

@param repository: repository name

@return path to node if node exist, otherwise return null

@throws Exception

removeMetadata void removeMetadata(String nodetype, String repository) throws Exception;

Remove node named nodetype below baseMetadataPath

@param nodetype: name of node

@param repository: repository name

getExternalMetadataType List<String> getExternalMetadataType(String repository) throws Exception;

Get all NodeType name that contains property that is not autocreated and name of NodeType differs from exo:metadata

@param repository: repository name

@return: ArrayList of metadata type

getMetadataTemplate String getMetadataTemplate(String name, boolean isDialog, String repository) throws Exception;

Get content of dial

og template node or view template in repository

@param name: Node name

@param isDialog: true: Get dialog template content

false: Get view template content

@param repository: repository name

@return: content of template

getMetadataPath String getMetadataPath(String name, boolean isDialog, String repository) throws Exception;

Get path to dialog template or view tempate node

@param name: Node name

@param isDialog: true: Get dialog template content

false: Get view template content

@param repository: repository name

@return: path to template node

getMetadataRoles String getMetadataRoles(String name, boolean isDialog, String repository) throws Exception;

Get permission of template node

@param name: Node name

@param isDialog: true: Get dialog template content

false: Get view template content

@param repository: repository name

@return: String of permission

hasMetadata boolean hasMetadata(String name, String repository) throws Exception;

Check node with given name exists or not below baseMetadataPath path in repositorys

@param name: Node name

@param repository: repository name

@return true : Exist this node name<br>

false: Not exist this node name

init void init(String repository) throws Exception;

Call all available in list of TemplatePlugin to add some predefine template to repository

@repository: repository name

@throws Exception

CompressData is used to compress data file

Package org.exoplatform.services.cms.compress.CompressData;

Method Return Prototype Desription
getBase String getBase()
addFile void addFile(String entryName, File file)
addDir void addDir(File srcDir)
addInputStream void addInputStream(String entryName, InputStream is) throws Exception
createZipFile void createZipFile(String fileName) throws Exception
createZip void createZip(OutputStream os) throws Exception
createJarFile void createJarFile(String fileName) throws Exception
createJar void createJar(OutputStream os) throws Exception
cleanDataInstance void cleanDataInstance()