If I want to use a different schema for user directory I can create the schema, and contribute to the userDirectory. This contribution would work:
<extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema"> <schema name="user_bar" src="config/user_bar.xsd"/> </extension>
This one would fail:
<extension target="org.nuxeo.ecm.core.schema.TypeService" point="schema"> <schema name="user_bar" src="config/user_bar.xsd" prefix="ub"/> </extension>
with this error:
Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: org.nuxeo.ecm.directory.DirectoryException. message: Directory 'userDirectory' id field 'username' is not present in schema 'user_bar' at org.nuxeo.ecm.directory.sql.SQLDirectory.<init>(SQLDirectory.java:148) at org.nuxeo.ecm.directory.sql.SQLDirectoryProxy.getDirectory(SQLDirectoryProxy.java:50) ... 25 more
Even if the username is defined in the schema. Using "ub:schema" moves the problem somewhere else.