Hi
I would like to change the 5.1.0.SNAPSHOT (2007/07/17) installation to use a
PostgreSQL database as repository. I followed the HOWTO as
described in chapter 20.4.1. "Configure Nuxeo Core storage" in the Nuxeo book,
but I can't get it to work. I read in another email that this "How to " doen't
work with Nuxeo 5.1.0.M3, but with the snapshot of the 2007/07/17?
Here's what I did:
* I'm using PostgreSQL-8.2.4 on the same machine which is running nuxeo. I have
copied the .jar file in $JBOSS_HOME/server/default/lib
* I have the postgresql-8.2-505.jdbc3.jar file installed in
$JBOSS_HOME/server/default/lib
* I created a user "postgres" owning database "nuxeo" in the PostgreSQL
RDBMS. The PostgreSQL default schema is "public"
* I created file
$JBOSS_HOME/server/default/deploy/nuxeo.ear/config/MyRepo-repository-config.xml
with the following content:
<?xml version="1.0"?>
<component name="org.nuxeo.project.sample.repository.MyRepo">
<extension target="org.nuxeo.ecm.core.repository.RepositoryService"
point="repository">
<repository name="MyRepo"
factory="org.nuxeo.ecm.core.repository.jcr.JCRRepositoryFactory"
securityManager="org.nuxeo.ecm.core.repository.jcr.JCRSecurityManager"
forceReloadTypes="false">
<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${rep.home}/repository"/>
</FileSystem>
<Security appName="Jackrabbit">
<AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager">
</AccessManager>
<LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
<param name="anonymousId" value="anonymous"/>
</LoginModule>
</Security>
<!-- Workspaces configuration. Nuxeo only uses the default workspace. -->
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<Workspace name="${wsp.name}">
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${wsp.home}"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost/nuxeo"/>
<param name="user" value="postgres"/>
<param name="password" value="password"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
</SearchIndex>
</Workspace>
<!-- Versioning configuration. -->
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${rep.home}/version"/>
</FileSystem>
<PersistenceManager
class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://localhost/nuxeo"/>
<param name="user" value="postgres"/>
<param name="password" value="password"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jcr_ver_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
</Versioning>
<!-- Index for repository-wide information, mainly versions. -->
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/repository/index"/>
</SearchIndex>
</Repository>
</repository>
</extension>
</component>
* I created file
$JBOSS_HOME/server/default/deploy/nuxeo.ear/config/MyPlatform-Layout-config.xml
with the following content:
<?xml version="1.0"?>
<component name="MyPlatformLayout">
<require>org.nuxeo.ecm.platform.api.DefaultPlatform</require>
<extension target="org.nuxeo.ecm.platform.util.LocationManagerService"
point="location">
<locationManagerPlugin>
<!-- This disable the default (demo) repository -->
<locationEnabled>false</locationEnabled>
<locationName>demo</locationName>
</locationManagerPlugin>
<locationManagerPlugin>
<!-- This enable your new repository -->
<locationEnabled>true</locationEnabled>
<locationName>MyRepo</locationName>
<!-- Use the name of your repository -->
</locationManagerPlugin>
</extension>
<extension target="org.nuxeo.ecm.core.api.repository.RepositoryManager"
point="repositories">
<documentation>The default repository</documentation>
<repository name="MyRepo" label="My Repository"/>
</extension>
<extension target="org.nuxeo.runtime.api.ServiceManagement" point="services">
<service class="org.nuxeo.ecm.core.api.CoreSession" name="MyRepo" group="core">
<locator>%DocumentManagerBean</locator>
</service>
</extension>
</component>
* I started JBOSS and got the following errors and exceptions:
[....]
15:31:21,658 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
--- MBeans waiting for other MBeans ---
ObjectName: jboss.jca:service=ConnectionFactoryBinding,name=NXRepository/MyRepo
State: FAILED
Reason: org.jboss.deployment.DeploymentException: Could not create ConnectionF
actory for adapter: jboss.jca:service=TxCM,name=NXRepository/MyRepo
I Depend On:
jboss.jca:service=TxCM,name=NXRepository/MyRepo
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: jboss.jca:service=ConnectionFactoryBinding,name=NXRepository/MyRepo
State: FAILED
Reason: org.jboss.deployment.DeploymentException: Could not create ConnectionF
actory for adapter: jboss.jca:service=TxCM,name=NXRepository/MyRepo
I Depend On:
jboss.jca:service=TxCM,name=NXRepository/MyRepo
* When I run Nuxeo and I connect, 2 available repostories are shown on the
page:
- My Repo
- Default
*Then when I click on "My Repo", I get the error:
org.nuxeo.ecm.core.api.ClientException: No such repository 'Failed to lookup
repository: MyRepo
Any idea? Did I make a mistake?Is that example in the Nuxeo book wrong?
Is there an example using PostgreSQL as repository (not in the Nuxeo book)?
Thanks
Frederic
This message contains information that may be privileged or confidential and is
the property of the Capgemini Group. It is intended only for the person to whom
it is addressed. If you are not the intended recipient, you are not authorized
to read, print, retain, copy, disseminate, distribute, or use this message or
any part thereof. If you receive this message in error, please notify the
sender immediately and delete all copies of this message.
_______________________________________________
ECM mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm