README.txt
author raph
Wed, 03 Mar 2010 10:29:05 +0100
changeset 201 e0032b64c314
parent 135 b1b182bb0fd2
child 208 d23beba39833
permissions -rw-r--r--
add try/except for local timezone conversion to prevent timezone error (mail admins)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
*******
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
Comt
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
*******
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
Presentation
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
============
36
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
     7
Comt is an open source Web-based text annotation platform.
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
License
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
=======
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
GNU AFFERO GENERAL PUBLIC LICENSE
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
http://www.gnu.org/licenses/agpl.html
100
3dc863be86eb added CC license for translations
Philippe Aigrain <philippe.aigrain@sopinspace.com>
parents: 94
diff changeset
    13
for software files
3dc863be86eb added CC license for translations
Philippe Aigrain <philippe.aigrain@sopinspace.com>
parents: 94
diff changeset
    14
3dc863be86eb added CC license for translations
Philippe Aigrain <philippe.aigrain@sopinspace.com>
parents: 94
diff changeset
    15
CC-BY
3dc863be86eb added CC license for translations
Philippe Aigrain <philippe.aigrain@sopinspace.com>
parents: 94
diff changeset
    16
http://creativecommons.org/licenses/by/3.0/
3dc863be86eb added CC license for translations
Philippe Aigrain <philippe.aigrain@sopinspace.com>
parents: 94
diff changeset
    17
for translation files
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
Dependencies
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
============
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
Environment
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
-------------
37
d62454bf4402 fix readme
raph
parents: 36
diff changeset
    24
- Postgresql 8.3 or Mysql 5+ or sqlite
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
- Python 2.5+
37
d62454bf4402 fix readme
raph
parents: 36
diff changeset
    26
- Openoffice 3.0+ (headless) & Pandoc
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
Requirements
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
------------
36
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
    31
- python
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
    32
- python magic
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
    33
- python development headers
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
    34
- python setuptools
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
    35
- python uno
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
- pandoc
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
- headless openoffice
36
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
    38
- git
aa4c2ed7533a remove licenses
raph
parents: 33
diff changeset
    39
