Interface IWorkflowManager

  • All Known Implementing Classes:
    WorkflowManager

    @StableMinor(version="14.1",
                 sinceVersion="4.2")
    public interface IWorkflowManager
    Interface for Workflow Manager.
    Since:
    4.0.0
    Version:
    $Revision: 24684 $ $Date: 2021-08-23 18:58:35 -0300 (Mon, 23 Aug 2021) $
    • Field Detail

      • ASSIGNED_TO_KEEP_SAME_VALUE

        static final String ASSIGNED_TO_KEEP_SAME_VALUE
        The value used by some methods to indicate that the current assigned to value must be kept.
        See Also:
        Constant Field Values
    • Method Detail

      • register

        void register​(SessionConfig sessionConfig,
                      String workflowConfigPath,
                      ITransaction transaction)
               throws PortalException
        Register a workflow.
        Parameters:
        sessionConfig - the user session information.
        workflowConfigPath - the path, relative to the definition directory, to the directory with the workflow's definition.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
      • updateRegister

        void updateRegister​(SessionConfig sessionConfig,
                            String workflowId,
                            ITransaction transaction)
                     throws PortalException
        Updates the register of a workflow.
        Parameters:
        sessionConfig - the user session information.
        workflowId - the workflow id.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
        Since:
        4.0.5
      • unregister

        void unregister​(SessionConfig sessionConfig,
                        String workflowId,
                        ITransaction transaction)
                 throws PortalException
        Removes a workflow from the register.
        Parameters:
        sessionConfig - the user session information.
        workflowId - the workflow's identifier.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
      • getTransition

        WorkflowTransitionConfig getTransition​(SessionConfig sessionConfig,
                                               String workflowId,
                                               String transitionId,
                                               ITransaction transaction)
                                        throws PortalException
        Returns a workflow transition.
        Parameters:
        sessionConfig - the user session information.
        workflowId - the identifier of the state's workflow.
        transitionId - the transition's identifier.
        transaction - the transaction for persistence access.
        Returns:
        the transition.
        Throws:
        PortalException
      • getTransitionsByStateId

        List<WorkflowTransitionConfig> getTransitionsByStateId​(SessionConfig sessionConfig,
                                                               String workflowId,
                                                               String stateId,
                                                               ITransaction transaction)
                                                        throws PortalException
        Returns the transitions for a workflow state.
        Parameters:
        sessionConfig - the user session information.
        workflowId - the identifier of the state's workflow.
        stateId - the state's identifier.
        transaction - the transaction for persistence access.
        Returns:
        a list with the state's transitions.
        Throws:
        PortalException
      • getAccessibleTransitions

        Collection<WorkflowTransitionConfig> getAccessibleTransitions​(SessionConfig sessionConfig,
                                                                      ContentLocale contentLocale,
                                                                      ITransaction transaction)
                                                               throws PortalException
        Returns the transitions that are accessible by the sessionConfig's user for a specified contentLocale.
        Parameters:
        sessionConfig - the user session information.
        contentLocale - the contentLocale.
        transaction - the transaction for persistence access.
        Returns:
        a collection with the transitions.
        Throws:
        PortalException
      • getAccessibleStates

        Collection<WorkflowStateConfig> getAccessibleStates​(SessionConfig sessionConfig,
                                                            String serviceInstanceId,
                                                            EnumSet<StateScope> scopes,
                                                            ITransaction transaction)
                                                     throws PortalException
        Returns a collection of workflow's accessible states.
        Parameters:
        sessionConfig - user session information.
        serviceInstanceId - the content service instance id.
        scopes - states scope that the user has permission to access StateScope}
        transaction - the transaction for persistence access.
        Returns:
        a collection with the workflow's accessible states.
        Throws:
        PortalException
        Since:
        6.0.2
      • getServiceInstanceWorkflow

        WorkflowConfig getServiceInstanceWorkflow​(SessionConfig sessionConfig,
                                                  String serviceInstanceId,
                                                  ITransaction transaction)
                                           throws PortalException
        Returns the workflow of a service instance.
        Parameters:
        sessionConfig - user session information.
        serviceInstanceId - the service instance's id.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
      • setServiceInstanceWorkflow

        void setServiceInstanceWorkflow​(SessionConfig sessionConfig,
                                        String serviceInstanceId,
                                        String workflowId,
                                        ITransaction transaction)
                                 throws PortalException
        Sets the workflow to be used in a service instance.
        Parameters:
        sessionConfig - user session information.
        serviceInstanceId - the service instance's id.
        workflowId - the workflow's id.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
      • destroyServiceInstanceWorkflow

        void destroyServiceInstanceWorkflow​(SessionConfig sessionConfig,
                                            String serviceInstanceId,
                                            ITransaction transaction)
                                     throws PortalException
        Destroys the service instance workflow, so that the service instance can be correctly removed. This method should be called only prior to a service instance removal.
        Parameters:
        sessionConfig - user session information.
        serviceInstanceId - the service instance's id.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
      • deleteAllContentWorkflowMetaData

        void deleteAllContentWorkflowMetaData​(SessionConfig sessionConfig,
                                              String serviceInstanceId,
                                              ITransaction transaction)
                                       throws PortalException
        Deletes all the workflow metadata that is assocated to a specified service instance.
        Parameters:
        sessionConfig - the user session information.
        serviceInstanceId - the service instance identifier.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
        Since:
        4.0.11
      • getWorkflowPermissions

        Collection<WorkflowPermission> getWorkflowPermissions​(SessionConfig sessionConfig,
                                                              String serviceInstanceId,
                                                              ITransaction transaction)
                                                       throws PortalException
        Returns the permissions set for a workflow in a service instance.
        Parameters:
        sessionConfig - user session information.
        serviceInstanceId - the service instance's id.
        transaction - the transaction for persistence access.
        Returns:
        a WorkflowPermission collection.
        Throws:
        PortalException
      • setWorkflowPermissions

        void setWorkflowPermissions​(SessionConfig sessionConfig,
                                    String serviceInstanceId,
                                    Collection<WorkflowPermission> permissions,
                                    ITransaction transaction)
                             throws PortalException
        Updates the workflow permissions in a service instance.
        Parameters:
        sessionConfig - user session information.
        serviceInstanceId - the service instance's id.
        permissions - the set of permissions to be set in the service instance. All previous permissions will be deleted.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
      • getContentWorkflowMetaData

        ContentWorkflowMetaData getContentWorkflowMetaData​(SessionConfig sessionConfig,
                                                           ContentLocale contentLocale,
                                                           ITransaction transaction)
                                                    throws PortalException
        Returns the content workflow metadata for a content locale.
        Parameters:
        sessionConfig - user session information.
        contentLocale - the content locale-specific object.
        transaction - the transaction for persistence access.
        Returns:
        the content workflow metadata.
        Throws:
        PortalException
        Since:
        4.2.0
      • createNewContentWorkflowMetaData

        void createNewContentWorkflowMetaData​(SessionConfig sessionConfig,
                                              ContentLocale contentLocale,
                                              String assignedTo,
                                              ITransaction transaction)
                                       throws PortalException
        Creates a new content workflow metadata for a content locale.
        Parameters:
        sessionConfig - user session information.
        contentLocale - the content locale.
        serviceInstanceId - the content's service instance id.
        sourceId - the content's source id.
        assignedTo - the principal identifier to be assigned to.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
        Since:
        4.2.0
      • deleteContentWorkflowMetaData

        void deleteContentWorkflowMetaData​(SessionConfig sessionConfig,
                                           ContentLocale contentLocale,
                                           ITransaction transaction)
                                    throws PortalException
        Deletes the content workflow metadata of the given content locale.
        Parameters:
        sessionConfig - user session information.
        contentLocale - the content locale.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
        Since:
        4.2.0
      • executeAction

        void executeAction​(SessionConfig sessionConfig,
                           ContentLocale contentLocale,
                           String performedTransitionId,
                           String newAssignedTo,
                           ITransaction transaction)
                    throws PortalException
        Executes an action on a content's workflow.

        After the action is executed, this method sends a WorkflowActionExecutedEvent.

        Parameters:
        sessionConfig - user session information.
        contentLocale - the content locale specific object.
        performedTransitionId - the transition action performed. If null, no transition is performed.
        newAssignedTo - the new assigned to principal id.
        transaction - the transaction for persistence access.
        Throws:
        PortalException
        Since:
        4.2.0
      • hasEditPermission

        @Deprecated
        boolean hasEditPermission​(SessionConfig sessionConfig,
                                  String itemId,
                                  String serviceInstanceId,
                                  String sourceId,
                                  ITransaction transaction)
                           throws PortalException
        Returns true if the sessionConfig's user has edit permission to the specified item, according to the workflow's definition, state and assigned to.

        If there is no workflow, or no content workflow metadata, true is returned.

        Parameters:
        sessionConfig - user session information.
        itemId - the content's item id.
        serviceInstanceId - the content's service instance id.
        sourceId - the content's source id.
        transaction - the transaction for persistence access.
        Returns:
        true if the user has the permission, false otherwise.
        Throws:
        PortalException
      • hasEditPermission

        boolean hasEditPermission​(SessionConfig sessionConfig,
                                  ContentLocale contentLocale,
                                  ITransaction transaction)
                           throws PortalException
        Returns true if the sessionConfig's user has edit permission to the specified content, according to the workflow's definition, state and assigned to.

        If there is no workflow, or no content workflow metadata, true is returned.

        Parameters:
        sessionConfig - user session information.
        contentLocale - the content.
        transaction - the transaction for persistence access.
        Returns:
        true if the user has the permission, false otherwise.
        Throws:
        PortalException
      • getPossibleAssignedTo

        Collection<String> getPossibleAssignedTo​(SessionConfig sessionConfig,
                                                 String serviceInstanceId,
                                                 WorkflowStateConfig workflowState,
                                                 ITransaction transaction)
                                          throws PortalException
        Returns the possible assignedTo values for a workflow state.
        Parameters:
        sessionConfig - user session information.
        serviceInstanceId - the service instance identifier.
        workflowState - the workflow's state.
        transaction - the transaction for persistence access.
        Returns:
        a collection of principals identifiers that may be assigned to a content in the specified state.
        Throws:
        PortalException
        Since:
        4.2.0
      • contentMayBePublished

        boolean contentMayBePublished​(SessionConfig sessionConfig,
                                      ContentLocale contentLocale,
                                      ITransaction transaction)
                               throws PortalException
        Indicates if a content version may be published according to its workflow state.
        Parameters:
        sessionConfig - user session information.
        contentLocale - the content version.
        transaction - the transaction for persistence access.
        Returns:
        true if it may be published, according to its workflow state, false otherwise.
        Throws:
        PortalException
        Since:
        4.2.0
      • autoArchivePublishedContent

        boolean autoArchivePublishedContent​(ContentLocale contentLocale,
                                            ITransaction transaction)
                                     throws PortalException
        Used for the automatic content archiving process. Performs a transition to a directly reachable archival state, if any.

        If the given content version is not in a published state or is already in an archived state or is not after its publishing period then nothing is done.

        Parameters:
        contentLocale - the content version.
        transaction - the transaction for persistence access.
        Returns:
        true if the content version was archived, or false if nothing was done.
        Throws:
        PortalException
        Since:
        4.2.0