Difference between revisions of "PostgreSQL - OpenKM 5.0"

From OpenKM Documentation
Jump to: navigation, search
(Created page with '== Database creation == == JBoss datasources == == Login configuration == == Repository configuration == Category: Installation Guide Category: OKM Network')
 
(Repository configuration)
Line 3: Line 3:
 
== Login configuration ==
 
== Login configuration ==
 
== Repository configuration ==
 
== 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.PostgreSQLPersistenceManager">
 +
          <param name="driver" value="org.postgresql.Driver"/>
 +
          <param name="url" value="jdbc:postgresql://localhost:5432/okm_repo?autoReconnect=true"/>
 +
          <param name="schema" value="postgresql"/>
 +
          <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.PostgreSQLPersistenceManager">
 +
          <param name="driver" value="org.postgresql.Driver"/>
 +
          <param name="url" value="jdbc:postgresql://localhost:5432/okm_repo?autoReconnect=true"/>
 +
          <param name="schema" value="postgresql"/>
 +
          <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].
  
 
[[Category: Installation Guide]]
 
[[Category: Installation Guide]]
 
[[Category: OKM Network]]
 
[[Category: OKM Network]]

Revision as of 14:52, 16 September 2010

Database creation

JBoss datasources

Login configuration

Repository configuration

<?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.PostgreSQLPersistenceManager">
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://localhost:5432/okm_repo?autoReconnect=true"/>
          <param name="schema" value="postgresql"/>
          <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.PostgreSQLPersistenceManager">
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://localhost:5432/okm_repo?autoReconnect=true"/>
          <param name="schema" value="postgresql"/>
          <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>

More info about this at Jackrabbit Configuration.