create a group on domain creation

Hi All i need to create a group on every domain creation, and assign some access rights to this group.

I am thinking of adding an operation and then using an event listener to call the operation on document creation.

I can not seem to find the right method to call for the creation of the group.

I am using version 5.6.

EDIT, rephrasing my question:

in this method call

DocumentModel createGroup(DocumentModel groupModel)
                      throws ClientException,

What should be the DocumentModel i should pass for a new group ?

0 votes

2 answers



Here's the complete code for the operation

  package org.nuxeo.sample;

  import org.nuxeo.ecm.automation.core.Constants;
  import org.nuxeo.ecm.automation.core.annotations.Context;
  import org.nuxeo.ecm.automation.core.annotations.Operation;
  import org.nuxeo.ecm.automation.core.annotations.OperationMethod;
  import org.nuxeo.ecm.automation.core.annotations.Param;
  import org.nuxeo.ecm.core.api.ClientException;
  import org.nuxeo.ecm.core.api.DocumentModel;
  import org.nuxeo.ecm.platform.usermanager.UserManager;

   * @author ldoguin
  @Operation(id = CreateGroup.ID, category = Constants.CAT_USERS_GROUPS, label = "Create Group", description = "This operation creates a new group using the given       group label and group id.", since = "5.7.3")
  public class CreateGroup {

      public static final String ID = "CreateGroup";

      UserManager userManager;

      @Param(name = "Group Id", required = true)
      String groupId;

      @Param(name = "Group Label", required = true)
      String goupLabel;

      @Param(name = "Group Description", required = false, widget = Constants.W_MULTILINE_TEXT )
      String description;

      public DocumentModel run() throws ClientException {
          DocumentModel groupModel = userManager.getBareGroupModel();
          groupModel.setProperty("group", "groupname", groupId);
          groupModel.setProperty("group", "grouplabel", goupLabel);
          groupModel.setProperty("group", "description", description);
          groupModel = userManager.createGroup(groupModel);
          return groupModel;

0 votes

Hello Laurent thank you for the answer. The next step i am looking for is settinv ACE/ACL/ACP, any hints on which would be a good starting point?



The answer was already in some other question, just needed to dig deeper.

Here for reference of others who might need it :


0 votes