Foren

Liferay 5.2.3 - Jackrabbit

Nadjim Bourezak, geändert vor 14 Jahren.

Liferay 5.2.3 - Jackrabbit

New Member Beiträge: 19 Beitrittsdatum: 31.03.09 Neueste Beiträge
Hi,

I am trying to set up Jackrabbit to push documents in my database.

(liferay-portal-tomcat-5.5-5.2.3, mysql 5.1.34)

I've created a schema "jcr" in my sql and the tables a created correctly but when I tried to import a document, it still puts it on the local filesystem.

Any help would be greatly appreciated.


So far I've create a portal-ext.properties with the following values:

jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://10.65.36.100:3306/lportal?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false
jdbc.default.username=xroads
jdbc.default.password=mypassword

jcr.initialize.on.startup=true
jcr.workspace.name=liferay
jcr.node.documentlibrary=documentlibrary

jcr.jackrabbit.repository.root=${liferay.home}/data/jackrabbit
jcr.jackrabbit.config.file.path=${jcr.jackrabbit.repository.root}/repository.xml
jcr.jackrabbit.repository.home=${jcr.jackrabbit.repository.root}/home
jcr.jackrabbit.credentials.username=none
jcr.jackrabbit.credentials.password=none

--------

The repository.xml file is as follow:
<?xml version="1.0"?>

<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://10.65.36.100:3306/jcr?autoReconnect=true" />
<param name="user" value="xroads" />
<param name="password" value="xr0ads" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_R_FS_"/>
</FileSystem>

<Security appName="Jackrabbit">
<AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager" />
<LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
<param name="anonymousId" value="anonymous" />
</LoginModule>
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="liferay" />
<Workspace name="${wsp.name}">
<PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="url" value="jdbc:mysql://10.65.36.100:3306/jcr?autoReconnect=true" />
<param name="user" value="xroads" />
<param name="password" value="xr0ads" />
<param name="schema" value="mysql" />
<param name="schemaObjectPrefix" value="J_PM_${wsp.name}_" />
<param name="externalBLOBs" value="false" />
</PersistenceManager>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://10.65.36.100:3306/jcr?autoReconnect=true" />
<param name="user" value="xroads" />
<param name="password" value="xr0ads" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
</FileSystem>
</Workspace>
<Versioning rootPath="${rep.home}/version">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://10.65.36.100:3306/jcr?autoReconnect=true" />
<param name="user" value="xroads" />
<param name="password" value="xr0ads" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_V_FS_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="url" value="jdbc:mysql://10.65.36.100:3306/jcr?autoReconnect=true" />
<param name="user" value="xroads" />
<param name="password" value="xr0ads" />
<param name="schema" value="mysql" />
<param name="schemaObjectPrefix" value="J_V_PM_" />
<param name="externalBLOBs" value="false" />
</PersistenceManager>
</Versioning>

<!--
Cluster Configuration

This is sample configuration for mysql persistence that can be used for
clustering Jackrabbit. For other databases, change the connection,
credentials, and schema settings.
-->

<!--<Cluster id="node_1" syncDelay="5">
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="revision" value="${rep.home}/revision"/>
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost/jcr"/>
<param name="user" value=""/>
<param name="password" value=""/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_C_"/>
</Journal>
</Cluster>-->
</Repository>


Thanks in advance
thumbnail
Amos Fong, geändert vor 14 Jahren.

RE: Liferay 5.2.3 - Jackrabbit

Liferay Legend Beiträge: 2047 Beitrittsdatum: 07.10.08 Neueste Beiträge
In 5.2.3, the default document library hook is filesystem.

Try also setting this property.

dl.hook.impl=com.liferay.documentlibrary.util.JCRHook
Nadjim Bourezak, geändert vor 14 Jahren.

RE: Liferay 5.2.3 - Jackrabbit (solved)

New Member Beiträge: 19 Beitrittsdatum: 31.03.09 Neueste Beiträge
Great thank you for your help that was the problem. My documents are now in the database.
thumbnail
Srikanth Reddy Sanivarapu, geändert vor 14 Jahren.

RE: Liferay 5.2.3 - Jackrabbit (solved)

Regular Member Beiträge: 203 Beitrittsdatum: 15.11.08 Neueste Beiträge
Hi Nadjim Bourezak,

What you did for storing documents in DB instead of storing in Local system.

Did u create jcr DB or using the same one..?

Reply me ..

Thanks & Regards,
Srikanth Reddy.S
Nadjim Bourezak, geändert vor 14 Jahren.

