|
|
Line 28: |
Line 28: |
| GRANT ALL ON okm_app.* TO openkm@localhost WITH GRANT OPTION; | | GRANT ALL ON okm_app.* TO openkm@localhost WITH GRANT OPTION; |
| </source> | | </source> |
− |
| |
− | == Repository configuration ==
| |
− | <source lang="xml">
| |
− | <?xml version="1.0"?>
| |
− | <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
| |
− | "http://jackrabbit.apache.org/dtd/repository-1.6.dtd">
| |
− | <Repository>
| |
− | <!-- virtual file system where the repository stores global state
| |
− | (e.g. registered namespaces, custom node types, etc.) -->
| |
− | <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
| |
− | <param name="path" value="${rep.home}/repository"/>
| |
− | </FileSystem>
| |
− |
| |
− | <!-- Security configuration -->
| |
− | <Security appName="OpenKM">
| |
− | <!-- Access manager: FQN of class implementing the AccessManager interface -->
| |
− | <AccessManager class="com.openkm.core.OKMAccessManager"/>
| |
− | <!-- <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/> -->
| |
− | <!-- <AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager"> -->
| |
− | <!-- <param name="config" value="${rep.home}/access.xml"/> -->
| |
− | <!-- </AccessManager> -->
| |
− | </Security>
| |
− |
| |
− | <!-- Location of workspaces root directory and name of default workspace -->
| |
− | <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
| |
− |
| |
− | <!-- Workspace configuration template:
| |
− | used to create the initial workspace if there's no workspace yet -->
| |
− | <Workspace name="${wsp.name}">
| |
− | <!-- Virtual file system of the workspace:
| |
− | class: FQN of class implementing the FileSystem interface -->
| |
− | <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
| |
− | <param name="path" value="${wsp.home}"/>
| |
− | </FileSystem>
| |
− |
| |
− | <!-- Persistence manager of the workspace:
| |
− | class: FQN of class implementing the PersistenceManager interface -->
| |
− | <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
| |
− | <param name="driver" value="com.mysql.jdbc.Driver"/>
| |
− | <param name="url" value="jdbc:mysql://localhost:3306/okm_repo?autoReconnect=true"/>
| |
− | <param name="schema" value="mysql"/>
| |
− | <param name="user" value="openkm"/>
| |
− | <param name="password" value="*****"/>
| |
− | <param name="schemaObjectPrefix" value="${wsp.name}_"/>
| |
− | <param name="externalBLOBs" value="false"/>
| |
− | </PersistenceManager>
| |
− |
| |
− | <!-- Search index and the file system it uses.
| |
− | class: FQN of class implementing the QueryHandler interface -->
| |
− | <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
| |
− | <param name="path" value="${wsp.home}/index"/>
| |
− | <param name="textFilterClasses" value="
| |
− | org.apache.jackrabbit.extractor.PlainTextExtractor,
| |
− | org.apache.jackrabbit.extractor.MsWordTextExtractor,
| |
− | org.apache.jackrabbit.extractor.MsExcelTextExtractor,
| |
− | org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,
| |
− | org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,
| |
− | org.apache.jackrabbit.extractor.RTFTextExtractor,
| |
− | org.apache.jackrabbit.extractor.HTMLTextExtractor,
| |
− | org.apache.jackrabbit.extractor.XMLTextExtractor,
| |
− | org.apache.jackrabbit.extractor.PngTextExtractor,
| |
− | org.apache.jackrabbit.extractor.MsOutlookTextExtractor,
| |
− | com.openkm.extractor.PdfTextExtractor,
| |
− | com.openkm.extractor.AudioTextExtractor,
| |
− | com.openkm.extractor.ExifTextExtractor,
| |
− | com.openkm.extractor.TiffTextExtractor,
| |
− | com.openkm.extractor.SourceCodeTextExtractor,
| |
− | com.openkm.extractor.MsOffice2007TextExtractor"/>
| |
− | <param name="extractorPoolSize" value="2"/>
| |
− | <param name="supportHighlighting" value="false"/>
| |
− | <param name="indexingConfiguration" value="${wsp.home}/../../../indexing_configuration.xml"/>
| |
− | </SearchIndex>
| |
− | </Workspace>
| |
− |
| |
− | <!-- Configures the versioning -->
| |
− | <Versioning rootPath="${rep.home}/version">
| |
− | <!-- Configures the filesystem to use for versioning for the respective
| |
− | persistence manager -->
| |
− | <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
| |
− | <param name="path" value="${rep.home}/version" />
| |
− | </FileSystem>
| |
− |
| |
− | <!-- Configures the persistence manager to be used for persisting version state.
| |
− | Please note that the current versioning implementation is based on
| |
− | a 'normal' persistence manager, but this could change in future
| |
− | implementations. -->
| |
− | <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
| |
− | <param name="driver" value="com.mysql.jdbc.Driver"/>
| |
− | <param name="url" value="jdbc:mysql://localhost:3306/okm_repo?autoReconnect=true"/>
| |
− | <param name="schema" value="mysql"/>
| |
− | <param name="user" value="openkm"/>
| |
− | <param name="password" value="*****"/>
| |
− | <param name="schemaObjectPrefix" value="version_"/>
| |
− | <param name="externalBLOBs" value="false"/>
| |
− | </PersistenceManager>
| |
− | </Versioning>
| |
− |
| |
− | <!-- Search index for content that is shared repository wide
| |
− | (/jcr:system tree, contains mainly versions) -->
| |
− | <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
| |
− | <param name="path" value="${rep.home}/repository/index"/>
| |
− | <param name="textFilterClasses" value=""/>
| |
− | <param name="extractorPoolSize" value="2"/>
| |
− | <param name="supportHighlighting" value="false"/>
| |
− | </SearchIndex>
| |
− |
| |
− | <!-- DataStore improve file handling performance -->
| |
− | <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
| |
− | <param name="path" value="${rep.home}/repository/datastore"/>
| |
− | <param name="minRecordLength" value="100"/>
| |
− | </DataStore>
| |
− | </Repository>
| |
− | </source>
| |
− |
| |
− | More info about this at [http://jackrabbit.apache.org/jackrabbit-configuration.html Jackrabbit Configuration].
| |
| | | |
| == JBoss datasources == | | == JBoss datasources == |
In this OpenKM release you can create the databases automatically configuring the hibernate.dialect and hibernate.hbm2ddl properties in OpenKM.cfg.
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl=create
DROP DATABASE IF EXISTS okm_repo;
DROP DATABASE IF EXISTS okm_app;
CREATE DATABASE okm_repo DEFAULT CHARACTER SET utf8;
CREATE DATABASE okm_app DEFAULT CHARACTER SET utf8;
CREATE USER openkm@localhost IDENTIFIED BY '*secret*';
GRANT ALL ON okm_app.* TO openkm@localhost WITH GRANT OPTION;
<local-tx-datasource>
<jndi-name>OpenKMDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/okm_app?autoReconnect=true</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>openkm</user-name>
<password>*****</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>28680</idle-timeout-minutes>
<exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name>
<valid-connection-checker-class-name>com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker</valid-connection-checker-class-name>
<metadata>
<type-mapping>MySQL</type-mapping>
</metadata>
</local-tx-datasource>
<!-- OpenKM -->
<application-policy name = "OpenKM">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag = "required">
<module-option name="dsJndiName">java:/OpenKMDS</module-option>
<module-option name="principalsQuery">select usr_password as PASSWD from OKM_USER where usr_id=? and usr_active=true</module-option>
<module-option name="rolesQuery">select ur_role as ROLEID, 'Roles' from OKM_USER_ROLE where ur_user=?</module-option>
<module-option name="hashAlgorithm">md5</module-option>
<module-option name="hashEncoding">hex</module-option>
</login-module>
</authentication>
</application-policy>