OpenSlides is a free web-based presentation and assembly system for displaying and controlling of agenda, motions and elections of an assembly. See http://openslides.org/ for more information.
OpenSlides runs everywhere where Python is running (for example on GNU/Linux, Mac or Windows (XP or newer)). On each client you need only an actual webbrowser.
Check requirements
Make sure that you have installed Python Programming Language 3 (>= 3.3) on your system. You will also need the Python development headers.
For example for Ubuntu run:
$ sudo apt-get install python3-dev
Setup a virtual environment with Virtual Python Environment builder (optional)
You can setup a virtual environment to install OpenSlides as non-root user. Make sure that you have installed Virtual Python Environment builder on your system.
For example for Ubuntu run:
$ sudo apt-get install python-virtualenv
Create your OpenSlides directory, change to it, setup and activate the virtual environment:
$ mkdir OpenSlides $ cd OpenSlides $ virtualenv -p /usr/bin/python3 .virtualenv $ source .virtualenv/bin/activate
Install OpenSlides
To use the Python Package Index (PyPI) simply run:
$ pip install openslides
You can also use the package from the OpenSlides Website. Download latest OpenSlides release as compressed tar archive and run:
$ pip install openslides-x.x.tar.gz
OpenSlides will install all required python packages (see requirements_production.txt).
Note: There is a portable version of OpenSlides for Windows which does not required any install steps. If there is a reason that you can not use the portable version you should observe the following install steps.
Check requirements
Make sure that you have installed Python Programming Language 3 (>= 3.3) and Setuptools on your system.
- Download and run the Python 32-bit MSI installer. Note that the 32-bit MSI installer is required even on a 64-bit Windows system. If you use the 64-bit MSI installer, step 3 of this instruction will fail unless you installed the package reportlab manually.
- Add python directories to PATH (via Control Panel > System >
Advanced):
";C:\\Python34;C:\\Python34\\Scripts"
. Note that the path can differ if you customized the install of Python in the first step. - Download and run (via double click) the last install script ez_setup.py for Setuptools.
Setup a virtual environment with Virtual Python Environment builder (optional)
You can setup a virtual environment to install OpenSlides as non-root user. Make sure that you have installed Virtual Python Environment builder on your system.
To install Virtual Python Environment builder, open command line (cmd) and run:
> easy_install https://pypi.python.org/packages/source/v/virtualenv/virtualenv-12.0.5.tar.gz
Create your OpenSlides directory, change to it, setup and activate the virtual environment:
> md OpenSlides > cd OpenSlides > virtualenv .virtualenv > .virtualenv\Scripts\activate
Install OpenSlides
To use the Python Package Index (PyPI) simply run on command line (cmd):
> easy_install openslides
You can also use the package from the OpenSlides Website. Download latest OpenSlides release as compressed tar archive and run:
> easy_install openslides-x.x.tar.gz
OpenSlides will install all required python packages (see requirements_production.txt).
To start OpenSlides simply run on command line:
openslides
If you run this command the first time, a new database and the admin account (Username: admin) will be created. Please change the password (Password: admin) after first login!
OpenSlides will start using the integrated Tornado webserver. It will also try to open the webinterface in your default webbrowser. The server will try to listen on the local ip address on port 80 or port 8000 if you do not have admin permissions. That means that the server will be available to everyone on your local network (at least for commonly used network configurations).
If you use a virtual environment (see install instructions, step 2), do not forget to activate the environment before restart after you have closed the terminal.
For Unix and Mac OS X run:
$ source .virtualenv/bin/activate
For Windows run:
> .virtualenv\Scripts\activate
To get help on the command line options run:
openslides --help
If you want to join us developing OpenSlides, have a look at GitHub or write an email to our mailing list.
Check requirements
You need to have Python 3 (>=3.3), Node.js (>=0.10) and Git installed. See also step 1 in the correspondent instruction in section III.
Get OpenSlides source code
Clone current master version from OpenSlides' GitHub repository:
cd ... # Go to a nice place in your filesystem. git clone https://github.com/OpenSlides/OpenSlides.git cd OpenSlides
Setup and activate a virtual environment with Virtual Python Environment builder (optional)
Follow step 2 in the correspondent instruction in section III.
Install all required Python packages
For Unix and Mac OS X run:
$ pip install -r requirements.txt
For Windows run:
> easy_install # Insert all packages from requirements.txt and requirements_production.txt here
Install all npm and bower packages
For Unix and Mac OS X run:
$ npm install $ node_modules/.bin/bower install
For Windows run:
> npm install > node_modules\.bin\bower install
Concat and copy all third party JavaScript and Cascading Style Sheets libraries
For Unix and Mac OS X run:
$ node_modules/.bin/gulp
For Windows run:
> node_modules\.bin\gulp
Create a development settings file
Use the command-line interface:
python manage.py create-dev-settings
Start OpenSlides
Use the command-line interface:
python manage.py start --settings settings.py
To get help on the command-line options run:
python manage.py --help
You can find some information on the coding style in the OpenSlides wiki.
OpenSlides uses the following projects or parts of them:
- backports.ssl_match_hostname, License: Python Software Foundation License
- Beautiful Soup, License: MIT
- Bleach, License: BSD
- Bootstrap, License: Apache License v2.0
- Django, License: BSD
- Django CKEditor, License: BSD
- django-jsonfield, License: MIT
- Django mptt, License: BSD
- Django haystack, License: BSD
- insertpre CKEditor plugin, License: GPL/LGPL/MPL
- natsort, License: MIT
- pdf.js, License: Apache License v2.0
- ReportLab, License: BSD
- roman, License: Python 2.1.1
- setuptools, License: Python Software Foundation License
- sockjs-client, License: MIT
- sockjs-tornado, License: MIT
- Sphinx, License: BSD
- Sphinx extension autoimage, License: MIT
- Sphinx Bootstrap Theme, License: MIT
- Tornado, License: Apache License v2.0
- Ubuntu TrueType Font, License: Ubuntu Font Licence 1.0
- Whoosh, License: BSD
- jQuery, License: MIT
- jQuery Plugins:
- jQuery DataTables Plugin, License: BSD/GPLv2
- DataTables Natural Sort Plugin, License: MIT
- jQuery Cookie Plugin, License: MIT
- jQuery Form Plugin, License: MIT/GPLv2
- jQuery Once Plugin, License: MIT/GPL
- jQuery Templating Plugin, License: MIT/GPLv2
- jQuery bsmSelect, License: MIT/GPLv2
- jQuery UI with custom ui components: core, widget, mouse, resizable, sortable, datepicker, slider and css theme 'smoothness', License: MIT
- jQuery UI AddOns:
- jQuery UI Nested Sortable, License: MIT
- jQuery UI Slider Access, License: MIT/GPLv2
- jQuery UI Timepicker, License: MIT/GPLv2
OpenSlides is Free/Libre Open Source Software (FLOSS), and distributed under the MIT License, see LICENSE file. The authors of OpenSlides are mentioned in the AUTHORS file.