Create predefined users

To specify the initial Organization configuration, the content of portal.war:WEB-INF/conf/organization/organization-configuration.xml should be edited. This file complies with the XML eXo configuration schema. It lists several configuration plugins.

Plugin for adding users, groups and membership types

The plugin of type org.exoplatform.services.organization.OrganizationDatabaseInitializer specifies the list of users, groups and membership types to be created. The initialization parameter named "checkDatabaseAlgorithm" determines how the creation is triggered. Thus, the value "entry" means that each user, group and membership listed in the configuration is checked each time eXo is started. If not existing, it is created. The value "empty" means that the whole list of preconfigured users, groups and memberships is processed only if the database is empty.

Membership types

The predefined membership types are specified in the "membershipType" field of the "OrganizationConfig" plugin parameter.

<field name="membershipType">
      <collection type="java.util.ArrayList">
        <value>
          <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
            <field name="type"><string>member</string></field>
            <field name="description"><string>member membership type</string></field>
          </object>
        </value>
        <value>
          <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
            <field name="type"><string>owner</string></field>
            <field name="description"><string>owner membership type</string></field>
           </object>
        </value>
        <value>
          <object type="org.exoplatform.services.organization.OrganizationConfig$MembershipType">
            <field name="type"><string>validator</string></field>
            <field name="description"><string>validator membership type</string></field>
          </object>
        </value>
      </collection>
    </field>

Groups

The predefined groups are specified in the "group" field of the "OrganizationConfig" plugin parameter.

<field name="group">
    <collection type="java.util.ArrayList">
      <value>
        <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
          <field name="name"><string>portal</string></field>
          <field name="parentId"><string></string></field>
          <field name="type"><string>hierachy</string></field>
          <field name="description"><string>the /portal group</string></field>
        </object>
      </value>
      <value>
        <object type="org.exoplatform.services.organization.OrganizationConfig$Group">
          <field name="name"><string>community</string></field>
          <field name="parentId"><string>/portal</string></field>
          <field name="type"><string>hierachy</string></field>
          <field name="description"><string>the /portal/community group</string></field>
        </object>
      </value>
      ...
    </collection>
  </field>

Users

The predefined users are specified in the "membershipType" field of the "OrganizationConfig" plugin parameter.

<field name="user">
    <collection type="java.util.ArrayList">
      <value>
        <object type="org.exoplatform.services.organization.OrganizationConfig$User">
          <field name="userName"><string>root</string></field>
          <field name="password"><string>exo</string></field>
          <field name="firstName"><string>root</string></field>
          <field name="lastName"><string>root</string></field>
          <field name="email"><string>exoadmin@localhost</string></field>
          <field name="groups"><string>member:/admin,member:/user,owner:/portal/admin</string></field>
        </object>
      </value>
      <value>
        <object type="org.exoplatform.services.organization.OrganizationConfig$User">
          <field name="userName"><string>exo</string></field>
          <field name="password"><string>exo</string></field>
          <field name="firstName"><string>site</string></field>
          <field name="lastName"><string>site</string></field>
          <field name="email"><string>exo@localhost</string></field>
          <field name="groups"><string>member:/user</string></field>
        </object>
      </value>
      ...
    </collection>
  </field>

Plugin for monitoring user creation

The plugin of type org.exoplatform.services.organization.impl.NewUserEventListener specifies which groups should join all newly created users. It notably specifies the groups and memberships to be used. It also specifies a list of users that should be excepted.

<component-plugin>
      <name>new.user.event.listener</name>
      <set-method>addListenerPlugin</set-method>
      <type>org.exoplatform.services.organization.impl.NewUserEventListener</type>
      <description>this listener assign group and membership to a new created user</description>
      <init-params>
        <object-param>
          <name>configuration</name>
          <description>description</description>
          <object type="org.exoplatform.services.organization.impl.NewUserConfig">
            <field  name="group">
              <collection type="java.util.ArrayList">
                <value>
                  <object type="org.exoplatform.services.organization.impl.NewUserConfig$JoinGroup">
                    <field name="groupId"><string>/user</string></field>
                    <field name="membership"><string>member</string></field>
                  </object>
                </value>               
              </collection>
            </field>
            <field  name="ignoredUser">
              <collection type="java.util.HashSet">
                <value><string>exo</string></value>
                <value><string>root</string></value>
                <value><string>company</string></value>
                <value><string>community</string></value>
              </collection>
            </field>
          </object>
        </object-param>
      </init-params>
    </component-plugin>


Creator: Brice Revenant on 2007/05/27 18:06
Copyright (c) 2000-2009. Allright reserved - eXo platform SAS
1.6.13286