Schema
Currently schema is only used to help Penrose users designing the mapping. For instance, a warning message will be shown if there is a missing required attribute in the entry definition. However, Penrose currently does not enforce the validity of the mapping nor the output.
Default Schema
Penrose Server comes with several standard schema files. The files are located in PENROSE_SERVER_HOME/schema directory. Only some of these schema are used by default. To use a schema you need to specify it in the server.xml.
<server> <schema path="schema/autofs.schema"/> <schema path="schema/corba.schema"/> <schema path="schema/core.schema"/> <schema path="schema/cosine.schema"/> <schema path="schema/apache.schema"/> <schema path="schema/collective.schema"/> <schema path="schema/inetorgperson.schema"/> <schema path="schema/java.schema"/> <schema path="schema/krb5kdc.schema"/> <schema path="schema/nis.schema"/> <schema path="schema/system.schema"/> <schema path="schema/apachedns.schema"/> <server>
Custom Schema
To add a custom schema, create the schema file (e.g. example.schema) following the format defined in OpenLDAP Schema Specification. It is recommended that you put the file in the PENROSE_SERVER_HOME/schema/ext directory.
Add your schema file into the server.xml.
<server>
<schema path="schema/ext/example.schema"/>
</server>
Compile the schema to generate the bootstrap classes:
cd PENROSE_SERVER_HOME\bin .\schema.bat ..\schema\ext\example.schema
It will produce a new jar file containing the compiled schema classes. It is recommended that you leave the jar file in PENROSE_SERVER_HOME/schema/ext directory. Finally, restart the server.