You are looking at documentation for an older release. Not what you want? See the current release documentation.
eXo Platform uses three datasources:
IDM: For Identity Management service.
JCR: For Java Content Repository service.
JPA: To store entities mapped by Hibernate.
Create 3 databases, one for IDM, one for JCR and one for JPA, or you can use the same database for all pf them. Leave the databases empty, the tables will be created automatically in Platform first startup.
If you do not need to support specific characters, it is recommended to use the character set latin1
and the collation latin1_general_cs
(as eXo JCR is case sensitive). For example, in MySQL:
CREATE DATABASE plf_jcr DEFAULT CHARACTER SET latin1 DEFAULT COLLATE latin1_general_cs;.
If you need to support specific characters, it is recommended to use the character set utf8
and the collation utf8_bin
(as eXo JCR is case sensitive). For example, in MySQL:
CREATE DATABASE plf_jcr DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
To avoid username/profile duplication, IDM schema should be case insensitive i.e it should use the collaction
latin1_swedish_ci
. For example, in MySQL:
CREATE DATABASE plf_idm DEFAULT CHARACTER SET latin1 DEFAULT COLLATE latin1_swedish_ci;
Grant a user the right to access the databases. The user should be allowed to access remotely from where eXo Platform is hosted.
For example, in MySQL:
grant all on ${dbname}.* to '$username'@'$IP' identified by '$password';
$IP is your app server host name that accepts wildcard (for example, 192.168.1.% = all IPs on 192.168.1.x network).
$username and $password are credentials that eXo Platform will use to connect to the databases.