hi luca, On 11/27/06, Luca Fiscato <[EMAIL PROTECTED]> wrote:
Hi,I'm currently using jackrabbit 1.0.1 as a cms repository for an open source business intelligence project. (SpagoBI project, developed by Engineering Ingegneria Informatica). The SpagoBI platform is used by our customers and one of these wants to store the cms contents into an Oracle database. When I tried to configure the PersistenceManager towars an oracle db I found that jackrabbit 1.0.1 wasn't able to do that. (I didn't try the last 1.1 version). So we tried to add the Oracle support to jackrabbit and we did it. We had to: 1 ) write a ddl for oracle 2 ) add a class DbOracleFileSystem into org\apache\jackrabbit\core\fs\db (some changes to the statements) 3 ) add a class SimpleOracleDbPersistenceManager into org\apache\jackrabbit\core\state\db (changes to the blob insertion for contents greater than 4 kb) 4 ) change the repository.xml as below <Repository> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbOracleFileSystem"> ....... <param name="schemaObjectPrefix" value="CMS_rep_fs_"/> </FileSystem> ..... <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> <Workspace name="${wsp.name}"> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbOracleFileSystem"> ....... <param name="schemaObjectPrefix" value="CMS_wor_fs_${wsp.name}_"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleOracleDbPersistenceManager"> ...... <param name="schemaObjectPrefix" value="CMS_wor_pm_${wsp.name}_"/> <param name="externalBLOBs" value="false"/> </PersistenceManager> </Workspace> <Versioning rootPath="${rep.home}/version"> <FileSystem class="org.apache.jackrabbit.core.fs.db.DbOracleFileSystem"> ....... <param name="schemaObjectPrefix" value="CMS_ver_fs_"/> </FileSystem> <PersistenceManager class="org.apache.jackrabbit.core.state.db.SimpleOracleDbPersistenceManager"> ...... <param name="schemaObjectPrefix" value="CMS_ver_pm_"/> <param name="externalBLOBs" value="false"/> </PersistenceManager> </Versioning> </Repository> We did the work quickly so I'm sure that our changes can be improved a lot, especially the ddls. (There are no constraints for example). We think that the oracle support should be included into jackrabbit and so we would like to contribute our changes. The jackrabbit team could start form these contribution in order to add a better oracle support. I don't know if this is the right mailing list for a contribution request but it seems to be the most probable. As attachment there is a zip file containing the classes and ddls added. Please let me know if jackrabbit team plan to integrate the oracle support into one of the next releases.
thanks for your offer and efforts, very much appreciated! unfortunately your contribution comes a bit too late, there's oracle support in jackrabbit's svn since june 06 and released since jackrabbit 1.1: org.apache.jackrabbit.core.fs.db.OracleFileSystem org.apache.jackrabbit.core.persistence.db.OraclePersistenceManager please let me know if you can identify any issues with the current implementations. thanks again, stefan
Cheers Luca Fiscato Engineering Ingegneria Informatica
