Bastien Sevajol 1be086e080 Merge branch 'master' into fix/532/webdav_apache_documentation vor 6 Jahren
bin Drops outdated bin/setup.sh vor 7 Jahren
doc fix docker and apache documentation vor 6 Jahren
install Switch to imapclient lib vor 6 Jahren
tracim Merge pull request #537 from inkhey/https-compat vor 6 Jahren
.coveragerc add coveralls.io support vor 10 Jahren
.gitignore filelock for unseen mail fetching vor 6 Jahren
.jshintrc integration of gulp process vor 7 Jahren
.travis.yml Fixes travis script vor 7 Jahren
API.md remove duplication vor 7 Jahren
README.md fix docker and apache documentation vor 6 Jahren
gulpfile.js Add /assets/css/default_skin.css in main root template vor 6 Jahren
package.json improve frontend aspects of install documentation vor 7 Jahren
uppgrade_caldavzap.sh upgrade caldavzap with algoo caldavzap version vor 8 Jahren

README.md

Build Status Coverage Status Scrutinizer Code Quality PyPI

Tracim - Introduction

Tracim is a collaborative software designed to allow people to share and work on various data and document types.

If you hesitate to install a wiki, a forum or a file management software, stop hesitating and install Tracim.

With Tracim, you manage in the same place:

  • forum-like threads,
  • files and automatic versioning,
  • wiki-like pages for online information,

All data offers:

  • information status: open / resolved / cancelled / deprecated
  • native versioning
  • comment threads making Tracim knowledge-growth ready.

Join Tracim community : http://tracim.org

Use-cases

Collaborate with clients

Share information with your clients.

In the same place you will be able to share trouble-shooting threads, files and general information. You can define who the information is shared with.

Example: share the documentation with all your users, run a forum open to your clients, another forum for your collaborators and share troubleshooting threads with each of your clients in a private workspace.

Run a community of experts or passionate people

Collaborate and share experience and stimulate knowledge growth.

In a unique place, you centralize files and threads, and raw information too. Every collaborator can update the information status. Stop worrying about information loss: the traceability is at the hearth of Tracim.

The newcomers knowledge growth is easy because all information has a status and full history. You get the status of information and know how it got there.

Work on quality-driven projects

In quality-driven projects like research and development, knowledge and quality are more important that task ownership and deadlines.

With Tracim, you centralize information, you can stay in touch by configuring your email notifications and work on several projects.

Manage documents and files

Traceability and versioning are very important for high-quality processes. Unfortunately, specialized software are hard to setup and use.

Let's try Tracim ! You define access-control for each workspace and store documents and file there. Users can't delete information: everything is versioned and never deleted.

The user interface is easy to use: it's based on the well-known folders and files explorer paradigm.


Tracim - the software

Licence

Tracim is licensed under the terms of the MIT License

Technical information

Tracim is a web application:

The user interface is based on the following resources and technologies:

It runs on Debian GNU/Linux, it should work out-of-the-box on Ubuntu and also on other GNU/Linux distributions.

Hopefully it works on BSD and Windows OSes (but this has not been tested yet).


Use it (or give it a try)

Online Demo

The easiest way to test Tracim is to test it through the online demo:

Ask for a dedicated instance

If you want your own dedicated instance but do not want to manage it by yourself, let's contact me at damien.accorsi@free.fr

Docker

Important: docker images is for local usage. If you want to use Tracim from network device, its necessary to change some lines in Development.ini file and build new image.

  • For windows:

Install docker toolbox

  • For linux:

You need to install docker on your server first. Example on Debian: sudo apt-get install docker docker-compose

Make sure docker.service is started correctly. exemple on Debian: sudo systemctl status docker

**If you want to use the latest stable image: **

sudo docker run -e DATABASE_TYPE=sqlite \
           -p 80:80 -p 3030:3030 -p 5232:5232 \
           -v /var/tracim/etc:/etc/tracim -v /var/tracim/var:/var/tracim algoo/tracim

For another case, you can find exemple here:

  • You can use algoo/tracim:<$tag> stable image (replace <$tag> by the tag you want to use):

    sudo docker run -e DATABASE_TYPE=sqlite \
           -p 80:80 -p 3030:3030 -p 5232:5232 \
           -v /var/tracim/etc:/etc/tracim -v /var/tracim/var:/var/tracim algoo/tracim:<$tag>
    

Description of versioning:

  • algoo/tracim:latest is latest stable image from branch master
  • algoo/tracim:<$tag> is a stable tag image from branch master
  • algoo/tracim_testing:latest is a latest image from branch develop
  • algoo/tracim:unstable is a latest unstable image from branch develop

More information about command:

sudo docker run \
    -e DATABASE_TYPE=sqlite \   # define database: may be sqlite, mysql, postgresql
    -p 80:80 \  # web server port mapping
    -p 3030:3030 \  # webdav interface port mapping
    -p 5232:5232 \  # caldav interface port mapping
    -v /var/tracim/etc:/etc/tracim \ # config file storage path
    -v /var/tracim/var:/var/tracim \  # file storage path
    algoo/tracim:unstable  # docker image: tracim:unstable for development version, tracim_test:latest for nightly builds

All docker images are available here : https://hub.docker.com/u/algoo/ More information about build docker image: https://github.com/tracim/docker_tracim


Install Tracim on your server

Following the installation documentation below, you'll be able to run your own instance on your server.


Installation

Distribution dependencies

You'll need to install the following packages :

sudo apt install git curl realpath redis-server \
                 python3 python-virtualenv python3-dev python-pip  python-lxml \
                 build-essential libxml2-dev libxslt1-dev zlib1g-dev libjpeg-dev \
                 libmagickwand-6.q16-3

Get the source

Get the sources from GitHub:

git clone https://github.com/tracim/tracim.git
cd tracim/

Frontend dependencies

Install nodejs by typing:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt install -y nodejs

Check that this went well by getting npm version:

npm -v

Then install frontend dependencies listed in the file package.json:

npm install

At last, compile frontend files:

npm run gulp-dev # for a development environment
# npm run gulp-prod # for a production environment

Tracim virtual environment

Create a python virtual environment:

virtualenv -p /usr/bin/python3 tg2env

Activate it in your terminal session (all tracim command execution must be executed under this virtual environment):

source tg2env/bin/activate

Ensure latest pip/setuptools versions are installed:

pip install --upgrade pip setuptools

Install Tracim and its dependencies:

cd tracim/
python setup.py develop
pip install -r ../install/requirements.txt

Configuration files

Create configuration files for a development environment and for WsgiDAV:

cp development.ini.base development.ini
cp wsgidav.conf.sample wsgidav.conf

Translation

Compile translation binary files from available catalogs:

python setup.py compile_catalog

Database schema

The last step before running the application is to initialize the database schema. This is done through the following command:

gearbox setup-app

Running Tracim

The two parameters are optional but useful to reload the server upon code changes and to get debug data:

gearbox serve --reload --debug

You can now enter the application at http://127.0.0.1:8080 and login with admin user:

  • user : admin@admin.admin
  • password : admin@admin.admin

If admin user not created yet, execute following command:

gearbox user create -l admin@admin.admin -p admin@admin.admin -g managers -g administrators

Enjoy :)

Going further

Here is additional documentation about configuring:

Support and Community

Building the community is a work in progress.

Need help ? Do not hesitate to contact me : damien.accorsi@free.fr

<img src="https://raw.githubusercontent.com/tracim/tracim/master/tracim/tracim/public/assets/img/logo_browserstack.png" width="150">

BrowserStack support open source project and graciously helps us testing Tracim on every devices.