Development (build from source)

1. Install and configure the necessary software

Set the environment variables. Set M2_HOME = <MAVEN_PATH> /apache-maven-3.3.1

2. Set up maven to work with Citeck artifacts

For maven, you need to make additional settings to connect to citeck artifactory in the settings.xml file (copy the file to your .m2 directory)

3. Cloning of the ECOS Community repository

1. The mercurial command for cloning the repository:

> hg clone https://bitbucket.org/citeck/ecos-community

2. The command to go to the master branch

> hg update master

4. Launch project from CLI

$ run.sh

> run.bat

User: admin / admin

Configure IntelliJ IDEA (optional)

Opening a project from Idea - as maven project (pom.xml in root directory)

Configuration for launching from IntelliJ IDEA

  1. Edit  configurations → Create → maven
  2. Parameters → Command line: clean install ecos: run -DskipTests = true
  3. Profiles → citeck development
  4. Runner → Environment variables: MAVEN_OPTS = -Xms256m -Xmx2G

You can run this configuration both on Run and Debug with running breakpoints in Java

Useful links

http://docs.alfresco.com/5.1/concepts/alfresco-sdk-installing-prerequisite-software.html - Setting Up the Environment

Test / Production

The document describes how to install and configure Citeck ECOS system.

Installing Citeck ECOS - Docker container

Docker-image of ECOS Community is based on CentOS 7.
All required software is already installed.

Run the image with:

docker run -d -p 8080:8080 -p 8443:8443 nexus.citeck.ru/ecos-community

It is recommended to use environment variables to configure the container:

docker run -d --env-file community.env -p 8080:8080 -p 8443:8443 nexus.citeck.ru/ecos-community

To store data during startup it is better to mount volumes for data. You can do it with:

docker run -d --env-file community.env -v /opt/alfresco/content:/content -v /opt/alfresco/solr4:/var/lib/solr4 -v /opt/alfresco/postgresql:/alfresco/alf_data/postgresql -p 8080:8080 -p 8443:8443 nexus.citeck.ru/ecos-community

It will create /opt/alfresco/ directory with content, solr4, postgresql sub-directories mounted to docker-container by docker-engine.

To create a separate volume for logs is also a good idea. The command is:

-v /opt/alfresco/logs:/alfresco/tomcat/logs

There is also a function allowing you to mount additional properties file and it will be included in alfresco-global.properties

docker run -d --env-file community.env -v /opt/alfresco/content:/content -v /opt/alfresco/solr4:/var/lib/solr4 -v /opt/alfresco/postgresql:/alfresco/alf_data/postgresql -v /opt/alfresco/conf/alfresco_additional.properties:/tmp/alfresco/alfresco_additional.properties
-p 8080:8080 -p 8443:8443 nexus.citeck.ru/ecos-community

Few tags are available for ECOS Community:


List of variables and default values:

ALFRESCO_HOSTNAME=127.0.0.1
ALFRESCO_PROTOCOL=http
SHARE_HOSTNAME=127.0.0.1
SHARE_PROTOCOL=http
DB_KIND=postgresql
DB_USERNAME=alfresco
DB_PASSWORD=alfr3sc0
DB_NAME=alfresco
DB_HOST=localhost
DB_PORT=5432
SYSTEM_SERVERMODE=PRODUCTION
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME
MAIL_PASSWORD
MAIL_FROM_DEFAULT=alfresco@alfresco.org
MAIL_PROTOCOL=smtp
MAIL_SMTP_AUTH=false
MAIL_SMTP_STARTTLS_ENABLE=false
MAIL_SMTPS_AUTH=false
MAIL_SMTPS_STARTTLS_ENABLE=false
FTP_PORT=21
CIFS_ENABLED=true
CIFS_SERVER_NAME=localhost
CIFS_DOMAIN=WORKGROUP
NFS_ENABLED=true
LDAP_ENABLED=false
LDAP_KIND=ldap
LDAP_AUTH_USERNAMEFORMAT=uid=%s,cn=users,cn=accounts,dc=example,dc=com
LDAP_URL=ldap://ldap.example.com:389
LDAP_DEFAULT_ADMINS=admin
LDAP_SECURITY_PRINCIPAL=uid=admin,cn=users,cn=accounts,dc=example,dc=com
LDAP_SECURITY_CREDENTIALS=password
LDAP_GROUP_SEARCHBASE=cn=groups,cn=accounts,dc=example,dc=com
LDAP_USER_SEARCHBASE=cn=users,cn=accounts,dc=example,dc=com
LDAP_USER_ATTRIBUTENAME=uid
LDAP_GROUP_MEMBER_ATTRIBUTENAME=memberUid
CONTENT_STORE=/content
TOMCAT_CSRF_PATCH="${ALF_HOME}/disable_tomcat_CSRF.patch"
TOMCAT_CSRF_ENABLED=true
SOLR_STORE=$CONTENT_STORE/solr4
FLOWABLE_URL=http://localhost:8080
FLOWABLE_DBNAME=alf_flowable

Operation check

In the event of faults in operation of the system, it is worth looking for a cause in the log files.

Alfresco and ECOS settings

When installing, the settings shall be corrected in unusual cases only: individual installation of DBMS, LibreOffice, imagemagick, swftools, etc.

Settings file: tomcat/shared/classes/alfresco-global.properties

Settings of the access to the DBMS

db.driver=org.postgresql.Driver
db.username=alfresco
db.password=admin
db.url=jdbc:postgresql://localhost/alfresco

External program settings

LibreOffice

ooo.exe=/opt/alfresco-5.1.f/libreoffice/program/soffice.bin
ooo.enabled=true
ooo.port=8100

Image Magic

img.root=/opt/alfresco-5.1.f/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert

SWF Tools

swf.exe=/opt/alfresco-5.1.f/common/bin/pdf2swf
swf.languagedir=/opt/alfresco-5.1.f/common/japanese

Other settings

Path to the file repository

dir.root=./alf_data
dir.contentstore=${dir.root}/contentstore
dir.contentstore.deleted=${dir.root}/contentstore.deleted

External protocols and interfaces

system.webdav.servlet.enabled=true
imap.server.enabled=false
imap.server.port=143
ftp.enabled=true
ftp.port=21
cifs.enabled=true
cifs.tcpipSMB.port=445

Flowable BPM engine configuration

Citeck ECOS Flowable integration