{ } }
Tree PREV CLASS NEXT CLASS FRAMES NO FRAMES SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD com.ibm.workplace.wcm.api
Interface WcmProjectService
- All Known Implementing Classes:
- ProjectService
public interface WcmProjectService
WcmProjectService enables access to the WCM API through Portal services.
Here is an example of how to retrieve the WcmProjectService:
try { // Construct and inital Context InitialContext ctx = new InitialContext(); // Retrieve WcmProjectService using JNDI name WcmProjectService service = (WcmProjectService) ctx.lookup("portal:service/wcm/WcmProjectService"); } catch (NamingException ne) { System.out.print("Naming Exception: " + ne); }
- Since:
- 8.5
Field Summary static java.lang.String JNDI_NAME
JNDI name of this service
Method Summary Document addItemToProject(Workspace workspace, Project project, WorkflowedDocument workflowedDocument)
Add a Document into the given Project.void cancelDeletion(Workspace workspace, Project project, Document document)
Clear deletion marking from a Document on a ProjectProject createProject(Workspace workspace)
Create a new Project object.Project createProject(Workspace workspace, DocumentId projectTemplateDocumentId)
Create a Project using the specified ProjectTemplate.ProjectTemplate createProjectTemplate(Workspace workspace)
Creates a new ProjectTemplate.ProjectTemplate createProjectTemplate(Workspace workspace, Project project)
Creates a new ProjectTemplate taking the basic settings and properties of the supplied Project.void deleteProject(Workspace workspace, Project project)
Delete Project object from WCM repository.ResultIterator<Project> findProjectsByName(Workspace workspace, java.lang.String name)
Obtain existing Project(s) from WCM repository by their name.ResultIterator<Project> findProjectsByState(Workspace workspace, ProjectStateSelectors.State projectState)
Obtain a Project from WCM repository with its project state.ResultIterator<Project> findProjectsByTitle(Workspace workspace, java.lang.String title)
Obtain existing Project(s) from WCM repository by their title.Project getProjectById(Workspace workspace, DocumentId projectDocumentId)
Obtain a Project from WCM repository by its DocumentIdvoid markItemForDeletion(Workspace workspace, Project project, Document document)
Set a Document into deleted state.LocalizedMessageContainer markItemForDeletion(Workspace workspace, Project project, Document document, boolean checkExternalReferences)
Set a Document into deleted state.void removeItemFromProject(Workspace workspace, Project project, Document document)
Remove a Document from Projectvoid saveProject(Workspace workspace, Project project)
Add or update a Project in the WCM repository.
Field Detail JNDI_NAME
static final java.lang.String JNDI_NAME
- JNDI name of this service
- See Also:
- Constant Field Values
Method Detail createProjectTemplate
ProjectTemplate createProjectTemplate(Workspace workspace) throws DocumentCreationException, AuthorizationException
- Creates a new ProjectTemplate.
A typical usage of this method is as follows:
Workspace workspace = WCM_API.getRepository().getWorkspace(username, password); InitialContext ctx = new InitialContext(); Workspace workspace = (WcmProjectService) ctx.lookup("portal:service/wcm/WcmProjectService"); ProjectTemplate projectTemplate = projectService.createProjectTemplate(workspace); projectTemplate.setName(name); ProjectPrototype prototype = projectTemplate.getPrototype(); prototype.setPublishOptions(PublishOptions.MANUAL); prototype.setApprovalMode(ApprovalMode.REQUIRE_ALL_APPROVALS); prototype.setCommentMode(CommentMode.ENABLED); prototype.setWorkflowActionsForState(State.REVIEW, actionIds); prototype.setWorkflowActionsForState(State.REJECTED, actionIds); workspace.save(projectTemplate);
- Parameters:
- workspace - workspace
- Returns:
- the new ProjectTemplate object.
- Throws:
- DocumentCreationException - if the object cannot be created.
- AuthorizationException - if the user does not have minimum Editor access.
- Since:
- 8.0
createProjectTemplate
ProjectTemplate createProjectTemplate(Workspace workspace, Project project) throws DocumentCreationException, AuthorizationException
- Creates a new ProjectTemplate taking the basic settings and properties of the supplied Project. The publish settings, approval and action properties of the Project will be copied over to the new ProjectTemplate.
- Parameters:
- workspace - workspace
- project - The project to base the new template off.
- Returns:
- the new ProjectTemplate object.
- Throws:
- DocumentCreationException - if the object cannot be created.
- AuthorizationException - if the user does not have minimum Editor access.
- Since:
- 8.5
createProject
Project createProject(Workspace workspace) throws AuthorizationException, DocumentCreationException
- Create a new Project object. The default project template attributes will be used.
- Parameters:
- workspace - workspace
- Returns:
- Created Project
- Throws:
- AuthorizationException - if the current user does not have permission
- DocumentCreationException - if the item could not be created
- Since:
- 7.0
createProject
Project createProject(Workspace workspace, DocumentId projectTemplateDocumentId) throws DocumentCreationException, AuthorizationException
- Create a Project using the specified ProjectTemplate. The created Project will inherit all attributes defined on the ProjectPrototype of the given ProjectTemplate.
- Parameters:
- workspace - workspace
- projectTemplateDocumentId - the document id of a ProjectTemplate.
- Returns:
- a Project instance created from the given ProjectTemplate.
- Throws:
- java.lang.IllegalArgumentException - if the given id is null or is not a ProjectTemplate
- DocumentCreationException - if the project can not be created or the specified ProjectTemplatedoes not exist.
- AuthorizationException - if the current user does not have sufficient access.
- Since:
- 8.0
saveProject
void saveProject(Workspace workspace, Project project) throws AuthorizationException, DuplicateChildException, DocumentSaveException, ProjectException
- Add or update a Project in the WCM repository.
- Parameters:
- workspace - workspace
- project - Project object to save
- Throws:
- AuthorizationException - if the current user does not have permission
- DuplicateChildException - if another item with the same name already exists
- DocumentSaveException - if an error occurs while saving the item
- ProjectException - if an internal error occurs
- Since:
- 7.0
deleteProject
void deleteProject(Workspace workspace, Project project) throws AuthorizationException, DocumentNotFoundException, DocumentDeleteException, DocumentDeleteReferentialIntegrityException, ProjectException
- Delete Project object from WCM repository.
- Parameters:
- workspace - workspace
- project - Project to delete
- Throws:
- AuthorizationException - if the current user does not have permission
- DocumentNotFoundException - if the item could not be found
- DocumentDeleteException - if the item could not be deleted
- DocumentDeleteReferentialIntegrityException - if the item cannot be deleted because another item refers to it
- ProjectException - if an internal error occurs
- Since:
- 7.0
addItemToProject
Document addItemToProject(Workspace workspace, Project project, WorkflowedDocument workflowedDocument) throws AuthorizationException, IllegalDocumentTypeException, DocumentIsLockedException, MaximumProjectItemsReachedException, ProjectException
- Add a Document into the given Project.
If a new and unsaved Item is passed to this method then the add to Project will only committed after a Workspace.save() is called on the Item.
- Parameters:
- workspace - workspace
- project - Project to which the Document is added.
- workflowedDocument - WorkflowedDocument to add to Project
- Returns:
- Document actually added into the Project
- Throws:
- AuthorizationException - if the current user does not have permission
- IllegalDocumentTypeException - if the document of this type cannot be added to a project
- DocumentIsLockedException - the item is locked by another user and cannot be added to a project by this user
- MaximumProjectItemsReachedException - if no more items can be added to the project
- ProjectException - if an internal error has occurred
- FirstStageContainsPublishActionException - if the workflowed document has a workflow with the first stage having a published action
- java.lang.IllegalArgumentException - if the specified WorkflowedDocument or Project is null
- Since:
- 7.0
removeItemFromProject
void removeItemFromProject(Workspace workspace, Project project, Document document) throws AuthorizationException, DocumentIsLockedException, ProjectException
- Remove a Document from Project
- Parameters:
- workspace - workspace
- project - Project from which the Document is removed.
- document - Document to be removed from Project.
- Throws:
- AuthorizationException - if the current user does not have permission
- DocumentIsLockedException - the item is locked by another user and cannot be removed from a project by this user
- ProjectException - if an internal error has occurred
- java.lang.IllegalArgumentException - if the specified Document or Project is null
- Since:
- 7.0
markItemForDeletion
void markItemForDeletion(Workspace workspace, Project project, Document document) throws AuthorizationException, DocumentNotFoundException, DocumentRetrievalException, DocumentDeleteException, DocumentDeleteReferentialIntegrityException, ProjectException
- Set a Document into deleted state.
The item may fail to be marked for deletion if it fails the to meet the following requirements:Also note that even if the item is marked for deletion it may still fail to delete successfully with project publish if new references are introduced to the publish item.
- Project Type: The item cannot be a project
- Draft Item: the item should be a draft
- In Project: the item should belong to a project
- Pending item: the item cannot be pending published
- Multiple Draft: the published item should have only one draft
- References to the Mark for Deletion item in the project: all these references should be marked for deletion as well
- References to the Published Item of the draft (if it has one): make sure these references do not exist
- Hierarchical Items: if the item is hierarchical then it should not have children
- Parameters:
- workspace - workspace
- project - Project in which a item resides in.
- document - Document to be marked as deleted.
- Throws:
- AuthorizationException - if the current user does not have permission
- DocumentNotFoundException - if the item could not be found
- DocumentRetrievalException - if an error occurs while locating the item
- DocumentDeleteException - if the item could not be deleted
- DocumentDeleteReferentialIntegrityException - if the item cannot be deleted because another item refers to it
- ProjectException - if an internal error occurs
- Since:
- 7.0
markItemForDeletion
LocalizedMessageContainer markItemForDeletion(Workspace workspace, Project project, Document document, boolean checkExternalReferences) throws AuthorizationException, DocumentNotFoundException, DocumentRetrievalException, DocumentDeleteException, DocumentDeleteReferentialIntegrityException, ProjectException
- Set a Document into deleted state.
The item may fail to be marked for deletion if it fails the to meet the following requirements:Also note that even if the item is marked for deletion it may still fail to delete successfully with project publish if new references are introduced to the publish item.
- Project Type: The item cannot be a project
- Draft Item: the item should be a draft
- In Project: the item should belong to a project
- Pending item: the item cannot be pending published
- Multiple Draft: the published item should have only one draft
- References to the Mark for Deletion item in the project: all these references should be marked for deletion as well
- References to the Published Item of the draft (if it has one): make sure these references do not exist
- Hierarchical Items: if the item is hierarchical then it should not have children
- Parameters:
- workspace - workspace
- project - Project in which a item resides in.
- document - Document to be marked as deleted.
- checkExternalReferences - indicates whether to check for invalid references external to the project
- Returns:
- a localized message container that contains warning messages as a result of the project external check references parameter
- Throws:
- AuthorizationException - if the current user does not have permission
- DocumentNotFoundException - if the item could not be found
- DocumentRetrievalException - if an error occurs while locating the item
- DocumentDeleteException - if the item could not be deleted
- DocumentDeleteReferentialIntegrityException - if the item cannot be deleted because another item refers to it
- ProjectException - if an internal error occurs
- Since:
- 8.5
cancelDeletion
void cancelDeletion(Workspace workspace, Project project, Document document) throws AuthorizationException, ProjectException
- Clear deletion marking from a Document on a Project
- Parameters:
- workspace - workspace
- project - Project in which a item resides in.
- document - Document to be cancelled from deletion marking.
- Throws:
- AuthorizationException - if the current user does not have permission
- ProjectException - if an internal error has occurred
- Since:
- 7.0
findProjectsByName
ResultIterator<Project> findProjectsByName(Workspace workspace, java.lang.String name) throws QueryServiceException
- Obtain existing Project(s) from WCM repository by their name.
- Parameters:
- workspace - workspace
- name - Project name to be retrieved.
- Returns:
- Obtained Project object(s) with the given name
- Throws:
- QueryServiceException - if an error occurs doing the query
- Since:
- 7.0
findProjectsByTitle
ResultIterator<Project> findProjectsByTitle(Workspace workspace, java.lang.String title) throws QueryServiceException
- Obtain existing Project(s) from WCM repository by their title.
- Parameters:
- workspace - workspace
- title - Project title to be retrieved.
- Returns:
- Obtained Project object(s) with the given title
- Throws:
- QueryServiceException - if an error occurs doing the query
- Since:
- 7.0
getProjectById
Project getProjectById(Workspace workspace, DocumentId projectDocumentId) throws AuthorizationException, DocumentRetrievalException
- Obtain a Project from WCM repository by its DocumentId
- Parameters:
- workspace - workspace
- projectDocumentId - Id of Project to be retrieved.
- Returns:
- Obtained Project object
- Throws:
- AuthorizationException - if the current user does not have permission
- DocumentRetrievalException - if an error occurs while locating the item
- Since:
- 7.0
findProjectsByState
ResultIterator<Project> findProjectsByState(Workspace workspace, ProjectStateSelectors.State projectState) throws QueryServiceException
- Obtain a Project from WCM repository with its project state.
- Parameters:
- workspace - workspace
- projectState - project state defined by ProjectStateSelectors.State
- Returns:
- Retrieved projects
- Throws:
- QueryServiceException - if an error occurs doing the query
- Since:
- 7.0
Tree PREV CLASS NEXT CLASS FRAMES NO FRAMES SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD