1. Jean-Michel ARMAND
  2. creme_crm

Overview

HTTPS SSH
Creme is a free/open-source Customer Relationship Management software developped by Hybird (www.hybird.org).

Creme is coded in Python, and uses the Django web framework (http://www.djangoproject.com/) and
the JQuery javascript library (http://jquery.com/).

You can find more information on Creme on its official web site: http://cremecrm.com/


RECOMMENDATIONS:
It's recommended to use a database engine which supports transactions.
You probably should use 'virtualenv'.


DEPENDENCIES:
(exact versions are indicated in the file 'creme/requirements.txt')
    - Core
        - Python 2.7
        - Django 1.8 (>= 1.8.5)
        - Django-mediagenerator 1.12
        - redis 2.10 (ie: the python library, & so you'll need the related server too, of course)
        - pytz
        - python-dateutil 1.5
        - bleach 1.4
        - Pillow 3.1
        - Java >= 1.4 (only needed to build the compressed version of CSS and JavaScript files at installation time)

    - Optional
        - creme.creme_core:
            - xlrd (to import contacts and organisations from xls files)
            - xlwt (to export contacts and organisations as xls files)

        - creme.billing:
            - pdflatex (if you want PDF export)

        - creme.graphs:
            - pygraphviz (seems unavailable on windows)

        - creme.crudity:
            - lcab (if you want Infopath forms exports and your server doesn't run on Windows)

        - creme.recurrents:
            - django-formtools 1.0

        - creme.activesync:
            - restkit 4.2
            - pycrypto 2.6

Installation with 'pip':
    - If you use MySQL, you can use the file 'creme/requirements.txt' to install all the libraries
      needed by a classical installation with the command:
        >> pip install -r creme/requirements.txt
    - If you want a customised installation, you'll have to install the package yourself,
      depending on which apps or SQL server you want. For PostGreSQL, install the package 'psycopg2':
        >> pip install psycopg2


INSTALL:
You have to know how to install a Django application.

Upgrade notice : if you already have a Creme installation, upgrade the version one by one
(eg: do not try to upgrade from 1.1 to 1.3, upgrade to 1.2 and then 1.3).

See the creme/settings.py and set your parameters (or put them in a new file called 'creme/local_settings.py' instead).
When you have chosen the creme apps you want (by commenting the unwanted ones), and configured the DB parameters
run the following commands in the root directory:

If you are upgrading from Creme 1.6:
    >> python manage.py migrate --fake-initial
else (ie: new installation):
    >> python manage.py migrate

>> python manage.py generatemedia
[Do not worry about 'URL not found' messages]
>> python manage.py creme_populate

And if you are upgrading from Creme 1.6:
 - Clean all existing sessions, for example like this:
    >> python manage.py shell
    > from django.contrib.sessions.models import Session
    > Session.objects.all().delete()


NOTE for MySQL users:
You should load the time zone tables. On Unix servers, it can be done with :
    >> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

For Windows environment, see https://stackoverflow.com/questions/14454304/convert-tz-returns-null


TROUBLESHOOTING:
- If you got some problems with PIL, check if you are using the legacy PIL (that was in our old requirements) or
  its fork Pillow (new requirement). The best thing to do is first to uninstall PIL, and then install Pillow.