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 Details

    • getInvitationServiceWorkflowNames

      @NotAuditable List<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(String inviteeUserName, Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String acceptUrl, 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(String inviteeFirstName, String inviteeLastName, String inviteeEmail, Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String acceptUrl, 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(String inviteeUserName, Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String serverPath, String acceptUrl, 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(String inviteeFirstName, String inviteeLastName, String inviteeEmail, Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String serverPath, String acceptUrl, 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(String inviteeComments, String inviteeUserName, Invitation.ResourceType resourceType, String resourceName, 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 ?
    • inviteModerated

      @Auditable(parameters={"inviteeComments","inviteeUserName","resourceType","resourceName","inviteeRole","clientName"}) ModeratedInvitation inviteModerated(String inviteeComments, String inviteeUserName, Invitation.ResourceType resourceType, String resourceName, String inviteeRole, String clientName)
      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 ?
      clientName - which client
    • updateModeratedInvitation

      @Auditable(parameters={"inviteeId","siteShortName","inviteeComments"}) ModeratedInvitation updateModeratedInvitation(String inviteeId, String siteShortName, 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(String invitationId, String ticket)
      For a Nominated Invitation invitee accepts this invitation
      Parameters:
      request -
      ticket -
      Returns:
      the invitation
    • approve

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

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

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

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

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

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

      @Auditable(parameters="invitationId") Invitation cancel(String invitationId)
      cancel this request
    • deleteAuthenticationIfUnused

      @Auditable(parameters={"Invitee","currentInviteId"}) void deleteAuthenticationIfUnused(String invitee, 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(String inviteId, Map<String,Object> executionVariables)
      Deprecated.
      Implemented for backwards compatibility
      Parameters:
      inviteId -
      executionVariables -
    • sendNominatedInvitation

      @Auditable(parameters="inviteId") void sendNominatedInvitation(String inviteId, String emailTemplateXpath, String emailSubjectKey, Map<String,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(String invitationId)
      get an invitation from its invitation id
      Parameters:
      invitationId - ;
    • listPendingInvitationsForInvitee

      @NotAuditable List<Invitation> listPendingInvitationsForInvitee(String invitee)
      list Invitations for a specific person
    • listPendingInvitationsForInvitee

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

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

      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 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(String invitationId, String emailTemplateXpath, String emailSubjectKey, Map<String,Object> variables)
      Sends the site join request notification email using the given template, subject localization key, and variables.
      Parameters:
      invitationId -
      emailTemplateXpath -
      emailSubjectKey -
      variables -