Difference between revisions of "Several OpenKM instances in the same JBoss"

From OpenKM Documentation
Jump to: navigation, search
(Created page with 'You can have several OpenKM instances running in the same JBoss. This implies some source code modifications, so read carefully Developer Guide before trying this: * openkm_…')
 
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
You can have several OpenKM instances running in the same JBoss. This implies some source code modifications, so read carefully [[Developer Guide]] before trying this:
+
Managing several companies with only one OpenKM instance can present several security problems. Actually there is no way to make a relation between a group of users and a company. This means that when you manage document security, all the users will be shown, even users in other companies. Also is not a good way of doing things because you can't have specific configurations for each company.
  
* openkm_pro/src/hibernate.cfg.xml
+
The best way to accomplish this is having several OpenKM instances in one JBoss. The most complex and time-consuming configuration is related to JBoss. But configuring an OpenKM instance is very straightforward and can take seconds. This implies some source code modifications, so read the [[Developer Guide]] carefully before trying this:
 +
 
 +
{{Note|Replace # with an OpenKM installation id.}}
 +
 
 +
== Files located in $OPENKM_PRJ ==
 +
 
 +
* '''src/main/java/com/openkm/core/Config.java'''
 +
 
 +
<source lang="java">
 +
public static String INSTALL = "#";
 +
</source>
 +
 
 +
* '''src/main/java/com/openkm/frontend/client/config/Config.java'''
 +
 
 +
<source lang="java">
 +
private static String INSTALL = "#";
 +
</source>
 +
 
 +
* '''src/main/java/com/openkm/ws'''
 +
 
 +
<source lang="text">
 +
Disable WS deleting this folder.
 +
</source>
 +
 
 +
* '''src/main/resources/hibernate.cfg.xml'''
  
 
<source lang="xml">
 
<source lang="xml">
Line 7: Line 31:
 
</source>
 
</source>
  
* ''openkm_pro/merge/ear/META-INF/application.xml''
+
* '''src/main/webapp/WEB-INF/web.xml'''
  
 
<source lang="xml">
 
<source lang="xml">
<context-root>/OpenKM#</context-root>
+
<display-name>OpenKM#</display-name>
 
</source>
 
</source>
  
* ''openkm_pro/src/es/git/openkm/core/Config.java
+
* '''src/main/webapp/WEB-INF/jboss-web.xml'''
''
+
 
<source lang="java">
+
<source lang="xml">
public static String INSTALL = "#";
+
<security-domain>java:/jaas/OpenKM#</security-domain>
 +
<context-root>/OpenKM#</context-root>
 
</source>
 
</source>
  
* ''openkm_pro/src/es/git/openkm/frontend/client/config/Config.java''
+
* '''src/pom.xml'''
  
<source lang="java">
+
<source lang="xml">
private static String INSTALL = "#";
+
<finalName>OpenKM#</finalName>
 
</source>
 
</source>
  
* ''openkm_pro/src/es/git/openkm/frontend/client/config/Config.java''
+
== Files located in $JBOSS_HOME ==
 +
 
 +
* '''OpenKM#.cfg'''
  
<source lang="java">
+
<source lang="text">
private static String INSTALL = "#";
+
Duplicate OpenKM configuratoin to meet the new context.
 
</source>
 
</source>
  
* ''openkm_pro/src/es/git/openkm/ws''
+
* '''server/default/conf/login-config.xml'''
  
 
<source lang="text">
 
<source lang="text">
Disable WS deleting this folder.
+
Duplicate OpenKM entry to meet the new context.
 
</source>
 
</source>
  
* $JBOSS_HOME/server/default/conf/login-config.xml
+
* '''server/default/deploy/openkm-ds.xml'''
  
 
<source lang="text">
 
<source lang="text">
Duplicate OpenKM entry to meet the new context.
+
Duplicate OpenKM datasource configuration to meet the new context.
 
</source>
 
</source>
  
* Remove jcr-1.0.jar from OpenKM.ear/OpenKM.jar and OpenKM.ear/OpenKM.war and copy to $JBOSS_HOME/server/default/lib
+
* Remove jcr-1.0.jar from OpenKM.war and copy to '''server/default/lib'''
  
 
[[Category: Installation Guide]]
 
[[Category: Installation Guide]]
[[Category: OKM Network]]
 

Latest revision as of 11:15, 27 December 2012

Managing several companies with only one OpenKM instance can present several security problems. Actually there is no way to make a relation between a group of users and a company. This means that when you manage document security, all the users will be shown, even users in other companies. Also is not a good way of doing things because you can't have specific configurations for each company.

The best way to accomplish this is having several OpenKM instances in one JBoss. The most complex and time-consuming configuration is related to JBoss. But configuring an OpenKM instance is very straightforward and can take seconds. This implies some source code modifications, so read the Developer Guide carefully before trying this:


Nota clasica.png Replace # with an OpenKM installation id.

Files located in $OPENKM_PRJ

  • src/main/java/com/openkm/core/Config.java
public static String INSTALL = "#";
  • src/main/java/com/openkm/frontend/client/config/Config.java
private static String INSTALL = "#";
  • src/main/java/com/openkm/ws
Disable WS deleting this folder.
  • src/main/resources/hibernate.cfg.xml
<property name="hibernate.connection.datasource">java:/OKMWorkflow#DS</property>
  • src/main/webapp/WEB-INF/web.xml
<display-name>OpenKM#</display-name>
  • src/main/webapp/WEB-INF/jboss-web.xml
<security-domain>java:/jaas/OpenKM#</security-domain>
<context-root>/OpenKM#</context-root>
  • src/pom.xml
<finalName>OpenKM#</finalName>

Files located in $JBOSS_HOME

  • OpenKM#.cfg
Duplicate OpenKM configuratoin to meet the new context.
  • server/default/conf/login-config.xml
Duplicate OpenKM entry to meet the new context.
  • server/default/deploy/openkm-ds.xml
Duplicate OpenKM datasource configuration to meet the new context.
  • Remove jcr-1.0.jar from OpenKM.war and copy to server/default/lib