Discussion:
[lsc-changes] [Ldap Synchronization...] page changed: documentation:2.0:plugins:obm
webmaster
2013-09-10 15:01:20 UTC
Permalink
A page in your DokuWiki was added or changed. Here are the details:

Date : 2013/09/10 17:01
Browser : Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:23.0) Gecko/20100101 Firefox/23.0
IP-Address : 88.173.78.196
Hostname : mne69-10-88-173-78-196.fbx.proxad.net
Old Revision: http://lsc-project.org/wiki/documentation/2.0/plugins/obm?rev=1378825110
New Revision: http://lsc-project.org/wiki/documentation/2.0/plugins/obm
Edit Summary:
User : coudot

@@ -8,4 +8,13 @@

Since version 2.6, OBM provides a REST API to manage users and groups: [[http://obm.org/wiki/obm-provisioning-api]]

This LSC plugin uses this API in destination, so you can synchronize users and groups from an LDAP directory, a database or any other LSC sources.
+
+ ===== Installation =====
+
+ Go on the [[:download|download page]], in the plugins section, and get the latest version of the OBM plugin.
+
+ Then install it in the lib/ directory of your LSC installation.
+
+
+
--
This mail was generated by DokuWiki at
http://lsc-project.org/wiki/
webmaster
2013-09-10 15:25:12 UTC
Permalink
A page in your DokuWiki was added or changed. Here are the details:

Date : 2013/09/10 17:25
Browser : Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:23.0) Gecko/20100101 Firefox/23.0
IP-Address : 88.173.78.196
Hostname : mne69-10-88-173-78-196.fbx.proxad.net
Old Revision: http://lsc-project.org/wiki/documentation/2.0/plugins/obm?rev=1378825280
New Revision: http://lsc-project.org/wiki/documentation/2.0/plugins/obm
Edit Summary:
User : coudot

@@ -15,6 +15,38 @@
Go on the [[:download|download page]], in the plugins section, and get the latest version of the OBM plugin.

Then install it in the lib/ directory of your LSC installation.

+ ===== Configuration =====
+
+ ==== XML namespace ====
+
+ You need to adapt the namespace of the main markup to import obm namespace:
+
+ <file xml>
+ <?xml version="1.0" ?>
+ <lsc xmlns="http://lsc-project.org/XSD/lsc-core-2.0.xsd" xmlns:obm="http://lsc-project.org/XSD/lsc-obm-plugin-1.0" revision="0">
+ ...
+ </lsc>
+ </file>
+
+ ==== Connection ====
+
+ Define the connection like this:
+
+ <file xml>
+ <pluginConnection implementationClass="org.lsc.plugins.connectors.obm.generated.obmConnectionType">
+ <name>obm</name>
+ <url>http://OBM_SYNC_IP:OBM_SYNC_PORT/obm-sync/</url>
+ <username>ADMIN_LOGIN at DOMAIN</username>
+ <password>ADMIN_PASSWORD</password>
+ </pluginConnection>
+ </file>
+
+ Parameters are:
+ * OBM_SYNC_IP : IP or name ot the server hosting OBM-Sync
+ * OBM_SYNC_PORT : Port of the OBM-Sync process
+ * ADMIN_LOGIN : Login of the administrator
+ * DOMAIN : OBM Domain
+ * ADMIN_PASSWORD : Password of the administrator
--
This mail was generated by DokuWiki at
http://lsc-project.org/wiki/
webmaster
2013-09-10 16:09:31 UTC
Permalink
A page in your DokuWiki was added or changed. Here are the details:

Date : 2013/09/10 18:09
Browser : Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:23.0) Gecko/20100101 Firefox/23.0
IP-Address : 88.173.78.196
Hostname : mne69-10-88-173-78-196.fbx.proxad.net
Old Revision: http://lsc-project.org/wiki/documentation/2.0/plugins/obm?rev=1378826712
New Revision: http://lsc-project.org/wiki/documentation/2.0/plugins/obm
Edit Summary:
User : coudot

@@ -48,5 +48,118 @@
* ADMIN_LOGIN : Login of the administrator
* DOMAIN : OBM Domain
* ADMIN_PASSWORD : Password of the administrator

