Interface InvitationService

  • All Known Implementing Classes:
    InvitationServiceImpl

    public interface InvitationService
    The invitation service provides the ability to invite people to resources. For example adding a user to a shared web site. It manages the relationship between person, resource and requestType and may also pass along information such as who is to approve or the expected role of the user.
    Author:
    mrogers
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      Invitation accept​(java.lang.String invitationId, java.lang.String ticket)
      For a Nominated Invitation invitee accepts this invitation
      void acceptNominatedInvitation​(java.lang.String siteName, java.lang.String invitee, java.lang.String role, java.lang.String inviter)
      Moderator approves this invitation
      Invitation approve​(java.lang.String invitationId, java.lang.String reason)
      Moderator approves this invitation
      void approveModeratedInvitation​(java.lang.String siteName, java.lang.String invitee, java.lang.String role, java.lang.String reviewer)
      Moderator approves this invitation
      Invitation cancel​(java.lang.String invitationId)
      cancel this request
      void cancelInvitation​(java.lang.String siteName, java.lang.String invitee, java.lang.String inviteId, java.lang.String currentInviteId)
      Inviter cancels this invitation
      void deleteAuthenticationIfUnused​(java.lang.String invitee, java.lang.String currentInviteId)
      Clean up invitee user account and person node when no longer in use.
      Invitation getInvitation​(java.lang.String invitationId)
      get an invitation from its invitation id
      java.util.List<java.lang.String> getInvitationServiceWorkflowNames()
      Get the names of the workflows managed by the invitation service.
      ModeratedInvitation inviteModerated​(java.lang.String inviteeComments, java.lang.String inviteeUserName, Invitation.ResourceType resourceType, java.lang.String resourceName, java.lang.String inviteeRole)
      Start the invitation process for a ModeratedInvitation
      NominatedInvitation inviteNominated​(java.lang.String inviteeFirstName, java.lang.String inviteeLastName, java.lang.String inviteeEmail, Invitation.ResourceType resourceType, java.lang.String resourceName, java.lang.String inviteeRole, java.lang.String acceptUrl, java.lang.String rejectUrl)
      Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User NameA new user name will be generated as part of the invitation process.
      NominatedInvitation inviteNominated​(java.lang.String inviteeFirstName, java.lang.String inviteeLastName, java.lang.String inviteeEmail, Invitation.ResourceType resourceType, java.lang.String resourceName, java.lang.String inviteeRole, java.lang.String serverPath, java.lang.String acceptUrl, java.lang.String rejectUrl)
      Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User NameA new user name will be generated as part of the invitation process.
      NominatedInvitation inviteNominated​(java.lang.String inviteeUserName, Invitation.ResourceType resourceType, java.lang.String resourceName, java.lang.String inviteeRole, java.lang.String acceptUrl, java.lang.String rejectUrl)
      Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User Name The server path is calculated based on the sysAdmin parameters
      NominatedInvitation inviteNominated​(java.lang.String inviteeUserName, Invitation.ResourceType resourceType, java.lang.String resourceName, java.lang.String inviteeRole, java.lang.String serverPath, java.lang.String acceptUrl, java.lang.String rejectUrl)
      Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User Name
      boolean isSendEmails()  
      java.util.List<Invitation> listPendingInvitationsForInvitee​(java.lang.String invitee)
      list Invitations for a specific person
      java.util.List<Invitation> listPendingInvitationsForInvitee​(java.lang.String invitee, Invitation.ResourceType resourceType)  
      java.util.List<Invitation> listPendingInvitationsForResource​(Invitation.ResourceType resourceType, java.lang.String resourceName)
      list Invitations for a specific resource
      Invitation reject​(java.lang.String invitationId, java.lang.String reason)
      User or moderator rejects this request
      void rejectModeratedInvitation​(java.lang.String siteName, java.lang.String invitee, java.lang.String role, java.lang.String reviewer, java.lang.String resourceType, java.lang.String reviewComments)
      Moderator rejects this invitation
      java.util.List<Invitation> searchInvitation​(InvitationSearchCriteria criteria)
      Deprecated. 
      java.util.List<Invitation> searchInvitation​(InvitationSearchCriteria criteria, int limit)
      This is the general search invitation method returning Invitation This is the recommended method to use for searching invitations; Consider that the performance of the method will be greatly influenced by the limit specified
      void sendModeratedInvitation​(java.lang.String invitationId, java.lang.String emailTemplateXpath, java.lang.String emailSubjectKey, java.util.Map<java.lang.String,​java.lang.Object> variables)
      Sends the site join request notification email using the given template, subject localization key, and variables.
      void sendNominatedInvitation​(java.lang.String inviteId, java.lang.String emailTemplateXpath, java.lang.String emailSubjectKey, java.util.Map<java.lang.String,​java.lang.Object> executionVariables)
      Sends the invite email using the given template, subject localization key, and variables.
      void sendNominatedInvitation​(java.lang.String inviteId, java.util.Map<java.lang.String,​java.lang.Object> executionVariables)
      Deprecated. 
      ModeratedInvitation updateModeratedInvitation​(java.lang.String inviteeId, java.lang.String siteShortName, java.lang.String inviteeComments)
      Update the invitee comments for an existing moderated invitation
    • Method Detail

      • getInvitationServiceWorkflowNames

        @NotAuditable
        java.util.List<java.lang.String> getInvitationServiceWorkflowNames()
        Get the names of the workflows managed by the invitation service.
        Returns:
        the names of the workkflows managed by the invitation service.
      • inviteNominated

        @Auditable(parameters={"inviteeUserName","resourceType","resourceName","inviteeRole","acceptUrl","rejectUrl"})
        NominatedInvitation inviteNominated​(java.lang.String inviteeUserName,
                                            Invitation.ResourceType resourceType,
                                            java.lang.String resourceName,
                                            java.lang.String inviteeRole,
                                            java.lang.String acceptUrl,
                                            java.lang.String rejectUrl)
        Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User Name The server path is calculated based on the sysAdmin parameters
        Parameters:
        inviteeUserName - Alfresco user name of who should be invited
        ResourceType - resourceType
        resourceName -
        inviteeRole -
        acceptUrl -
        rejectUrl -
        Returns:
        the nominated invitation which will contain the invitationId and ticket which will uniqely identify this invitation for the rest of the workflow.
        Throws:
        InvitationException
        InvitationExceptionUserError
        InvitationExceptionForbidden
      • inviteNominated

        @Auditable(parameters={"inviteeFirstName","inviteeLastName","inviteeEmail","resourceType","resourceName","inviteeRole","acceptUrl","rejectUrl"})
        NominatedInvitation inviteNominated​(java.lang.String inviteeFirstName,
                                            java.lang.String inviteeLastName,
                                            java.lang.String inviteeEmail,
                                            Invitation.ResourceType resourceType,
                                            java.lang.String resourceName,
                                            java.lang.String inviteeRole,
                                            java.lang.String acceptUrl,
                                            java.lang.String rejectUrl)
        Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User NameA new user name will be generated as part of the invitation process. The server path is calculated based on the sysAdmin parameters
        Parameters:
        inviteeFirstName -
        inviteeLastName -
        inviteeEmail -
        Invitation - .ResourceType resourceType
        resourceName -
        inviteeRole -
        acceptUrl -
        rejectUrl -
        Returns:
        the nominated invitation which will contain the invitationId and ticket which will uniquely identify this invitation.
        Throws:
        InvitationException
        InvitationExceptionUserError
        InvitationExceptionForbidden
      • inviteNominated

        @Auditable(parameters={"inviteeUserName","resourceType","resourceName","inviteeRole","serverPath","acceptUrl","rejectUrl"})
        NominatedInvitation inviteNominated​(java.lang.String inviteeUserName,
                                            Invitation.ResourceType resourceType,
                                            java.lang.String resourceName,
                                            java.lang.String inviteeRole,
                                            java.lang.String serverPath,
                                            java.lang.String acceptUrl,
                                            java.lang.String rejectUrl)
        Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User Name
        Parameters:
        inviteeUserName - Alfresco user name of who should be invited
        ResourceType - resourceType
        resourceName -
        inviteeRole -
        serverPath -
        acceptUrl -
        rejectUrl -
        Returns:
        the nominated invitation which will contain the invitationId and ticket which will uniqely identify this invitation for the rest of the workflow.
        Throws:
        InvitationException
        InvitationExceptionUserError
        InvitationExceptionForbidden
      • inviteNominated

        @Auditable(parameters={"inviteeFirstName","inviteeLastName","inviteeEmail","resourceType","resourceName","inviteeRole","serverPath","acceptUrl","rejectUrl"})
        NominatedInvitation inviteNominated​(java.lang.String inviteeFirstName,
                                            java.lang.String inviteeLastName,
                                            java.lang.String inviteeEmail,
                                            Invitation.ResourceType resourceType,
                                            java.lang.String resourceName,
                                            java.lang.String inviteeRole,
                                            java.lang.String serverPath,
                                            java.lang.String acceptUrl,
                                            java.lang.String rejectUrl)
        Start the invitation process for a NominatedInvitation for a user who does not yet have an Alfresco User NameA new user name will be generated as part of the invitation process.
        Parameters:
        inviteeFirstName -
        inviteeLastName -
        inviteeEmail - String
        resourceType - Invitation.ResourceType
        resourceName - String
        inviteeRole -
        serverPath -
        acceptUrl -
        rejectUrl - String
        Returns:
        the nominated invitation which will contain the invitationId and ticket which will uniquely identify this invitation.
        Throws:
        InvitationException
        InvitationExceptionUserError
        InvitationExceptionForbidden
      • inviteModerated

        @Auditable(parameters={"inviteeComments","inviteeUserName","resourceType","resourceName","inviteeRole"})
        ModeratedInvitation inviteModerated​(java.lang.String inviteeComments,
                                            java.lang.String inviteeUserName,
                                            Invitation.ResourceType resourceType,
                                            java.lang.String resourceName,
                                            java.lang.String inviteeRole)
        Start the invitation process for a ModeratedInvitation
        Parameters:
        inviteeUserName - who is to be invited
        Invitation - .ResourceType resourceType what resource type ?
        resourceName - which resource
        inviteeRole - which role ?
      • updateModeratedInvitation

        @Auditable(parameters={"inviteeId","siteShortName","inviteeComments"})
        ModeratedInvitation updateModeratedInvitation​(java.lang.String inviteeId,
                                                      java.lang.String siteShortName,
                                                      java.lang.String inviteeComments)
        Update the invitee comments for an existing moderated invitation
        Parameters:
        inviteeId -
        siteShortName -
        inviteeComments -
        Returns:
        the invitation
      • accept

        @Auditable(parameters={"invitationId","reason"})
        Invitation accept​(java.lang.String invitationId,
                          java.lang.String ticket)
        For a Nominated Invitation invitee accepts this invitation
        Parameters:
        request -
        ticket -
        Returns:
        the invitation
      • approve

        @Auditable(parameters={"invitationId","reason"})
        Invitation approve​(java.lang.String invitationId,
                           java.lang.String reason)
        Moderator approves this invitation
        Parameters:
        invitationId - the request to approve
        reason - - comments about the acceptance
      • reject

        @Auditable(parameters={"invitationId","reason"})
        Invitation reject​(java.lang.String invitationId,
                          java.lang.String reason)
        User or moderator rejects this request
        Parameters:
        invitationId -
        reason -
      • acceptNominatedInvitation

        @Auditable(parameters={"siteName","Invitee","role","inviter"})
        void acceptNominatedInvitation​(java.lang.String siteName,
                                       java.lang.String invitee,
                                       java.lang.String role,
                                       java.lang.String inviter)
        Moderator approves this invitation
        Parameters:
        siteName -
        invitee -
        role -
        inviter -
      • approveModeratedInvitation

        @Auditable(parameters={"siteName","Invitee","role","reviewer"})
        void approveModeratedInvitation​(java.lang.String siteName,
                                        java.lang.String invitee,
                                        java.lang.String role,
                                        java.lang.String reviewer)
        Moderator approves this invitation
        Parameters:
        siteName -
        invitee -
        role -
        reviewer -
      • rejectModeratedInvitation

        @Auditable(parameters={"siteName","Invitee","role","reviewer","resourceType","reviewComments"})
        void rejectModeratedInvitation​(java.lang.String siteName,
                                       java.lang.String invitee,
                                       java.lang.String role,
                                       java.lang.String reviewer,
                                       java.lang.String resourceType,
                                       java.lang.String reviewComments)
        Moderator rejects this invitation
        Parameters:
        siteName -
        invitee -
        role -
        reviewer -
        resourceType -
        reviewComments -
      • cancelInvitation

        @Auditable(parameters={"siteName","Invitee","inviteId","currentInviteId"})
        void cancelInvitation​(java.lang.String siteName,
                              java.lang.String invitee,
                              java.lang.String inviteId,
                              java.lang.String currentInviteId)
        Inviter cancels this invitation
        Parameters:
        siteName -
        invitee -
        inviteId -
        currentInviteId -
      • cancel

        @Auditable(parameters="invitationId")
        Invitation cancel​(java.lang.String invitationId)
        cancel this request
      • deleteAuthenticationIfUnused

        @Auditable(parameters={"Invitee","currentInviteId"})
        void deleteAuthenticationIfUnused​(java.lang.String invitee,
                                          java.lang.String currentInviteId)
        Clean up invitee user account and person node when no longer in use. They are deemed to no longer be in use when the invitee user account is still disabled and there are no outstanding pending invites for that invitee.
        Parameters:
        invitee -
        currentInviteId -
      • sendNominatedInvitation

        @Auditable(parameters="inviteId")
        void sendNominatedInvitation​(java.lang.String inviteId,
                                     java.util.Map<java.lang.String,​java.lang.Object> executionVariables)
        Deprecated.
        Implemented for backwards compatibility
        Parameters:
        inviteId -
        executionVariables -
      • sendNominatedInvitation

        @Auditable(parameters="inviteId")
        void sendNominatedInvitation​(java.lang.String inviteId,
                                     java.lang.String emailTemplateXpath,
                                     java.lang.String emailSubjectKey,
                                     java.util.Map<java.lang.String,​java.lang.Object> executionVariables)
        Sends the invite email using the given template, subject localization key, and variables.
        Parameters:
        inviteId -
        emailTemplateXpath - the XPath to the email template in the repository
        emailSubjectKey - the subject of the email
        executionVariables - the variables used to populate the email
      • getInvitation

        @NotAuditable
        Invitation getInvitation​(java.lang.String invitationId)
        get an invitation from its invitation id
        Parameters:
        invitationId - ;
      • listPendingInvitationsForInvitee

        @NotAuditable
        java.util.List<Invitation> listPendingInvitationsForInvitee​(java.lang.String invitee)
        list Invitations for a specific person
      • listPendingInvitationsForInvitee

        @NotAuditable
        java.util.List<Invitation> listPendingInvitationsForInvitee​(java.lang.String invitee,
                                                                    Invitation.ResourceType resourceType)
      • listPendingInvitationsForResource

        @NotAuditable
        java.util.List<Invitation> listPendingInvitationsForResource​(Invitation.ResourceType resourceType,
                                                                     java.lang.String resourceName)
        list Invitations for a specific resource
        Parameters:
        resourceType -
        resourceName -
      • searchInvitation

        @NotAuditable
        java.util.List<Invitation> searchInvitation​(InvitationSearchCriteria criteria)
        Deprecated.
        This is the general search invitation method returning Invitation This method has a hardcoded limit of 200 invitations to return. It has been deprecated and it is recommended to use the overloaded version for which you can specify an appropriate limit depending on the needs
        Parameters:
        criteria - InvitationSearchCriteria search criteria
        Returns:
        the list of invitations
      • searchInvitation

        @NotAuditable
        java.util.List<Invitation> searchInvitation​(InvitationSearchCriteria criteria,
                                                    int limit)
        This is the general search invitation method returning Invitation This is the recommended method to use for searching invitations; Consider that the performance of the method will be greatly influenced by the limit specified
        Parameters:
        criteria - search criteria
        limit - maximum number of IDs to return. If less than 1, there is no limit.
        Returns:
        the list of invitations
      • isSendEmails

        @NotAuditable
        boolean isSendEmails()
        Returns:
        true if emails are sent on invite.
      • sendModeratedInvitation

        @Auditable(parameters="inviteId")
        void sendModeratedInvitation​(java.lang.String invitationId,
                                     java.lang.String emailTemplateXpath,
                                     java.lang.String emailSubjectKey,
                                     java.util.Map<java.lang.String,​java.lang.Object> variables)
        Sends the site join request notification email using the given template, subject localization key, and variables.
        Parameters:
        invitationId -
        emailTemplateXpath -
        emailSubjectKey -
        variables -