0 Votes

Source Repository, Building and Installing

Last modified by deen mark on 2020/01/29 17:35

XCLAMS is an open source project and all the sources are stored on github. You can find the XCLAMS Git page here.

Checking out XCLAMS sources

Here the git commands used to clone the repository and switch to the current branch

git checkout origin/master

Building the sources

To build you need a working maven environment allowing building XWiki. Find more information about setting up the build environment on the XWiki.org Build pages.

The command to build xwiki-clams-core is:

cd xwiki-clams-core
mvn install -Pmysql



This needs to be verified in the latest build

There will be three files hand-manipulated: the web/pom.xml and web/src/main/webapp/WEB-INF/hibernate.cfg.xml and web/src/main/webapp/skins/curriki20/javascripts.vm

  • in web/src/main/webapp/skins/curriki20/javascripts.vm uncomment the line with JSTrans (there is a comment explaining this) otherwise Javascript translations won't work in the add path !Is this still valid in XCLAMS 3.x!
  • in hibernate.cfg.xml, modify as needed the database connection. The default hibernate.cfg.xml is mysql with the database named xwiki. If you are doing a new install make sure the database is empty.
  • if you want to modify xwiki.cfg, this should be done in the web/pom.xml you can add properties in the section xwikiCfgAdditionalProperties


Automatic build

Run build.sh

Manual build

  • before you build delete the file wiki/src/main/resources/package.xml which otherwise makes the build create a wrong curriki-wiki.xar
rm wiki/src/main/resources/package.xml
  • build using maven in your directory (using -Phsqldb or -Ppostgres if you have a different database type)
mvn install -Pmysql
  • in wiki/ build (don't forget to delete the wiki/src/main/resources/package.xml file before your build - this file is needed to deploy curriki but get's in the way of the build since the xar packager does not recreate it)
cd wiki
mvn install
  • delete a duplicate plexus file
rm web/target/curriki-web-1.0-SNAPSHOT/WEB-INF/lib/plexus-container-default-1.0-alpha-30.jar


We should verify the modifications to hibernate.cfg.xml and xwiki.cfg are present in the build result. The build is in web/target/curriki-web-1.0-SNAPSHOT (is referenced as xwiki below)

  • check xwiki/WEB-INF/xwiki.cfg to make sure the property curriki.system.hostname to the name (and port-number) of your server. 
  • check the hibernate configs aside (both should be correct based on the changes above)

Setup MySQL

If you have installed with a mysql database:

  • create an empty database with proper rights for access from localhost
create database curriki;
grant all on curriki.* to xwiki@localhost identified by 'xwiki';

Start your container

  • tune the memory of the container (I put CATALINA_OPTS="-Xms188m -Xmx512m -server" in catalina.sh for tomcat for example)
  • install web app in the container (the default webapp name is xwiki, in tomcat, this means that the content of web/target/curriki-web-1.0-SNAPSHOT is copied to /webapps/xwiki.
  • start the container

    if you have a 'DBCP Pool' exception, then you have made some mistake with your Database configuration.

Import your default Wiki

At this point you should have an XWiki up and running. The skin might be xwiki default skin or curriki skin depending on the settings in xwiki.cfg

Log-in and run post-processing

  • After importing you will get a message saying that "you are not allowed to view this page". This is normal, because new rights have been importer. Use Admin/admin to log-in as Admin (note uppercase username, lowercase password)
  • visit Admin/GiveProgRights and confirm (e.g. http://localhost:8080/xwiki/bin/view/Admin/GiveProgRights). Without this some pages won't have proper rights and will show errors (like the Featured Member panel)
  • Change smtp server in the Administration/Global Settings. Without this you cannot send notifications and invitations by email and you will get errors.

    The application should fully work at this point

Get involved

To communicate with the XCLAMS developer community, please join the xclams-devs mailing list at http://lists.xwiki.org/mailman/listinfo/xclams-devs
This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 12.10.5-node2 - Documentation