Merge pull request #4990 from emanuelschuetze/changelog3.0
Updated Changelog
This commit is contained in:
commit
7d307e5ffe
129
CHANGELOG.rst
129
CHANGELOG.rst
@ -2,57 +2,102 @@
|
|||||||
CHANGELOG of OpenSlides
|
CHANGELOG of OpenSlides
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
https://openslides.org/
|
https://openslides.com
|
||||||
|
|
||||||
Version 3.0 (unreleased)
|
Version 3.0 (2019-09-13)
|
||||||
========================
|
========================
|
||||||
|
`Milestone <https://github.com/OpenSlides/OpenSlides/milestones/3.0>`_
|
||||||
|
|
||||||
Core:
|
General (Client):
|
||||||
- Changed personal settings.py, updated to channels2, complete rework of
|
- OpenSlides client completely rewritten, based on Angular 8 and Material Design.
|
||||||
startup and caching system, dropped support for Geiss [#3796, #3789].
|
- OpenSlides is now a Progressive Web App (PWA).
|
||||||
- Dropped support for Python 3.5 [#3805].
|
- New browser caching via IndexedDB (one cache store for all browser tabs).
|
||||||
- Added a websocket protocol for server client communication using
|
- New list views optimized with virtual scrolling (improved performance for long lists).
|
||||||
JSON schema [#3807, #3949].
|
- New global quick search using by shortcut 'Alt+Shift+F'.
|
||||||
- Changed URL schema [#3798].
|
- New built-in design themes for customizing user interface.
|
||||||
- Enabled docs for using OpenSlides with Gunicorn and Uvicorn in big
|
- New update notification if OpenSlides static files are updated.
|
||||||
mode [#3799, #3817].
|
- New config option for pdf page size (DIN A4 or A5).
|
||||||
- Changed format for elements send via autoupdate [#3926].
|
- Added TinyMCE 5 editor (switched from CKEditor caused by changed license).
|
||||||
- Fixed autoupdate system for related objects [#4140, #4201].
|
- Switched from yarn/gulp to npm.
|
||||||
- Add a change-id system to get only new elements [#3938].
|
- Improved pdf gerneration with progress bar and cancel option.
|
||||||
- Switch from Yarn back to npm [#3964].
|
- Translations available for EN, DE, RU and CS.
|
||||||
- Added password reset link (password reset via email) [#3914, #4199].
|
|
||||||
- Added global history mode [#3977, #4141, #4369, #4373, #4767].
|
General (Server):
|
||||||
- Projector refactoring [4119, #4130].
|
- New websocket protocol for server client communication using JSON schema.
|
||||||
- Fixed logo configuration if logo file is deleted [#4374].
|
- New change-id system to send only updated elements to client.
|
||||||
|
- New global history mode (useable for admin group only).
|
||||||
|
- Updated to Channels 2.
|
||||||
|
- Dropped support for Python 3.5.
|
||||||
|
- Dropped support for Geiss.
|
||||||
|
- Complete rework of startup and caching system. Dropped restricted data cache.
|
||||||
|
- Changed URL schema.
|
||||||
|
- Changed personal settings.py.
|
||||||
|
- Changed format for elements send via autoupdate.
|
||||||
|
- Changed projector concept.
|
||||||
|
- Compressed autoupdates before sending to clients (reduced traffic).
|
||||||
|
- Fixed autoupdate system for related objects.
|
||||||
|
- Fixed logo configuration if logo file is deleted.
|
||||||
|
- Added several bulk views for motions and users (one request for updating multiple selected elements).
|
||||||
|
- Added docs for using OpenSlides in 'big mode' with Gunicorn and Uvicorn.
|
||||||
|
- Added docs for configure OpenSlides in settingy.py.
|
||||||
|
- Dropped chat functionality.
|
||||||
|
- Server performance improvements.
|
||||||
|
|
||||||
Agenda:
|
Agenda:
|
||||||
- Added viewpoint to assign multiple items to a new parent item [#4037].
|
- Agenda items are now optional (for motions, elections and mediafiles). New config to set default behavior.
|
||||||
|
- New drag&drop view to sort agenda items.
|
||||||
|
- New config option: only present participants can be added to list of speakers.
|
||||||
|
- New config option to hide number of speakers on projector.
|
||||||
|
|
||||||
Motions:
|
Motions:
|
||||||
- Option to customly sort motions [#3894].
|
- New call list for custom sort of motions.
|
||||||
- Added support for adding a statute [#3894].
|
- New tile layout view with all categories (each category a tile).
|
||||||
- Added new permission to manage metadata, i. e. set motion state, set and
|
- New statute motions with managing statute paragraphs.
|
||||||
follow recommendation, manage submitters and supporters, change motion
|
- New permission to manage metadata (state, recommendation, submitters and supporters, category,
|
||||||
category, motion block and origin and manage motion polls [#3913].
|
motion block and polls).
|
||||||
- Added new permission to create amendments [#4128].
|
- New permission to create amendments.
|
||||||
- Added new flag to motion state to control access restrictions for different
|
- New permission to see motions in internal states.
|
||||||
users. Added new permission to see motions in some internal state
|
- New access restrictions definable for each motion state in workflow.
|
||||||
[#4235, #4518, #4521].
|
- New 'internal' option for motion blocks.
|
||||||
- Allowed submitters to set state of new motions in complex and customized
|
- New sorting view for categories to create subcategories.
|
||||||
workflow. Changed default workflows. No migration provided [#4236, #4703].
|
- New custom comment fields for all motions (read/write access can be managed via permission groups).
|
||||||
- Added multi select action to manage submitters, categories, motion blocks,
|
- New motion history (each action is stored in global OpenSlides history which can be restored any time,
|
||||||
tags, states and recommendations [#4037, #4132, #4702].
|
replaced old motion version and log features).
|
||||||
- Added timestampes for motions [#4134].
|
- New XLSX export (docx support is dropped).
|
||||||
- New config option to set reason as required field [#4232].
|
- New navigation for next/previous motion in detail view (shortcut: 'Alt+Shift+Left/Right').
|
||||||
- Added subcategories and altered behaviour of motion numbering in
|
- New multi select actions.
|
||||||
categories: Motions of subcategories are also numbered, and parents of
|
- New timestampes for motions (for sorting by creation date and last modified).
|
||||||
amendments needs to be in the numbered category or any subcategory [#4756].
|
- New config option to set reason as required field.
|
||||||
|
- New config option to change multiple paragraphs with an amendment.
|
||||||
|
- New config option to hide motion text on projector.
|
||||||
|
- New config option to show sequential number.
|
||||||
|
- New config option to show all motions which are referred to a special motion.
|
||||||
|
- New config option to show submitters and recommendation in table of contents of PDF.
|
||||||
|
- New config options to control identifier generation - number of digits and blanks (moved from settings.py).
|
||||||
|
- Improved PDF export (optional with toc, page numbers, date, comments and meta information)
|
||||||
|
- Improved motion numbering in (sub)categories: Motions of subcategories are also numbered, and parents of
|
||||||
|
amendments needs to be in the numbered category or any subcategory.
|
||||||
|
- Improved projection layout of motion blocks.
|
||||||
|
- Changed default workflows: Allowed submitters to set state of new motions in complex and customized workflow.
|
||||||
|
No migration provided.
|
||||||
|
- Change CSV import to add tags.
|
||||||
|
|
||||||
User:
|
User:
|
||||||
- Added new admin group which grants all permissions. Users of existing group
|
- New admin group which grants all permissions. Users of existing group 'Admin' or 'Staff' are move to the
|
||||||
'Admin' or 'Staff' are move to the new group during migration [#3859].
|
new group during migration.
|
||||||
- Added new permission to set its own password [#4131].
|
- New gender field.
|
||||||
- Added gender field [#4124].
|
- New password forget/reset function via email.
|
||||||
|
- New permission to change own password.
|
||||||
|
- New config option for sender name and reply email address (From address is defined in settings.py).
|
||||||
|
|
||||||
|
Mediafiles:
|
||||||
|
- New support for (sub)folders and permission groups.
|
||||||
|
|
||||||
|
Projector:
|
||||||
|
- New views to list, manage and control created OpenSlides projectors.
|
||||||
|
- New projector queue (add slide to queue), all projected slides are logged.
|
||||||
|
- New chyron for current speaker.
|
||||||
|
- New color settings for each projector.
|
||||||
|
|
||||||
|
|
||||||
Version 2.3 (2018-09-20)
|
Version 2.3 (2018-09-20)
|
||||||
|
@ -172,9 +172,11 @@ README.md using following command::
|
|||||||
OpenSlides in big mode
|
OpenSlides in big mode
|
||||||
======================
|
======================
|
||||||
|
|
||||||
In the so called big mode you should use OpenSlides with Redis, PostgreSQL and
|
To install OpenSlides for big assemblies (in 'big mode') you have to setup some
|
||||||
a webserver like Apache HTTP Server or NGINX as proxy server in front of your
|
additional components and configurations. In the 'big mode' you should use a webserver
|
||||||
OpenSlides interface server.
|
like NGINX to serve the static and media files as proxy server in front of your OpenSlides
|
||||||
|
interface server. You should also use a database like PostgreSQL. Use Redis as channels backend,
|
||||||
|
cache backend and session engine. Finally you should use gunicorn with uvicorn as interface server.
|
||||||
|
|
||||||
|
|
||||||
1. Install and configure PostgreSQL and Redis
|
1. Install and configure PostgreSQL and Redis
|
||||||
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2011-2018 Authors of OpenSlides, see AUTHORS
|
Copyright (c) 2011-2019 Authors of OpenSlides, see AUTHORS
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -2,8 +2,8 @@ include AUTHORS
|
|||||||
include CHANGELOG
|
include CHANGELOG
|
||||||
include LICENSE
|
include LICENSE
|
||||||
include README.rst
|
include README.rst
|
||||||
|
include SETTINGS.rst
|
||||||
include requirements/production.txt
|
include requirements/production.txt
|
||||||
include requirements/big_mode.txt
|
include requirements/big_mode.txt
|
||||||
include bower.json
|
|
||||||
recursive-include openslides *.*
|
recursive-include openslides *.*
|
||||||
exclude openslides/__pycache__/*
|
exclude openslides/__pycache__/*
|
||||||
|
100
README.rst
100
README.rst
@ -7,19 +7,16 @@ What is OpenSlides?
|
|||||||
|
|
||||||
OpenSlides is a free, web based presentation and assembly system for
|
OpenSlides is a free, web based presentation and assembly system for
|
||||||
managing and projecting agenda, motions and elections of an assembly. See
|
managing and projecting agenda, motions and elections of an assembly. See
|
||||||
https://openslides.org/ for more information.
|
https://openslides.com for more information.
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
|
||||||
============
|
|
||||||
|
|
||||||
The OpenSlides server runs everywhere where Python is running (for example on
|
|
||||||
GNU/Linux, Mac or Windows). For the OpenSlides client a current webbrowser is required.
|
|
||||||
|
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
============
|
============
|
||||||
|
|
||||||
|
The OpenSlides server runs everywhere where Python is running (for example on
|
||||||
|
GNU/Linux, Mac or Windows). For the OpenSlides client a current web browser is required.
|
||||||
|
|
||||||
|
|
||||||
1. Installation on GNU/Linux or Mac OS X
|
1. Installation on GNU/Linux or Mac OS X
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
@ -66,7 +63,7 @@ This installs the latest stable version. To install a specific (beta)
|
|||||||
version use ``openslides==x.y``.
|
version use ``openslides==x.y``.
|
||||||
|
|
||||||
You can also use the package from the `OpenSlides website
|
You can also use the package from the `OpenSlides website
|
||||||
<https://openslides.org/>`_. Download latest OpenSlides release as
|
<https://openslides.com/>`_. Download latest OpenSlides release as
|
||||||
compressed tar archive and run::
|
compressed tar archive and run::
|
||||||
|
|
||||||
$ pip install openslides-x.y.tar.gz
|
$ pip install openslides-x.y.tar.gz
|
||||||
@ -110,9 +107,40 @@ instances of OpenSlides::
|
|||||||
2. Installation on Windows
|
2. Installation on Windows
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
||||||
Download the latest portable version of OpenSlides for Windows from
|
Follow the instructions above (1. Installation on GNU/Linux or Mac OS X) but care
|
||||||
`OpenSlides website <https://openslides.org/>`_ which does not require any
|
of the following variations.
|
||||||
install steps. Simply unzip the downloaded file and run ``openslides.exe``.
|
|
||||||
|
To get Python download and run the latest `Python 3.7 32-bit (x86) executable
|
||||||
|
installer <https://www.python.org/downloads/windows/>`_. Note that the 32-bit
|
||||||
|
installer is required even on a 64-bit Windows system. If you use the 64-bit
|
||||||
|
installer, step 1c of the instruction might fail unless you installed some
|
||||||
|
packages manually.
|
||||||
|
|
||||||
|
In some cases you have to install `MS Visual C++ 2015 build tools
|
||||||
|
<https://www.microsoft.com/en-us/download/details.aspx?id=48159>`_ before you
|
||||||
|
install the required python packages for OpenSlides (unfortunately Twisted
|
||||||
|
needs it).
|
||||||
|
|
||||||
|
To setup and activate the virtual environment in step 1b use::
|
||||||
|
|
||||||
|
> .virtualenv\Scripts\activate.bat
|
||||||
|
|
||||||
|
All other commands are the same as for GNU/Linux and Mac OS X.
|
||||||
|
|
||||||
|
|
||||||
|
3. Installation with Docker
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
The installation instruction for (1) and (2) described a way to use OpenSlides in a
|
||||||
|
'small mode' with max 10 concurrent clients. To install OpenSlides for big assemblies
|
||||||
|
('big mode') you have to setup some additional components and configurations.
|
||||||
|
|
||||||
|
The easiest way to run the OpenSlides 'big mode' environment (with PostgreSQL, Redis
|
||||||
|
and NGINX) with Docker Compose: use our docker compose suite. Follow the instruction in
|
||||||
|
the `openslides-doccker-compose Repository <https://github.com/OpenSlides/openslides-docker-compose>`_.
|
||||||
|
|
||||||
|
To install and configure all components of our 'big mode' manually you can read the
|
||||||
|
`big-mode-instruction <https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst#openslides-in-big-mode>`_
|
||||||
|
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@ -124,58 +152,14 @@ find out about all configurations, especially when using OpenSlides for big
|
|||||||
assemblies.
|
assemblies.
|
||||||
|
|
||||||
|
|
||||||
Using the Dockerfile
|
|
||||||
====================
|
|
||||||
|
|
||||||
You can either pull the image ``openslides/openslides`` or build it yourself
|
|
||||||
(via `docker build -t openslides/openslides .`). You have all prequistes installed
|
|
||||||
it to start a quick server. To see how it should be used to setup an
|
|
||||||
production environment, see `openslides-docker
|
|
||||||
<https://github.com/OpenSlides/openslides-docker>`_.
|
|
||||||
|
|
||||||
You can start a quick-setup (not for production purposes, only local testing) with:
|
|
||||||
|
|
||||||
$ docker run -v /path/to/save/something:/app/personal_data -p 4200:4200 openslides/openslides /bin/bash -c "python manage.py createsettings && python manage.py migrate && (python manage.py runserver & (cd client && npm start))"
|
|
||||||
|
|
||||||
|
|
||||||
Development
|
Development
|
||||||
===========
|
===========
|
||||||
|
|
||||||
If you want to contribute to OpenSlides, have a look at `OpenSlides website
|
To setup a development environment for OpenSlides follow the instruction of
|
||||||
<https://openslides.org/>`_ and write us an email. There is also an
|
`DEVELOPMENT.rst
|
||||||
`instruction to install the development version
|
|
||||||
<https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst>`_.
|
<https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst>`_.
|
||||||
|
|
||||||
|
|
||||||
Installation for big assemblies
|
|
||||||
===============================
|
|
||||||
|
|
||||||
The installation steps described above install OpenSlides in a way that
|
|
||||||
does NOT support hundreds of concurrent clients. To install OpenSlides for
|
|
||||||
big assemblies some variables have to be changed in the OpenSlides settings
|
|
||||||
file (usually called settings.py).
|
|
||||||
|
|
||||||
The configuration values that have to be altered are:
|
|
||||||
|
|
||||||
* CHANNEL_LAYERS
|
|
||||||
* DATABASES
|
|
||||||
* SESSION_ENGINE
|
|
||||||
* REDIS_ADDRESS
|
|
||||||
|
|
||||||
You should use a webserver like Apache HTTP Server or nginx to serve the
|
|
||||||
static and media files as proxy server in front of your OpenSlides
|
|
||||||
interface server. You also should use a database like PostgreSQL and Redis
|
|
||||||
as channels backend, cache backend and session engine. Finally you should
|
|
||||||
use gunicorn with uvicorn as interface server.
|
|
||||||
|
|
||||||
Please see the respective section in the `DEVELOPMENT.rst
|
|
||||||
<https://github.com/OpenSlides/OpenSlides/blob/master/DEVELOPMENT.rst>`_ and:
|
|
||||||
|
|
||||||
* https://channels.readthedocs.io/en/latest/deploying.html
|
|
||||||
* https://github.com/sebleier/django-redis-cache
|
|
||||||
* https://docs.djangoproject.com/en/1.10/ref/settings/#databases
|
|
||||||
|
|
||||||
|
|
||||||
Used software
|
Used software
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user