- libyaml
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
(all other python dependencies will be downloaded by buildout)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
Installation (development install)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
============
31
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    44
1. Install python2.5+ and all required libraries
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    45
	(ubuntu users : 'sudo apt-get install python python-magic python-setuptools python-uno libyaml-0-1 python-dev git-core')
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
2. Install pandoc
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    47
	(ubuntu users : 'sudo apt-get install pandoc')
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
3. Install openoffice (headless mode) [used for document conversion]
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    49
	(ubuntu users : 'sudo apt-get install sun-java6-jre openoffice.org openoffice.org-headless xvfb)
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
4. Install/configure database [skip this step if you plan to use a sqlite database]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
	4 a) Postgresql
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
		- Install and configure database server [skip this step if use an external database server] 
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    53
		(ubuntu users : 'sudo apt-get install postgresql')		
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
		- Install database client
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    55
		(ubuntu users : 'sudo apt-get install postgresql-client')		
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
		- Install python database connector: psycopg2
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    57
		(ubuntu users : 'sudo apt-get install python-psycopg2')		
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
	4 b) Mysql
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
		-  Install and configure mysql server [skip this step if use an external database server]
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    60
		(ubuntu users : 'sudo apt-get install mysql-server')		
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
		- Install database client
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    62
		(ubuntu users : 'sudo apt-get install mysql-client')
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
		- Install python database connector: mysqldb
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    64
		(ubuntu users : 'sudo apt-get install python-mysqldb')						
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
5. Create a database (we recommend UTF8 encoding) and a read/write access to it. [skip this step if you plan to use a sqlite database]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
   The database account accessing the database MUST have administrative privileges when running the 'syncdb command' (step 8)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
   (The reason for that is that Postgresql requires such privileges to create the C-based stored procedure that we use for full text indexing)
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    68
   (ex. postgresql: 'sudo -u postgres createdb -E utf8 -e <db_name>)
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    69
6. Setup the project and get dependencies
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
   - `python bootstrap.py`
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
   - `./bin/buildout` 
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    72
7. Configure Comt to your settings
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
   - copy settings_local_sample.py to settings_local.py (this file will contain your personal settings)  
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
   - edit settings_local.py to suit your settings (search for 'YOUR_SETTINGS' occurrences, those are mandatory settings)
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    75
8. Create the database structure (and test your database connection)
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
   - `./bin/django syncdb --settings=settings`
31
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    77
   - `./bin/django migrate --settings=settings`
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    78
9. Create basic right management system
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
   - `./bin/django loaddata roles_generic --settings=settings`
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    80
10. Launch development server
17
a4be0b8a905d bug fix : can view own comment on comment add on mod priori
reno
parents: 0
diff changeset
    81
   - `./bin/django runserver --settings=settings`
18
f0f9929a4900 add sudo in ubuntu examples for commands to be run as root
gibus
parents: 17
diff changeset
    82
11. Access your Comt instance by pointing your browser to http://127.0.0.1:8000/
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
Installation (production environment)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
=============
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
If you'd like to install Comt on a production environment, check out django installation guide at http://www.djangoproject.com/documentation/modpython/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
31
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    88
Upgrade
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    89
=======
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    90
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    91
Normal upgrade
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    92
--------------
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    93
Upgrading you database should only need one command:
33
reno
parents: 31
diff changeset
    94
   - `./bin/buildout`
31
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    95
   - `./bin/django migrate --settings=settings`
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    96
   
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    97
Upgrade from alpha releases
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    98
----------------------------
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
    99
If your database was created using comt alpha prior to the revision 29, here are the commands you should run:
33
reno
parents: 31
diff changeset
   100
   - `./bin/buildout`
reno
parents: 31
diff changeset
   101
   - `./bin/django syncdb`
reno
parents: 31
diff changeset
   102
   - `./bin/django migrate cm 0001_initial --fake`
reno
parents: 31
diff changeset
   103
   - `./bin/django migrate`
31
d4eaf4696b08 add upgrade scripts with south
raph
parents: 18
diff changeset
   104
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
Openoffice
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
==========
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
Comt uses openoffice to convert documents from ODT, MS Word, etc. to html.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
On a development setup, you should make sure no openoffice process is left and launch
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
`soffice -headless "-accept=socket,port=2002;urp;"` to start openoffice in background mode.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
Comt uses
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
============
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
Javascript libs used (and license) / shipped with the distribution
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
- Yahoo UI	http://developer.yahoo.com/yui/	BSD License
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
- JQuery	http://jquery.com/	MIT
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
- markItUp  http://markitup.jaysalvat.com/home/ MIT/GPL
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
Python libraries used (and license) / NOT shipped with the distribution
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
-----------------------------------------------------------------------
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
- django			http://www.djangoproject.com/					BSD License
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
- python magic		http://hupp.org/adam/hg/python-magic			permissive BSD style license
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
- Beautiful soup	http://www.crummy.com/software/BeautifulSoup/	PSF license
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
- python-chardet	http://chardet.feedparser.org/					LGPL 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
- python-feedparser	http://feedparser.org/ 							"Permissive" custom license
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
- python-imaging	http://www.pythonware.com/products/pil/ 		http://www.pythonware.com/products/pil/license.htm
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
- python-pytz
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
- html5lib
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
- python-simplejson
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
- python-uno
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
- python-utidylib
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
- python-yaml
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
Icons 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
-----
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
- Icons derived from FatCow Icon Set http://www.fatcow.com/free-icons/index.bml (Creative Commons Attribution 3.0 License)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
FAQ
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
====
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
Q: I get 'import error' when starting the server (step #9)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
R: Make sure you installed all required python dependencies
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
                      
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
Community
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
=========
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
The Comt web site http://www.co-ment.org is the place to ask questions, report bugs, check out the source code or download the releases of Comt.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
85
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   148
How to contribute
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   149
=================
86
f3475a0fd37d how to contribute without using mercurial
raph
parents: 85
diff changeset
   150
f3475a0fd37d how to contribute without using mercurial
raph
parents: 85
diff changeset
   151
Contribute using mercurial
f3475a0fd37d how to contribute without using mercurial
raph
parents: 85
diff changeset
   152
--------------------------
85
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   153
We use mercurial as our source code management system.
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   154
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   155
1. Create a mercurial profile (nickname/email) in ~/.hgrc (cf. http://mercurial.selenic.com/quickstart for more info).
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   156
   This is important because your name will appear in your changeset once it gets accepted into the mainline
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   157
2. Clone the repository `hg clone http://hg.co-ment.org/ comt`
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   158
   OR update your copy of the source code: `hg update`
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   159
3. Hack, hack
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   160
4. Commit locally: `hg commit -m "MY COMMIT MESSAGE"`
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   161
5. Export your changeset to a file: `hg export tip > my_patch.txt`
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   162
6. Create a ticket describing your change and attach your patch to it: http://www.co-ment.org/newticket
101
d8055f2280e8 additional info contrib and licenses
Philippe Aigrain <philippe.aigrain@sopinspace.com>
parents: 100
diff changeset
   163
7. We will review the patch as soon as possible. If we judge it acceptable and useful, we will be back to you regarding copyright, licensing and other legalese.
85
deabd972bda5 add 'How to contribute' to readme
raph
parents: 82
diff changeset
   164
86
f3475a0fd37d how to contribute without using mercurial
raph
parents: 85
diff changeset
   165
Contribute without using mercurial
f3475a0fd37d how to contribute without using mercurial
raph
parents: 85
diff changeset
   166
----------------------------------
94
2760e9b4156e Minor language/formatting issues
Kirill Miazine <km@krot.org>
parents: 86
diff changeset
   167
If you don't want to use mercurial, you can also create a ticket (http://www.co-ment.org/newticket) with a few modified files to the bugtracker.
101
d8055f2280e8 additional info contrib and licenses
Philippe Aigrain <philippe.aigrain@sopinspace.com>
parents: 100
diff changeset
   168
Make sure you leave us a nickname and an email for inclusion in the changelog. Point 7 above also applies to contributions without using mercurial.
86
f3475a0fd37d how to contribute without using mercurial
raph
parents: 85
diff changeset
   169
 
63
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   170
Translation
94
2760e9b4156e Minor language/formatting issues
Kirill Miazine <km@krot.org>
parents: 86
diff changeset
   171
===========
63
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   172
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   173
Update all po files
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   174
---------------------
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   175
cd src/cm
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   176
../../bin/django makemessages -a
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   177
../../bin/django makemessages -d djangojs -a
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   178
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   179
Compile po files
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   180
----------------
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   181
cd src/cm
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   182
../../bin/django compilemessages
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   183
82
2d964b42de45 fix howto generate message files
raph
parents: 63
diff changeset
   184
Create new file for lang 'LG'
63
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   185
-----------------------------
0a610af4033f split followup and embed
raph
parents: 37
diff changeset
   186
cd src/cm
82
2d964b42de45 fix howto generate message files
raph
parents: 63
diff changeset
   187
../../bin/django makemessages -l LG -e .html,.txt
94
2760e9b4156e Minor language/formatting issues
Kirill Miazine <km@krot.org>
parents: 86
diff changeset
   188
../../bin/django makemessages -d djangojs -l LG