Configure Connections
Add a connection to eTrust Directory. Edit PENROSE_SERVER_HOME\conf\connections.xml:
<connections> <connection name="Example"> <adapter-name>JDBC</adapter-name> <parameter> <param-name>driver</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </parameter> <parameter> <param-name>password</param-name> <param-value>penrose</param-value> </parameter> <parameter> <param-name>url</param-name> <param-value>jdbc:mysql://localhost:3306/example?autoReconnect=true</param-value> </parameter> <parameter> <param-name>user</param-name> <param-value>penrose</param-value> </parameter> </connection> <connection name="Penrose"> <adapter-name>JDBC</adapter-name> <parameter> <param-name>driver</param-name> <param-value>com.mysql.jdbc.Driver</param-value> </parameter> <parameter> <param-name>password</param-name> <param-value>penrose</param-value> </parameter> <parameter> <param-name>url</param-name> <param-value>jdbc:mysql://localhost:3306/penrose?autoReconnect=true</param-value> </parameter> <parameter> <param-name>user</param-name> <param-value>penrose</param-value> </parameter> </connection> <connection name="EDS"> <adapter-name>JNDI</adapter-name> <parameter> <param-name>java.naming.factory.initial</param-name> <param-value>com.sun.jndi.ldap.LdapCtxFactory</param-value> </parameter> <parameter> <param-name>java.naming.provider.url</param-name> <param-value>ldap://hostname:19589/dc=Example,dc=com</param-value> </parameter> <parameter> <param-name>java.naming.security.credentials</param-name> <param-value>penrose</param-value> </parameter> <parameter> <param-name>java.naming.security.principal</param-name> <param-value>uid=penrose,ou=Users,dc=Example,dc=com</param-value> </parameter> </connection> </connections>
See also Connections
.
Create Sources
The complete source configuration can be found in PENROSE_SERVER_HOME/samples/conf/sources.xml. For simplicity, we will only use the following sources:
<sources> <source name="categories"> <connection-name>Example</connection-name> <field name="description"/> <field name="id" primaryKey="true" type="INTEGER"/> <field name="name"/> <parameter> <param-name>tableName</param-name> <param-value>categories</param-value> </parameter> </source> <source name="products"> <connection-name>Example</connection-name> <field name="categoryId" type="INTEGER"/> <field name="id" primaryKey="true" type="INTEGER"/> <field name="name"/> <field name="price" type="DOUBLE"/> <parameter> <param-name>tableName</param-name> <param-value>products</param-value> </parameter> </source> </sources>
See also Sources
.
Create Mapping
The complete mapping configuration can be found in PENROSE_SERVER_HOME/samples/conf/mapping.xml. For simplicity, we will only use the following mappings:
<mapping> <entry dn="ou=Categories,dc=Example,dc=com"> <oc>organizationalUnit</oc> <oc>top</oc> <at name="ou" rdn="true"> <constant>Categories</constant> </at> </entry> <entry dn="cn=...,ou=Categories,dc=Example,dc=com"> <oc>category</oc> <oc>top</oc> <at name="description"> <variable>categories.id</variable> </at> <at name="cn" rdn="true"> <variable>categories.name</variable> </at> <source name="categories"> <source-name>categories</source-name> <field name="id"> <variable>description</variable> </field> <field name="name"> <variable>cn</variable> </field> </source> </entry> <entry dn="cn=...,cn=...,ou=Categories,dc=Example,dc=com"> <oc>product</oc> <oc>top</oc> <at name="description"> <variable>products.id</variable> </at> <at name="cn" rdn="true"> <variable>products.name</variable> </at> <source name="products"> <source-name>products</source-name> <field name="id"> <variable>description</variable> </field> <field name="name"> <variable>cn</variable> </field> </source> <relationship> <expression>products.categoryId = categories.id</expression> </relationship> </entry> </mapping>
See also Entry Mappings
.
Configure Schema
Copy the following files from PENROSE_SERVER_HOME/samples/schema:
- example.schema
- example.jar
into PENROSE_SERVER_HOME/schema/ext.
Edit PENROSE_SERVER_HOME/conf/server.xml:
<server> <schema name="example" path="schema/ext/example.schema"/> </server>
See also Schema
.
Configure Persistent Cache
Enable the Persistent Cache. Edit PENROSE_SERVER_HOME/conf/server.xml:
<server>
<entry-cache>
<cache-class>org.safehaus.penrose.cache.PersistentEntryCache</cache-class>
<parameter>
<param-name>connection</param-name>
<param-value>Penrose</param-value>
</parameter>
</entry-cache>
<source-cache>
<cache-class>org.safehaus.penrose.cache.PersistentSourceCache</cache-class>
<parameter>
<param-name>connection</param-name>
<param-value>Penrose</param-value>
</parameter>
</source-cache>
</server>
See also Persistent Cache
.
Configure Polling Connector Module
Enable the Polling Connector Module. Edit PENROSE_SERVER_HOME/conf/modules.xml:
<modules> <module name="Polling Connector" enabled="true"> <module-class>org.safehaus.penrose.connector.PollingConnectorModule</module-class> <parameter> <param-name>interval</param-name> <param-value>5</param-value> </parameter> </module> </modules>
See also Polling Connector Module
.
Configure LDAP Sync Module
Enable the LDAP Sync Module. Edit PENROSE_SERVER_HOME/conf/modules.xml:
<modules> <module name="LDAP Sync" enabled="true"> <module-class>org.safehaus.penrose.ldap.LDAPSyncModule</module-class> <parameter> <param-name>connection</param-name> <param-value>EDS</param-value> </parameter> </module> </modules>
See also LDAP Sync Module
.
Configure eTrust Directory Module
Configure eTrust Directory module. Edit PENROSE_SERVER_HOME\conf\modules.xml:
<modules>
<module name="eTrust Directory Service">
<module-class>com.identyx.penrose.etrust.ETrustDirectoryModule</service-module>
<parameter>
<param-name>connection</param-name>
<param-value>...</param-value>
</parameter>
<parameter>
<param-name>home</param-name>
<param-value>...</param-value>
</parameter>
<parameter>
<param-name>interval</param-name>
<param-value>...</param-value>
</parameter>
<parameter>
<param-name>server</param-name>
<param-value>...</param-value>
</parameter>
</module>
</modules>
This module will check the update log in eTrust Directory based on the following parameters:
| Parameter | Description | Example |
|---|---|---|
| connection | Name of connection to eTrust Directory as defined in connections.xml | EDS |
| home | Home directory of eTrust Directory | c:\Program Files\CA\eTrust Directory |
| interval | Interval for checking the update log, in seconds. (default: 5). | 5 |
| server | eTrust Directory DSA name | democorp |
See also Modules
.
Initialize Cache
In PENROSE_SERVER_HOME/bin, execute:
cache.bat create cache.bat load
This will take a while to execute. See also Persistent Cache
.
Start Penrose
In PENROSE_SERVER_HOME/bin, execute:
penrose.bat