RE: Liferay 5.2.3 - Jackrabbit (solved)

New Member Beiträge: 19 Beitrittsdatum: 31.03.09 Neueste Beiträge
Hi,

I created a schema (jcr) in mysql and in the portal-ext.properties I added the following values:


## Configuration for Jackrabbit (repository)

jcr.jackrabbit.repository.root=${liferay.home}/data/jackrabbit
jcr.jackrabbit.config.file.path=${jcr.jackrabbit.repository.root}/repository.xml
jcr.jackrabbit.repository.home=${jcr.jackrabbit.repository.root}/home
jcr.jackrabbit.credentials.username=none
jcr.jackrabbit.credentials.password=none

I restarted tomcat and the tables where created.

I also made change accordingly to the admin guide to the repository.xml file in ( /liferay-portal-5.2.3/data/jackrabbit )

Let me know if you have other questions.

Regards.
patrick pat, geändert vor 14 Jahren.

RE: Liferay 5.2.3 - Jackrabbit (solved)

New Member Beiträge: 19 Beitrittsdatum: 24.04.09 Neueste Beiträge
Hello

i followed your instructions but still got errors

here is my repository.xml

<?xml version="1.0"?>

<Repository>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost/jcr" />
<param name="user" value="root" />
<param name="password" value="root" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_R_FS_"/>
</FileSystem>

<Security appName="Jackrabbit">
<AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager" />
<LoginModule class="org.apache.jackrabbit.core.security.SimpleLoginModule">
<param name="anonymousId" value="anonymous" />
</LoginModule>
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="liferay" />
<Workspace name="${wsp.name}">
<PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="url" value="jdbc:mysql://localhost/jcr" />
<param name="user" value="root" />
<param name="password" value="root" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_PM_${wsp.name}_" />
<param name="externalBLOBs" value="false" />
</PersistenceManager>
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost/jcr" />
<param name="user" value="root" />
<param name="password" value="root" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_FS_${wsp.name}_"/>
</FileSystem>
</Workspace>
<Versioning rootPath="${rep.home}/version">

<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost/jcr" />
<param name="user" value="root" />
<param name="password" value="root" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_V_FS_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleDbPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver" />
<param name="url" value="jdbc:mysql://localhost/jcr" />
<param name="user" value="root" />
<param name="password" value="root" />
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_V_PM_" />
<param name="externalBLOBs" value="false" />
</PersistenceManager>
</Versioning>
<Cluster id="node_1" syncDelay="5">
<Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">
<param name="revision" value="${rep.home}/revision"/>
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost/jcr"/>
<param name="user" value="root"/>
<param name="password" value="root"/>
<param name="schema" value="mysql"/>
<param name="schemaObjectPrefix" value="J_C_"/>
</Journal>
</Cluster>
</Repository>

and i create a portal-ext.properties in ...jboss-tomcat-4.2.3\server\default\deploy\ROOT.war\WEB-INF\classes where i put these instructions




dl.hook.impl=com.liferay.documentlibrary.util.JCRHook
##
## JCR
##

jcr.initialize.on.startup=false

jcr.workspace.name=liferay
jcr.node.documentlibrary=documentlibrary

jcr.jackrabbit.repository.root=${liferay.home}/data/jackrabbit
jcr.jackrabbit.config.file.path=${jcr.jackrabbit.repository.root}/repository.xml
jcr.jackrabbit.repository.home=${jcr.jackrabbit.repository.root}/home
jcr.jackrabbit.credentials.username=none
jcr.jackrabbit.credentials.password=none

when i try to remove a document in my folder i got this message

Caused by: java.sql.SQLException: Accès refusé pour l'utilisateur: ''@'@localhost' (mot de passe: NON)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:911)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3953)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2048)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:723)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:298)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.apache.jackrabbit.core.persistence.bundle.util.ConnectionFactory.getConnection(ConnectionFactory.java:92)
at org.apache.jackrabbit.core.fs.db.DbFileSystem.getConnection(DbFileSystem.java:196)
at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.initConnection(DatabaseFileSystem.java:966)
at org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:184)
patrick pat, geändert vor 14 Jahren.

RE: Liferay 5.2.3 - Jackrabbit (solved)

New Member Beiträge: 19 Beitrittsdatum: 24.04.09 Neueste Beiträge
I got it

i have to change the value of the user and password in the workspace.xml

But i have a question please:

What is the order of execution? because initially (when we download a bundle)

-There is just a repository.xml

When are the other files created?