+ ==== Destination service ====

+ You can create a service to manage users or groups. For users:
+
+ <file xml>
+ <pluginDestinationService implementationClass="org.lsc.plugins.connectors.obm.ObmUserDstService">
+ <name>obm-user-dst</name>
+ <connection reference="obm" />
+ <obm:obmUserService>
+ <name>obm-user-dst2</name>
+ <connection reference="obm" />
+ <obm:domainUUID>e0cf03c1-2a41-149a-bcb9-ed18a50815e7</obm:domainUUID>
+ <obm:writableAttributes>
+ <string>addresses</string>
+ <string>commonname</string>
+ <string>company</string>
+ <string>description</string>
+ <string>faxes</string>
+ <string>firstname</string>
+ <string>hidden</string>
+ <string>id</string>
+ <string>kind</string>
+ <string>lastname</string>
+ <string>login</string>
+ <string>mails</string>
+ <string>mobile</string>
+ <string>phones</string>
+ <string>profile</string>
+ <string>service</string>
+ <string>title</string>
+ <string>town</string>
+ </obm:writableAttributes>
+ </obm:obmUserService>
+ </pluginDestinationService>
+ </file>
+
+ For groups:
+
+ <file xml>
+ <pluginDestinationService implementationClass="org.lsc.plugins.connectors.obm.ObmGroupDstService">
+ <name>obm-group-dst</name>
+ <connection reference="obm" />
+ <obm:obmGroupService>
+ <name>obm-group-dst2</name>
+ <connection reference="obm" />
+ <obm:domainUUID>e0cf03c1-2a41-149a-bcb9-ed18a50815e7</obm:domainUUID>
+ <obm:writableAttributes>
+ <string>description</string>
+ <string>email</string>
+ <string>name</string>
+ <string>users</string>
+ <string>subgroups</string>
+ </obm:writableAttributes>
+ </obm:obmGroupService>
+ </pluginDestinationService>
+ </file>
+
+ This service needs the following parameters:
+ * domainUUID: Identifier of the domain. You can list the available domains on http://OBM_SYNC_IP:OBM_SYNC_PORT/obm-sync/provisioning/v1/domains/
+ * writableAttributes: list of attributes to manage trough this connector. Refer to OBM provisioning documentation to get the complete list ([[http://obm.org/wiki/provisioning-user-api|user API]] | [[http://obm.org/wiki/provisioning-group-api|group API]]).
+
+ The rest of the configuration is like any other LSC connector: define conditions and datasets to configure the mapping between your source and your destination.
+
+ For example, to manage users and subgroups in a group:
+ <file xml>
+ <dataset>
+ <name>users</name>
+ <forceValues>
+ <string>
+ <![CDATA[
+ var membersSrcDn = srcBean.getDatasetValuesById("member");
+ var memberIdValues = [];
+ for (var i=0; i<membersSrcDn.size(); i++) {
+ var memberSrcDn = membersSrcDn.get(i);
+ var id = "";
+ if ( memberSrcDn.indexOf("ou=users") != -1 ) {
+ try {
+ id = srcLdap.attribute(memberSrcDn, "entryUUID").get(0);
+ } catch(e) {
+ continue;
+ }
+ memberIdValues.push (id);
+ }
+ }
+ memberIdValues
+ ]]>
+ </string>
+ </forceValues>
+ </dataset>
+ <dataset>
+ <name>subgroups</name>
+ <forceValues>
+ <string>
+ <![CDATA[
+ var membersSrcDn = srcBean.getDatasetValuesById("member");
+ var memberIdValues = [];
+ for (var i=0; i<membersSrcDn.size(); i++) {
+ var memberSrcDn = membersSrcDn.get(i);
+ var id = "";
+ if ( memberSrcDn.indexOf("ou=groups") != -1 ) {
+ try {
+ id = srcLdap.attribute(memberSrcDn, "entryUUID").get(0);
+ } catch(e) {
+ continue;
+ }
+ memberIdValues.push (id);
+ }
+ }
+ memberIdValues
+ ]]>
+ </string>
+ </forceValues>
+ </dataset>
+ </file>
--
This mail was generated by DokuWiki at
http://lsc-project.org/wiki/
Loading...