twistranet - An Enterprise Social Network
This is the twistranet project!
(c)2011 NumeriCube (http://www.numericube.com)
twistranet is an Enterprise Social Software. It’s a Social Network you can use to help people collaborate. And it is also a nice CMS (Content Management System) with a social focus.
twistranet is published under the termes of the GNU Affero General Public License v3.
TwistraNet is written in PYTHON (>= 2.6) Twistranet is based on Django Framework (as of writing, for v2.0.0 Django >= 1.4 is mandatory,)
If Django is always installed you can install twistranet over your Django platform. Otherwise The last Django version will be downloaded and installed at setup.
Installation - short version
- Install requirements (Python 2.6, pip and PIL)
- In any directory, just execute:
- (sudo) pip install numericube-twistranet
twistranet is now installed. You can have many sites with just one twistranet installation, so you need to explicitly deploy and bootstrap your new site.
- (sudo) twistranet_project <path_to_my_new_site>
Don’t forget to write down your generated admin password (just look at first server start LOG)!!
Your server should now be fully working and running on http://localhost:8000 !
If you want to start it again:
- cd <path_to_my_new_site>
- python ./manage.py runserver 0.0.0.0:8000
Installation - the Big Picture
Installation is in fact a 2 steps process. You must install twistranet’s core features as a python library, then you have to create a project (which is an instance of a twistranet site).
To install twistranet’s core features:
- Download and install Python >= 2.6 (with pip and PIL)
- Execute (as a superuser) “pip install numericube-twistranet” ; this will normally download and install twistranet and all dependencies.
To create a new project:
- In the directory you want your website files created, type “python twistranet_project -n [<template>] <project_path>”,
- where <project_path> is the name of your site (it will be created by the process) ;
<template> is the name of the project template to deploy. Currently admitted values are:
- ‘default’ (which is… the default value), an empty project based on sqlite;
- ‘cogip’, a sample french-language project of a fictious company called COGIP.
The ‘-n’ (or ‘–no-bootstrap’) is an option to tell the twistranet_project script not to bootstrap it immediately (the bootstraping process is the initial database feed).
You can do it by hand once (and only once!) with the following commands:
Go to your <project_path>
Review the settings.py file and local_settings.py, change to whatever suits your needs.
Among other things, carefully choose your DATABASE scheme, your LDAP/AD settings and the ‘admin’ password that has been generated for you.
Execute “./manage.py bootstrap” to build the database
Running Twistranet :
- Execute ./manage.py runserver 0.0.0.0 to start playing with twistranet.
- Point your browser at http://localhost:8000
You can get more informations in the “docs” folder inside the package about:
- installing pip
- installing/upgrading/uninstalling twistranet with pip
- installing twistranet with pip behind a proxy
- installing Twistranet for testing and development (using virtualenv / installing in place the devel package from github.com / localization / running tests …)
- Running Twistranet in debug mode
No image / thumbnail on my fresh twistranet instance!
This is probably a problem with python-imaging installation. Just install PIL for your OS.
Under debian, the easiest is to do “apt-get install python-imaging”.
error: Could not find required distribution Django
If you’ve got this message, that means the autoinstall procedure of twistranet can’t install django automatically. Just install django (see www.django-project.org) either from sources or from a package from your OS, and run “python setup.py install” again.
I’ve lost my admin password!
It’s easy to set a new one.
- Stop your server
- Run ./manage.py changepassword admin (and change your password)
- Start your server again
error when using mod_python
mod_wsgi is recommended, but if you need mod_python this little django1.2.5 hack is needed :
- in django.http.init: do not use “from mod_python.util import parse_qsl”
replace the lines 7 to 11 with:
from cgi import parse_qsl
Thanks to esimorre https://github.com/numericube/twistranet/issues#issue/6
Email templates are inspired from MailChimp’s Email-Blueprints (https://github.com/mailchimp/Email-Blueprints). We do love Mailchimp and strongly recommand it if you want a powerful mailing-list solution!
MimeTypes Icons came from Farm Fresh Free icons Collection, under Creative Commons 3.0 License. Many thanks to http://www.fatcow.com/free-icons