diff --git a/README.md b/README.md
index c5e5daa5b..063147d4b 100644
--- a/README.md
+++ b/README.md
@@ -45,7 +45,7 @@ Setup initial-data:
$ ./manage initial-data
-Now you can open http://localhost:8000 and use OpenSlides.
+Now you can open https://localhost:8000 and use OpenSlides. # TODO: Enable HTTPS support
To stop OpenSlides run:
diff --git a/docker/docker-compose.yml.m4 b/docker/docker-compose.yml.m4
deleted file mode 100644
index fcc78163c..000000000
--- a/docker/docker-compose.yml.m4
+++ /dev/null
@@ -1,270 +0,0 @@
-dnl This is a YAML template file. Simply translate it with m4 to create
-dnl a standard configuration. Customizations can and should be added in .env
-dnl by setting the appropriate variables.
-dnl
-dnl Usage:
-dnl m4 docker-compose.yml.m4 > docker-compose.yml
-dnl ( set -a; source .env; m4 docker-compose.yml.m4 ) > docker-compose.yml
-dnl
-dnl ----------------------------------------
-divert(-1)dnl
-define(`read_env', `esyscmd(`printf "%s" "$$1"')')
-define(`ifenvelse', `ifelse(read_env(`$1'),, `$2', read_env(`$1'))')
-
-define(`BACKEND_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_BACKEND_NAME', openslides-backend):dnl
-ifenvelse(`DOCKER_OPENSLIDES_BACKEND_TAG', latest-4))
-define(`PROXY_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_PROXY_NAME', openslides-proxy):dnl
-ifenvelse(`DOCKER_OPENSLIDES_PROXY_TAG', latest-4))
-define(`CLIENT_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_CLIENT_NAME', openslides-client):dnl
-ifenvelse(`DOCKER_OPENSLIDES_CLIENT_TAG', latest-4))
-define(`AUTH_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTH_NAME', openslides-auth):dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTH_TAG', latest-4))
-define(`AUTOUPDATE_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTOUPDATE_NAME', openslides-autoupdate):dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTOUPDATE_TAG', latest-4))
-define(`ICC_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_ICC_NAME', openslides-icc):dnl
-ifenvelse(`DOCKER_OPENSLIDES_ICC_TAG', latest-4))
-define(`DATASTORE_READER_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_READER_NAME', openslides-datastore-reader):dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_READER_TAG', latest-4))
-define(`DATASTORE_WRITER_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_WRITER_NAME', openslides-datastore-writer):dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_WRITER_TAG', latest-4))
-define(`MEDIA_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_MEDIA_NAME', openslides-media):dnl
-ifenvelse(`DOCKER_OPENSLIDES_MEDIA_TAG', latest-4))
-define(`MANAGE_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_MANAGE_NAME', openslides-manage):dnl
-ifenvelse(`DOCKER_OPENSLIDES_MANAGE_TAG', latest-4))
-define(`PERMISSION_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_PERMISSION_NAME', openslides-permission):dnl
-ifenvelse(`DOCKER_OPENSLIDES_PERMISSION_TAG', latest-4))
-
-define(`PROJECT_DIR', ifdef(`PROJECT_DIR',PROJECT_DIR,.))
-define(`ADMIN_SECRET_AVAILABLE', `syscmd(`test -f 'PROJECT_DIR`/secrets/admin.env')sysval')
-divert(0)dnl
-dnl ----------------------------------------
-# This configuration was created from a template file. Before making changes,
-# please make sure that you do not have a process in place that would override
-# your changes in the future. The accompanying .env file might be the correct
-# place for customizations instead.
-version: '3.4'
-
-services:
- proxy:
- image: PROXY_IMAGE
- depends_on:
- - client
- - backend
- - autoupdate
- - auth
- - media
- networks:
- - uplink
- - frontend
- ports:
- - "127.0.0.1:ifenvelse(`EXTERNAL_HTTP_PORT', 8000):8000"
-
- client:
- image: CLIENT_IMAGE
- networks:
- - frontend
- depends_on:
- - backend
- - autoupdate
-
- backend:
- image: BACKEND_IMAGE
- depends_on:
- - datastore-reader
- - datastore-writer
- env_file: services.env
- networks:
- - frontend
- - backend
- secrets:
- - auth_token_key
- - auth_cookie_key
-
- datastore-reader:
- image: DATASTORE_READER_IMAGE
- depends_on:
- - postgres
- env_file: services.env
- environment:
- - NUM_WORKERS=8
- networks:
- - backend
- - datastore-reader
- - postgres
-
- datastore-writer:
- image: DATASTORE_WRITER_IMAGE
- depends_on:
- - postgres
- - message-bus
- env_file: services.env
- networks:
- - backend
- - postgres
- - message-bus
- environment:
- - COMMAND=create_initial_data
- - DATASTORE_INITIAL_DATA_FILE=/data/initial-data.json
- volumes:
- - ./initial-data.json:/data/initial-data.json
-
- postgres:
- image: postgres:11
- environment:
- - POSTGRES_USER=openslides
- - POSTGRES_PASSWORD=openslides
- - POSTGRES_DB=openslides
- networks:
- - postgres
-
- autoupdate:
- image: AUTOUPDATE_IMAGE
- depends_on:
- - datastore-reader
- - message-bus
- - auth
- env_file: services.env
- networks:
- - frontend
- - backend
- - message-bus
- secrets:
- - auth_token_key
- - auth_cookie_key
-
- icc:
- image: ICC_IMAGE
- depends_on:
- - datastore-reader
- - message-bus
- - auth
- enc_file: services.env
- networks:
- - frontend
- - backend
- - message-bus
- secrets:
- - auth_token_key
- - auth_cookie_key
-
- auth:
- image: AUTH_IMAGE
- depends_on:
- - datastore-reader
- - message-bus
- - cache
- env_file: services.env
- networks:
- - datastore-reader
- - frontend
- - message-bus
- - auth
- secrets:
- - auth_token_key
- - auth_cookie_key
-
- cache:
- image: redis:latest
- networks:
- - auth
-
- message-bus:
- image: redis:latest
- networks:
- - message-bus
-
- media:
- image: MEDIA_IMAGE
- depends_on:
- - backend
- - postgres
- env_file: services.env
- networks:
- - frontend
- - backend
- - postgres
-
- manage:
- image: MANAGE_IMAGE
- depends_on:
- - auth
- - datastore-writer
- env_file: services.env
- networks:
- - backend
- - auth
-
- # TODO: Remove depenencies to auth and datastore in "depends_on" and "networks"
- # Should be doable when the manage service is fixed
- manage-setup:
- image: MANAGE_IMAGE
- entrypoint: /root/entrypoint-setup
- depends_on:
- - manage
- - auth
- - datastore-writer
- - datastore-reader
- env_file: services.env
- environment:
- ENABLE_ELECTRONIC_VOTING: "ifenvelse(`ENABLE_ELECTRONIC_VOTING',)"
- networks:
- - backend
- - auth
- ifelse(ADMIN_SECRET_AVAILABLE, 0,secrets:
- - admin)
-
- permission:
- image: PERMISSION_IMAGE
- depends_on:
- - datastore-reader
- env_file: services.env
- networks:
- - backend
- - auth
-
-# Setup: host <-uplink-> proxy <-frontend-> services that are reachable from the client <-backend-> services that are internal-only
-# There are special networks for some services only, e.g. postgres only for the postgresql, datastore reader and datastore writer
-networks:
- uplink:
- frontend:
- internal: true
- backend:
- internal: true
- postgres:
- internal: true
- datastore-reader:
- internal: true
- message-bus:
- internal: true
- auth:
- internal: true
-
-secrets:
- auth_token_key:
- file: ./secrets/auth_token_key
- auth_cookie_key:
- file: ./secrets/auth_cookie_key
- ifelse(ADMIN_SECRET_AVAILABLE, 0,admin:
- file: ./secrets/admin.env)
diff --git a/docker/docker-stack.yml.m4 b/docker/docker-stack.yml.m4
deleted file mode 100644
index fa4284b89..000000000
--- a/docker/docker-stack.yml.m4
+++ /dev/null
@@ -1,308 +0,0 @@
-dnl This is a YAML template file. Simply translate it with m4 to create
-dnl a standard configuration. Customizations can and should be added in .env
-dnl by setting the appropriate variables.
-dnl
-dnl Usage:
-dnl m4 docker-stack.yml.m4 > docker-stack.yml
-dnl ( set -a; source .env; m4 docker-stack.yml.m4 ) > docker-stack.yml
-dnl
-dnl ----------------------------------------
-divert(-1)dnl
-define(`read_env', `esyscmd(`printf "%s" "$$1"')')
-define(`ifenvelse', `ifelse(read_env(`$1'),, `$2', read_env(`$1'))')
-
-define(`BACKEND_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_BACKEND_NAME', openslides-backend):dnl
-ifenvelse(`DOCKER_OPENSLIDES_BACKEND_TAG', latest-4))
-define(`PROXY_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_PROXY_NAME', openslides-proxy):dnl
-ifenvelse(`DOCKER_OPENSLIDES_PROXY_TAG', latest-4))
-define(`CLIENT_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_CLIENT_NAME', openslides-client):dnl
-ifenvelse(`DOCKER_OPENSLIDES_CLIENT_TAG', latest-4))
-define(`AUTH_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTH_NAME', openslides-auth):dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTH_TAG', latest-4))
-define(`AUTOUPDATE_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTOUPDATE_NAME', openslides-autoupdate):dnl
-ifenvelse(`DOCKER_OPENSLIDES_AUTOUPDATE_TAG', latest-4))
-define(`ICC_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_ICC_NAME', openslides-icc):dnl
-ifenvelse(`DOCKER_OPENSLIDES_ICC_TAG', latest-4))
-define(`DATASTORE_READER_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_READER_NAME', openslides-datastore-reader):dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_READER_TAG', latest-4))
-define(`DATASTORE_WRITER_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_WRITER_NAME', openslides-datastore-writer):dnl
-ifenvelse(`DOCKER_OPENSLIDES_DATASTORE_WRITER_TAG', latest-4))
-define(`MEDIA_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_MEDIA_NAME', openslides-media):dnl
-ifenvelse(`DOCKER_OPENSLIDES_MEDIA_TAG', latest-4))
-define(`MANAGE_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_MANAGE_NAME', openslides-manage):dnl
-ifenvelse(`DOCKER_OPENSLIDES_MANAGE_TAG', latest-4))
-define(`PERMISSION_IMAGE',
-ifenvelse(`DEFAULT_DOCKER_REGISTRY', openslides)/dnl
-ifenvelse(`DOCKER_OPENSLIDES_PERMISSION_NAME', openslides-permission):dnl
-ifenvelse(`DOCKER_OPENSLIDES_PERMISSION_TAG', latest-4))
-
-define(`PROJECT_DIR', ifdef(`PROJECT_DIR',PROJECT_DIR,.))
-define(`ADMIN_SECRET_AVAILABLE', `syscmd(`test -f 'PROJECT_DIR`/secrets/admin.env')sysval')
-divert(0)dnl
-dnl ----------------------------------------
-# This configuration was created from a template file. Before making changes,
-# please make sure that you do not have a process in place that would override
-# your changes in the future. The accompanying .env file might be the correct
-# place for customizations instead.
-version: '3.4'
-
-services:
- proxy:
- image: PROXY_IMAGE
- networks:
- - uplink
- - frontend
- ports:
- - "127.0.0.1:ifenvelse(`EXTERNAL_HTTP_PORT', 8000):8000"
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_PROXY_REPLICAS', 1)
-
- client:
- image: CLIENT_IMAGE
- networks:
- - frontend
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_CLIENT_REPLICAS', 1)
-
- backend:
- image: BACKEND_IMAGE
- env_file: services.env
- networks:
- - frontend
- - backend
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_BACKEND_REPLICAS', 1)
- secrets:
- - auth_token_key
- - auth_cookie_key
-
- datastore-reader:
- image: DATASTORE_READER_IMAGE
- env_file: services.env
- environment:
- - NUM_WORKERS=8
- networks:
- - backend
- - datastore-reader
- - postgres
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_DATASTORE_READER_REPLICAS', 1)
-
- datastore-writer:
- image: DATASTORE_WRITER_IMAGE
- env_file: services.env
- networks:
- - backend
- - postgres
- - message-bus
- environment:
- - COMMAND=create_initial_data
- - DATASTORE_INITIAL_DATA_FILE=/data/initial-data.json
- volumes:
- - ./initial-data.json:/data/initial-data.json
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
-
- postgres:
- image: postgres:11
- environment:
- - POSTGRES_USER=openslides
- - POSTGRES_PASSWORD=openslides
- - POSTGRES_DB=openslides
- networks:
- - postgres
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
-
- autoupdate:
- image: AUTOUPDATE_IMAGE
- env_file: services.env
- networks:
- - frontend
- - backend
- - message-bus
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_AUTOUPDATE_REPLICAS', 1)
- secrets:
- - auth_token_key
- - auth_cookie_key
-
- icc:
- image: ICC_IMAGE
- enc_file: services.env
- networks:
- - frontend
- - backend
- - message-bus
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_ICC_REPLICAS', 1)
- secrets:
- - auth_token_key
- - auth_cookie_key
-
-
- auth:
- image: AUTH_IMAGE
- env_file: services.env
- networks:
- - datastore-reader
- - frontend
- - message-bus
- - auth
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_AUTH_REPLICAS', 1)
- secrets:
- - auth_token_key
- - auth_cookie_key
-
- cache:
- image: redis:latest
- networks:
- - auth
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
-
- message-bus:
- image: redis:latest
- networks:
- - message-bus
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
-
- media:
- image: MEDIA_IMAGE
- env_file: services.env
- networks:
- - frontend
- - backend
- - postgres
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_MEDIA_REPLICAS', 1)
-
- manage:
- image: MANAGE_IMAGE
- env_file: services.env
- networks:
- - backend
- - auth
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
-
- # TODO: Remove depenency to auth in "networks"
- # Should be doable when the manage service is fixed
- manage-setup:
- image: MANAGE_IMAGE
- entrypoint: /root/entrypoint-setup
- env_file: services.env
- environment:
- ENABLE_ELECTRONIC_VOTING: "ifenvelse(`ENABLE_ELECTRONIC_VOTING',)"
- networks:
- - backend
- - auth
- ifelse(ADMIN_SECRET_AVAILABLE, 0,secrets:
- - admin)
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
-
- permission:
- image: PERMISSION_IMAGE
- env_file: services.env
- networks:
- - backend
- - auth
- deploy:
- restart_policy:
- condition: on-failure
- delay: 5s
- replicas: ifenvelse(`OPENSLIDES_PERMISSION_REPLICAS', 1)
-
-networks:
- uplink:
- frontend:
- driver_opts:
- encrypted: ""
- internal: true
- backend:
- driver_opts:
- encrypted: ""
- internal: true
- postgres:
- driver_opts:
- encrypted: ""
- internal: true
- datastore-reader:
- driver_opts:
- encrypted: ""
- internal: true
- message-bus:
- driver_opts:
- encrypted: ""
- internal: true
- auth:
- driver_opts:
- encrypted: ""
- internal: true
-
-secrets:
- auth_token_key:
- file: ./secrets/auth_token_key
- auth_cookie_key:
- file: ./secrets/auth_cookie_key
- ifelse(ADMIN_SECRET_AVAILABLE, 0,admin:
- file: ./secrets/admin.env)
diff --git a/docker/initial-data.json b/docker/initial-data.json
index 8e794c77a..3a06f8191 100644
--- a/docker/initial-data.json
+++ b/docker/initial-data.json
@@ -1,668 +1,667 @@
{
-"_migration_index": -1,
-"organization": [
- {
- "id": 1,
- "name": "OpenSlides",
- "description": "The digital motion and assembly system",
- "legal_notice": "OpenSlides is a free web based presentation and assembly system for visualizing and controlling agenda, motions and elections of an assembly.",
- "privacy_policy": "",
- "login_text": "Welcome to OpenSlides. Please login.",
- "theme": "openslides-theme",
- "reset_password_verbose_errors": false,
- "enable_electronic_voting": false,
-
- "committee_ids": [1],
- "resource_ids": [],
- "organization_tag_ids": []
- }],
-"user": [
- {
- "id": 1,
- "username": "admin",
- "title": "",
- "first_name": "",
- "last_name": "Administrator",
- "is_active": true,
- "is_physical_person": true,
- "password": "1422e767c5e08bb7196844025a0f98e1x61Ey612Kl2gpFL56FT9weDnpSo4AV8j8+qx2AuTHdRyY036xxzTTrw10Wq3+4qQyB+XURPWx1ONxp3Y3pB37A==",
- "default_password": "admin",
- "can_change_own_password": true,
- "gender": null,
- "email": "",
- "default_number": "",
- "default_structure_level": "",
- "default_vote_weight": "1.000000",
- "last_email_send": null,
- "is_demo_user": false,
-
- "organization_management_level": "superadmin",
-
- "is_present_in_meeting_ids": [],
- "committee_ids": [1],
- "committee_$_management_level": ["1"],
- "committee_$1_management_level": "can_manage",
-
- "comment_$": [],
- "number_$": [],
- "structure_level_$": [],
- "about_me_$": [],
- "vote_weight_$": [],
-
- "group_$_ids": ["1"],
- "group_$1_ids": [2],
- "speaker_$_ids": [],
- "personal_note_$_ids": [],
- "supported_motion_$_ids": [],
- "submitted_motion_$_ids": [],
- "poll_voted_$_ids": [],
- "option_$_ids": [],
- "vote_$_ids": [],
- "vote_delegated_vote_$_ids": [],
- "assignment_candidate_$_ids": [],
- "projection_$_ids": [],
- "vote_delegated_$_to_id": [],
- "vote_delegations_$_from_ids": [],
-
- "meeting_ids": [1]
- }],
-"resource": [],
-"organization_tag": [],
-"committee": [
- {
- "id": 1,
- "name": "Default committee",
- "description": "Add description here",
-
- "meeting_ids": [1],
- "template_meeting_id": null,
- "default_meeting_id": 1,
- "user_ids": [1],
- "forward_to_committee_ids": [],
- "receive_forwardings_from_committee_ids": [],
- "organization_tag_ids": [],
- "organization_id": 1
- }],
-"meeting": [
- {
- "id": 1,
- "welcome_title": "Welcome to OpenSlides",
- "welcome_text": "[Space for your welcome text.]",
-
- "name": "OpenSlides - Die Veranstaltung (Teil II)",
- "description": "Presentation and assembly system",
- "location": "",
- "start_time": 0,
- "end_time": 0,
- "imported_at": null,
-
- "jitsi_domain": "",
- "jitsi_room_name": "",
- "jitsi_room_password": "",
- "enable_chat": false,
-
- "url_name": "openslides_1",
- "template_for_committee_id": null,
- "enable_anonymous": false,
- "custom_translations": {},
-
- "conference_show": false,
- "conference_auto_connect": false,
- "conference_los_restriction": false,
- "conference_stream_url": "",
- "conference_stream_poster_url": "",
- "conference_open_microphone": true,
- "conference_open_video": true,
- "conference_auto_connect_next_speakers": 0,
- "conference_enable_helpdesk": false,
- "applause_enable": false,
- "applause_type": "applause-type-bar",
- "applause_show_level": false,
- "applause_min_amount": 1,
- "applause_max_amount": 0,
- "applause_timeout": 5,
- "applause_particle_image_url": "",
-
- "projector_countdown_default_time": 60,
- "projector_countdown_warning_time": 0,
-
- "export_csv_encoding": "utf-8",
- "export_csv_separator": ",",
- "export_pdf_pagenumber_alignment": "center",
- "export_pdf_fontsize": 10,
- "export_pdf_pagesize": "A4",
-
- "agenda_show_subtitles": false,
- "agenda_enable_numbering": true,
- "agenda_number_prefix": "",
- "agenda_numeral_system": "arabic",
- "agenda_item_creation": "default_yes",
- "agenda_new_items_default_visibility": "internal",
- "agenda_show_internal_items_on_projector": false,
-
- "list_of_speakers_amount_last_on_projector": 1,
- "list_of_speakers_amount_next_on_projector": -1,
- "list_of_speakers_couple_countdown": true,
- "list_of_speakers_show_amount_of_speakers_on_slide": true,
- "list_of_speakers_present_users_only": false,
- "list_of_speakers_show_first_contribution": false,
- "list_of_speakers_enable_point_of_order_speakers": false,
- "list_of_speakers_enable_pro_contra_speech": false,
- "list_of_speakers_can_set_contribution_self": false,
- "list_of_speakers_speaker_note_for_everyone": false,
- "list_of_speakers_initially_closed": false,
-
- "motions_default_workflow_id": 1,
- "motions_default_amendment_workflow_id": 1,
- "motions_default_statute_amendment_workflow_id": 1,
- "motions_preamble": "The assembly may decide:",
- "motions_default_line_numbering": "none",
- "motions_line_length": 90,
- "motions_reason_required": false,
- "motions_enable_text_on_projector": true,
- "motions_enable_reason_on_projector": true,
- "motions_enable_sidebox_on_projector": false,
- "motions_enable_recommendation_on_projector": true,
- "motions_show_referring_motions": true,
- "motions_show_sequential_number": true,
- "motions_recommendations_by": "",
- "motions_statute_recommendations_by": "",
- "motions_recommendation_text_mode": "original",
- "motions_default_sorting": "number",
- "motions_number_type": "per_category",
- "motions_number_min_digits": 1,
- "motions_number_with_blank": false,
- "motions_statutes_enabled": true,
- "motions_amendments_enabled": true,
- "motions_amendments_in_main_list": true,
- "motions_amendments_of_amendments": false,
- "motions_amendments_prefix": "-",
- "motions_amendments_text_mode": "freestyle",
- "motions_amendments_multiple_paragraphs": true,
- "motions_supporters_min_amount": 1,
- "motions_export_title": "Motions",
- "motions_export_preamble": "",
- "motions_export_submitter_recommendation": false,
- "motions_export_follow_recommendation": false,
-
- "motion_poll_ballot_paper_selection": "CUSTOM_NUMBER",
- "motion_poll_ballot_paper_number": 8,
- "motion_poll_default_type": "analog",
- "motion_poll_default_100_percent_base": "YNA",
- "motion_poll_default_group_ids": [5],
-
- "users_sort_by": "first_name",
- "users_enable_presence_view": true,
- "users_enable_vote_weight": true,
- "users_allow_self_set_present": true,
- "users_pdf_welcometitle": "Welcome to OpenSlides",
- "users_pdf_welcometext": "[Place for your welcome and help text.]",
- "users_pdf_url": "http://example.com:8000",
- "users_pdf_wlan_ssid": "",
- "users_pdf_wlan_password": "",
- "users_pdf_wlan_encryption": "",
- "users_email_sender": "noreply@yourdomain.com",
- "users_email_replyto": "",
- "users_email_subject": "Your login for {event_name}",
- "users_email_body": "Dear {name},\n\nthis is your OpenSlides login for the event {event_name}:\n\n {url}\n username: {username}\n password: {password}\n\nThis email was generated automatically.",
-
- "assignment_poll_ballot_paper_selection": "CUSTOM_NUMBER",
- "assignment_poll_ballot_paper_number": 8,
- "assignments_export_title": "Elections",
- "assignments_export_preamble": "",
- "assignment_poll_add_candidates_to_list_of_speakers": true,
- "assignment_poll_sort_poll_result_by_votes": true,
- "assignment_poll_default_type": "nominal",
- "assignment_poll_default_method": "votes",
- "assignment_poll_default_100_percent_base": "valid",
- "assignment_poll_default_group_ids": [5],
-
- "poll_ballot_paper_selection": "CUSTOM_NUMBER",
- "poll_ballot_paper_number": 8,
- "poll_sort_poll_result_by_votes": true,
- "poll_default_type": "nominal",
- "poll_default_method": "votes",
- "poll_default_100_percent_base": "valid",
- "poll_default_group_ids": [5],
- "poll_couple_countdown": true,
-
- "projector_ids": [1],
- "all_projection_ids": [],
- "projector_message_ids": [],
- "projector_countdown_ids": [1, 2],
- "tag_ids": [],
- "agenda_item_ids": [],
- "list_of_speakers_ids": [],
- "speaker_ids": [],
- "topic_ids": [],
- "group_ids": [1, 2, 3, 4, 5],
- "mediafile_ids": [],
- "motion_ids": [],
- "motion_comment_section_ids": [],
- "motion_category_ids": [],
- "motion_block_ids": [],
- "motion_workflow_ids": [1],
- "motion_statute_paragraph_ids": [],
- "motion_comment_ids": [],
- "motion_submitter_ids": [],
- "motion_change_recommendation_ids": [],
- "motion_state_ids": [1, 2, 3, 4],
- "poll_ids": [],
- "option_ids": [],
- "vote_ids": [],
- "assignment_ids": [],
- "assignment_candidate_ids": [],
- "personal_note_ids": [],
- "chat_group_ids": [],
-
- "logo_$_id": [],
- "font_$_id": [],
-
- "committee_id": 1,
- "default_meeting_for_committee_id": 1,
- "organization_tag_ids": [],
- "present_user_ids": [],
- "user_ids": [1],
- "reference_projector_id": 1,
- "list_of_speakers_countdown_id": 1,
- "poll_countdown_id": 2,
-
- "default_projector_$_id": [
- "agenda_all_items",
- "topics",
- "list_of_speakers",
- "current_list_of_speakers",
- "motion",
- "amendment",
- "motion_block",
- "assignment",
- "user",
- "mediafile",
- "projector_message",
- "projector_countdowns",
- "assignment_poll",
- "motion_poll",
- "poll"
- ],
- "default_projector_$agenda_all_items_id": 1,
- "default_projector_$topics_id": 1,
- "default_projector_$list_of_speakers_id": 1,
- "default_projector_$current_list_of_speakers_id": 1,
- "default_projector_$motion_id": 1,
- "default_projector_$amendment_id": 1,
- "default_projector_$motion_block_id": 1,
- "default_projector_$assignment_id": 1,
- "default_projector_$user_id": 1,
- "default_projector_$mediafile_id": 1,
- "default_projector_$projector_message_id": 1,
- "default_projector_$projector_countdowns_id": 1,
- "default_projector_$assignment_poll_id": 1,
- "default_projector_$motion_poll_id": 1,
- "default_projector_$poll_id": 1,
- "projection_ids": [],
-
- "default_group_id": 1,
- "admin_group_id": 2
- }],
-"group": [
- {
- "id": 1,
- "name": "Default",
- "permissions": [
- "agenda_item.can_see_internal",
- "assignment.can_see",
- "list_of_speakers.can_see",
- "mediafile.can_see",
- "meeting.can_see_frontpage",
- "motion.can_see",
- "projector.can_see",
- "user.can_see"
- ],
-
- "user_ids": [],
- "default_group_for_meeting_id": 1,
- "admin_group_for_meeting_id": null,
- "mediafile_access_group_ids": [],
- "mediafile_inherited_access_group_ids": [],
- "read_comment_section_ids": [],
- "write_comment_section_ids": [],
- "read_chat_group_ids": [],
- "write_chat_group_ids": [],
- "poll_ids": [],
- "used_as_motion_poll_default_id": null,
- "used_as_assignment_poll_default_id": null,
- "used_as_poll_default_id": null,
- "meeting_id": 1
- },
- {
- "id": 2,
- "name": "Admin",
- "permissions": [],
-
- "user_ids": [1],
- "default_group_for_meeting_id": null,
- "admin_group_for_meeting_id": 1,
- "mediafile_access_group_ids": [],
- "mediafile_inherited_access_group_ids": [],
- "read_comment_section_ids": [],
- "write_comment_section_ids": [],
- "read_chat_group_ids": [],
- "write_chat_group_ids": [],
- "poll_ids": [],
- "used_as_motion_poll_default_id": null,
- "used_as_assignment_poll_default_id": null,
- "used_as_poll_default_id": null,
- "meeting_id": 1
- },
- {
- "id": 3,
- "name": "Staff",
- "permissions": [
- "agenda_item.can_manage",
- "assignment.can_manage",
- "assignment.can_nominate_self",
- "list_of_speakers.can_be_speaker",
- "list_of_speakers.can_manage",
- "mediafile.can_manage",
- "meeting.can_see_frontpage",
- "meeting.can_see_history",
- "motion.can_manage",
- "poll.can_manage",
- "projector.can_manage",
- "tag.can_manage",
- "user.can_manage"
- ],
-
- "user_ids": [],
- "default_group_for_meeting_id": null,
- "admin_group_for_meeting_id": null,
- "mediafile_access_group_ids": [],
- "mediafile_inherited_access_group_ids": [],
- "read_comment_section_ids": [],
- "write_comment_section_ids": [],
- "read_chat_group_ids": [],
- "write_chat_group_ids": [],
- "poll_ids": [],
- "used_as_motion_poll_default_id": null,
- "used_as_assignment_poll_default_id": null,
- "used_as_poll_default_id": null,
- "meeting_id": 1
- },
- {
- "id": 4,
- "name": "Committees",
- "permissions": [
- "agenda_item.can_see_internal",
- "assignment.can_see",
- "list_of_speakers.can_see",
- "mediafile.can_see",
- "meeting.can_see_frontpage",
- "motion.can_create",
- "motion.can_create_amendments",
- "motion.can_support",
- "projector.can_see",
- "user.can_see"
- ],
-
- "user_ids": [],
- "default_group_for_meeting_id": null,
- "admin_group_for_meeting_id": null,
- "mediafile_access_group_ids": [],
- "mediafile_inherited_access_group_ids": [],
- "read_comment_section_ids": [],
- "write_comment_section_ids": [],
- "read_chat_group_ids": [],
- "write_chat_group_ids": [],
- "poll_ids": [],
- "used_as_motion_poll_default_id": null,
- "used_as_assignment_poll_default_id": null,
- "used_as_poll_default_id": null,
- "meeting_id": 1
- },
- {
- "id": 5,
- "name": "Delegates",
- "permissions": [
- "agenda_item.can_see_internal",
- "assignment.can_nominate_other",
- "assignment.can_nominate_self",
- "list_of_speakers.can_be_speaker",
- "mediafile.can_see",
- "meeting.can_see_autopilot",
- "meeting.can_see_frontpage",
- "motion.can_create",
- "motion.can_create_amendments",
- "motion.can_support",
- "projector.can_see",
- "user.can_see"
- ],
-
- "user_ids": [],
- "default_group_for_meeting_id": null,
- "admin_group_for_meeting_id": null,
- "mediafile_access_group_ids": [],
- "mediafile_inherited_access_group_ids": [],
- "read_comment_section_ids": [],
- "write_comment_section_ids": [],
- "read_chat_group_ids": [],
- "write_chat_group_ids": [],
- "poll_ids": [],
- "used_as_motion_poll_default_id": 1,
- "used_as_assignment_poll_default_id": 1,
- "used_as_poll_default_id": 1,
- "meeting_id": 1
- }],
-"personal_note": [],
-"tag": [],
-"agenda_item": [],
-"list_of_speakers": [],
-"speaker": [],
-"topic": [],
-"motion": [],
-"motion_submitter": [],
-"motion_comment": [],
-"motion_comment_section": [],
-"motion_category": [],
-"motion_block": [],
-"motion_change_recommendation": [],
-"motion_state": [
- {
- "id": 1,
- "name": "submitted",
- "recommendation_label": null,
- "css_class": "lightblue",
- "restrictions": [],
- "allow_support": true,
- "allow_create_poll": true,
- "allow_submitter_edit": true,
- "set_number": true,
- "show_state_extension_field": false,
- "merge_amendment_into_final": "undefined",
- "show_recommendation_extension_field": false,
-
- "next_state_ids": [2, 3, 4],
- "previous_state_ids": [],
- "motion_ids": [],
- "motion_recommendation_ids": [],
- "workflow_id": 1,
- "first_state_of_workflow_id": 1,
- "meeting_id": 1
- },
- {
- "id": 2,
- "name": "accepted",
- "recommendation_label": "Acceptance",
- "css_class": "green",
- "restrictions": [],
- "allow_support": false,
- "allow_create_poll": false,
- "allow_submitter_edit": false,
- "set_number": true,
- "show_state_extension_field": false,
- "merge_amendment_into_final": "undefined",
- "show_recommendation_extension_field": false,
-
- "next_state_ids": [],
- "previous_state_ids": [1],
- "motion_ids": [],
- "motion_recommendation_ids": [],
- "workflow_id": 1,
- "first_state_of_workflow_id": null,
- "meeting_id": 1
- },
- {
- "id": 3,
- "name": "rejected",
- "recommendation_label": "Rejection",
- "css_class": "red",
- "restrictions": [],
- "allow_support": false,
- "allow_create_poll": false,
- "allow_submitter_edit": false,
- "set_number": true,
- "show_state_extension_field": false,
- "merge_amendment_into_final": "undefined",
- "show_recommendation_extension_field": false,
-
- "next_state_ids": [],
- "previous_state_ids": [1],
- "motion_ids": [],
- "motion_recommendation_ids": [],
- "workflow_id": 1,
- "first_state_of_workflow_id": null,
- "meeting_id": 1
- },
- {
- "id": 4,
- "name": "not decided",
- "recommendation_label": "No decision",
- "css_class": "grey",
- "restrictions": [],
- "allow_support": false,
- "allow_create_poll": false,
- "allow_submitter_edit": false,
- "set_number": true,
- "show_state_extension_field": false,
- "merge_amendment_into_final": "undefined",
- "show_recommendation_extension_field": false,
-
- "next_state_ids": [],
- "previous_state_ids": [1],
- "motion_ids": [],
- "motion_recommendation_ids": [],
- "workflow_id": 1,
- "first_state_of_workflow_id": null,
- "meeting_id": 1
- }
- ],
-"motion_workflow": [
- {
- "id": 1,
- "name": "Simple Workflow",
-
- "state_ids": [1, 2, 3, 4],
- "first_state_id": 1,
- "default_workflow_meeting_id": 1,
- "default_amendment_workflow_meeting_id": 1,
- "default_statute_amendment_workflow_meeting_id": 1,
- "meeting_id": 1
- }],
-"motion_statute_paragraph": [],
-"poll": [],
-"option": [],
-"vote": [],
-"assignment": [],
-"assignment_candidate": [],
-"mediafile": [],
-"projector": [
- {
- "id": 1,
- "name": "Default projector",
- "scale": 0,
- "scroll": 0,
- "width": 1220,
- "aspect_ratio_numerator": 4,
- "aspect_ratio_denominator": 3,
- "color": "#000000",
- "background_color": "#ffffff",
- "header_background_color": "#317796",
- "header_font_color": "#f5f5f5",
- "header_h1_color": "#317796",
- "chyron_background_color": "#317796",
- "chyron_font_color": "#ffffff",
- "show_header_footer": true,
- "show_title": true,
- "show_logo": true,
- "show_clock": true,
-
- "current_projection_ids": [],
- "preview_projection_ids": [],
- "history_projection_ids": [],
- "used_as_reference_projector_meeting_id": 1,
-
- "used_as_default_$_in_meeting_id": [
- "agenda_all_items",
- "topics",
- "list_of_speakers",
- "current_list_of_speakers",
- "motion",
- "amendment",
- "motion_block",
- "assignment",
- "user",
- "mediafile",
- "projector_message",
- "projector_countdowns",
- "assignment_poll",
- "motion_poll",
- "poll"
- ],
- "used_as_default_$agenda_all_items_in_meeting_id": 1,
- "used_as_default_$topics_in_meeting_id": 1,
- "used_as_default_$list_of_speakers_in_meeting_id": 1,
- "used_as_default_$current_list_of_speakers_in_meeting_id": 1,
- "used_as_default_$motion_in_meeting_id": 1,
- "used_as_default_$amendment_in_meeting_id": 1,
- "used_as_default_$motion_block_in_meeting_id": 1,
- "used_as_default_$assignment_in_meeting_id": 1,
- "used_as_default_$user_in_meeting_id": 1,
- "used_as_default_$mediafile_in_meeting_id": 1,
- "used_as_default_$projector_message_in_meeting_id": 1,
- "used_as_default_$projector_countdowns_in_meeting_id": 1,
- "used_as_default_$assignment_poll_in_meeting_id": 1,
- "used_as_default_$motion_poll_in_meeting_id": 1,
- "used_as_default_$poll_in_meeting_id": 1,
-
- "meeting_id": 1
- }],
-"projection": [],
-"projector_message": [],
-"projector_countdown": [
- {
- "id": 1,
- "title": "List of speaker countdown",
- "description": "",
- "default_time": 60,
- "countdown_time": 60,
- "running": false,
-
- "projection_ids": [],
- "used_as_list_of_speaker_countdown_meeting_id": 1,
- "used_as_poll_countdown_meeting_id": null,
- "meeting_id": 1
- },
- {
- "id": 2,
- "title": "Voting countdown",
- "description": "",
- "default_time": 60,
- "countdown_time": 60,
- "running": false,
-
- "projection_ids": [],
- "used_as_list_of_speaker_countdown_meeting_id": null,
- "used_as_poll_countdown_meeting_id": 1,
- "meeting_id": 1
- }],
-"chat_group": []
+ "_migration_index": -1,
+ "organization": [
+ {
+ "id": 1,
+ "name": "[Your organization]",
+ "description": "",
+ "legal_notice": "OpenSlides is a free web based presentation and assembly system for visualizing and controlling agenda, motions and elections of an assembly. The event organizer is resposible for the content.",
+ "privacy_policy": "",
+ "login_text": "Welcome to OpenSlides. Please login.",
+ "theme": "openslides-default-light-theme",
+ "reset_password_verbose_errors": false,
+ "enable_electronic_voting": false,
+ "committee_ids": [
+ 1
+ ],
+ "resource_ids": [],
+ "organization_tag_ids": []
+ }
+ ],
+ "user": [
+ {
+ "id": 1,
+ "username": "superadmin",
+ "title": "",
+ "first_name": "",
+ "last_name": "Administrator",
+ "is_active": true,
+ "is_physical_person": true,
+ "password": "",
+ "default_password": "",
+ "can_change_own_password": true,
+ "gender": null,
+ "email": "",
+ "default_number": "",
+ "default_structure_level": "",
+ "default_vote_weight": "1.000000",
+ "last_email_send": null,
+ "is_demo_user": false,
+ "organization_management_level": "superadmin",
+ "is_present_in_meeting_ids": [],
+ "committee_ids": [],
+ "committee_$_management_level": [],
+ "comment_$": [],
+ "number_$": [],
+ "structure_level_$": [],
+ "about_me_$": [],
+ "vote_weight_$": [],
+ "group_$_ids": [],
+ "speaker_$_ids": [],
+ "personal_note_$_ids": [],
+ "supported_motion_$_ids": [],
+ "submitted_motion_$_ids": [],
+ "poll_voted_$_ids": [],
+ "option_$_ids": [],
+ "vote_$_ids": [],
+ "vote_delegated_vote_$_ids": [],
+ "assignment_candidate_$_ids": [],
+ "projection_$_ids": [],
+ "vote_delegated_$_to_id": [],
+ "vote_delegations_$_from_ids": [],
+ "meeting_ids": []
+ }
+ ],
+ "resource": [],
+ "organization_tag": [],
+ "committee": [
+ {
+ "id": 1,
+ "name": "Default committee",
+ "description": "",
+ "meeting_ids": [
+ 1
+ ],
+ "template_meeting_id": null,
+ "default_meeting_id": 1,
+ "user_ids": [],
+ "forward_to_committee_ids": [],
+ "receive_forwardings_from_committee_ids": [],
+ "organization_tag_ids": [],
+ "organization_id": 1
+ }
+ ],
+ "meeting": [
+ {
+ "id": 1,
+ "welcome_title": "Welcome to OpenSlides",
+ "welcome_text": "[Space for your welcome text]",
+ "name": "Default meeting",
+ "description": "",
+ "location": "",
+ "start_time": 0,
+ "end_time": 0,
+ "imported_at": null,
+ "jitsi_domain": "",
+ "jitsi_room_name": "",
+ "jitsi_room_password": "",
+ "enable_chat": false,
+ "url_name": "",
+ "template_for_committee_id": null,
+ "enable_anonymous": false,
+ "custom_translations": {},
+ "conference_show": false,
+ "conference_auto_connect": false,
+ "conference_los_restriction": false,
+ "conference_stream_url": "",
+ "conference_stream_poster_url": "",
+ "conference_open_microphone": true,
+ "conference_open_video": true,
+ "conference_auto_connect_next_speakers": 0,
+ "conference_enable_helpdesk": false,
+ "applause_enable": false,
+ "applause_type": "applause-type-bar",
+ "applause_show_level": false,
+ "applause_min_amount": 1,
+ "applause_max_amount": 0,
+ "applause_timeout": 5,
+ "applause_particle_image_url": "",
+ "projector_countdown_default_time": 60,
+ "projector_countdown_warning_time": 0,
+ "export_csv_encoding": "utf-8",
+ "export_csv_separator": ",",
+ "export_pdf_pagenumber_alignment": "center",
+ "export_pdf_fontsize": 10,
+ "export_pdf_pagesize": "A4",
+ "agenda_show_subtitles": false,
+ "agenda_enable_numbering": true,
+ "agenda_number_prefix": "",
+ "agenda_numeral_system": "arabic",
+ "agenda_item_creation": "default_yes",
+ "agenda_new_items_default_visibility": "internal",
+ "agenda_show_internal_items_on_projector": false,
+ "list_of_speakers_amount_last_on_projector": 1,
+ "list_of_speakers_amount_next_on_projector": -1,
+ "list_of_speakers_couple_countdown": true,
+ "list_of_speakers_show_amount_of_speakers_on_slide": true,
+ "list_of_speakers_present_users_only": false,
+ "list_of_speakers_show_first_contribution": false,
+ "list_of_speakers_enable_point_of_order_speakers": false,
+ "list_of_speakers_enable_pro_contra_speech": false,
+ "list_of_speakers_can_set_contribution_self": false,
+ "list_of_speakers_speaker_note_for_everyone": false,
+ "list_of_speakers_initially_closed": false,
+ "motions_default_workflow_id": 1,
+ "motions_default_amendment_workflow_id": 1,
+ "motions_default_statute_amendment_workflow_id": 1,
+ "motions_preamble": "The assembly may decide:",
+ "motions_default_line_numbering": "none",
+ "motions_line_length": 90,
+ "motions_reason_required": false,
+ "motions_enable_text_on_projector": true,
+ "motions_enable_reason_on_projector": true,
+ "motions_enable_sidebox_on_projector": false,
+ "motions_enable_recommendation_on_projector": true,
+ "motions_show_referring_motions": true,
+ "motions_show_sequential_number": true,
+ "motions_recommendations_by": "",
+ "motions_statute_recommendations_by": "",
+ "motions_recommendation_text_mode": "original",
+ "motions_default_sorting": "number",
+ "motions_number_type": "per_category",
+ "motions_number_min_digits": 1,
+ "motions_number_with_blank": false,
+ "motions_statutes_enabled": true,
+ "motions_amendments_enabled": true,
+ "motions_amendments_in_main_list": true,
+ "motions_amendments_of_amendments": false,
+ "motions_amendments_prefix": "-",
+ "motions_amendments_text_mode": "freestyle",
+ "motions_amendments_multiple_paragraphs": true,
+ "motions_supporters_min_amount": 1,
+ "motions_export_title": "Motions",
+ "motions_export_preamble": "",
+ "motions_export_submitter_recommendation": false,
+ "motions_export_follow_recommendation": false,
+ "motion_poll_ballot_paper_selection": "CUSTOM_NUMBER",
+ "motion_poll_ballot_paper_number": 8,
+ "motion_poll_default_type": "analog",
+ "motion_poll_default_100_percent_base": "YNA",
+ "motion_poll_default_group_ids": [
+ 3
+ ],
+ "users_sort_by": "first_name",
+ "users_enable_presence_view": true,
+ "users_enable_vote_weight": true,
+ "users_allow_self_set_present": true,
+ "users_pdf_welcometitle": "Welcome to OpenSlides",
+ "users_pdf_welcometext": "[Place for your welcome and help text]",
+ "users_pdf_url": "https://example.com",
+ "users_pdf_wlan_ssid": "",
+ "users_pdf_wlan_password": "",
+ "users_pdf_wlan_encryption": "",
+ "users_email_sender": "noreply@yourdomain.com",
+ "users_email_replyto": "",
+ "users_email_subject": "Your login for {event_name}",
+ "users_email_body": "Dear {name},\n\nthis is your OpenSlides login for the event {event_name}:\n\n {url}\n username: {username}\n password: {password}\n\nThis email was generated automatically.",
+ "assignment_poll_ballot_paper_selection": "CUSTOM_NUMBER",
+ "assignment_poll_ballot_paper_number": 8,
+ "assignments_export_title": "Elections",
+ "assignments_export_preamble": "",
+ "assignment_poll_add_candidates_to_list_of_speakers": true,
+ "assignment_poll_sort_poll_result_by_votes": true,
+ "assignment_poll_default_type": "nominal",
+ "assignment_poll_default_method": "votes",
+ "assignment_poll_default_100_percent_base": "valid",
+ "assignment_poll_default_group_ids": [
+ 3
+ ],
+ "poll_ballot_paper_selection": "CUSTOM_NUMBER",
+ "poll_ballot_paper_number": 8,
+ "poll_sort_poll_result_by_votes": true,
+ "poll_default_type": "nominal",
+ "poll_default_method": "votes",
+ "poll_default_100_percent_base": "valid",
+ "poll_default_group_ids": [
+ 3
+ ],
+ "poll_couple_countdown": true,
+ "projector_ids": [
+ 1
+ ],
+ "all_projection_ids": [],
+ "projector_message_ids": [],
+ "projector_countdown_ids": [
+ 1,
+ 2
+ ],
+ "tag_ids": [],
+ "agenda_item_ids": [],
+ "list_of_speakers_ids": [],
+ "speaker_ids": [],
+ "topic_ids": [],
+ "group_ids": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "mediafile_ids": [],
+ "motion_ids": [],
+ "motion_comment_section_ids": [],
+ "motion_category_ids": [],
+ "motion_block_ids": [],
+ "motion_workflow_ids": [
+ 1
+ ],
+ "motion_statute_paragraph_ids": [],
+ "motion_comment_ids": [],
+ "motion_submitter_ids": [],
+ "motion_change_recommendation_ids": [],
+ "motion_state_ids": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "poll_ids": [],
+ "option_ids": [],
+ "vote_ids": [],
+ "assignment_ids": [],
+ "assignment_candidate_ids": [],
+ "personal_note_ids": [],
+ "chat_group_ids": [],
+ "logo_$_id": [],
+ "font_$_id": [],
+ "committee_id": 1,
+ "default_meeting_for_committee_id": 1,
+ "organization_tag_ids": [],
+ "present_user_ids": [],
+ "user_ids": [],
+ "reference_projector_id": 1,
+ "list_of_speakers_countdown_id": 1,
+ "poll_countdown_id": 2,
+ "default_projector_$_id": [
+ "agenda_all_items",
+ "topics",
+ "list_of_speakers",
+ "current_list_of_speakers",
+ "motion",
+ "amendment",
+ "motion_block",
+ "assignment",
+ "user",
+ "mediafile",
+ "projector_message",
+ "projector_countdowns",
+ "assignment_poll",
+ "motion_poll",
+ "poll"
+ ],
+ "default_projector_$agenda_all_items_id": 1,
+ "default_projector_$topics_id": 1,
+ "default_projector_$list_of_speakers_id": 1,
+ "default_projector_$current_list_of_speakers_id": 1,
+ "default_projector_$motion_id": 1,
+ "default_projector_$amendment_id": 1,
+ "default_projector_$motion_block_id": 1,
+ "default_projector_$assignment_id": 1,
+ "default_projector_$user_id": 1,
+ "default_projector_$mediafile_id": 1,
+ "default_projector_$projector_message_id": 1,
+ "default_projector_$projector_countdowns_id": 1,
+ "default_projector_$assignment_poll_id": 1,
+ "default_projector_$motion_poll_id": 1,
+ "default_projector_$poll_id": 1,
+ "projection_ids": [],
+ "default_group_id": 1,
+ "admin_group_id": 2
+ }
+ ],
+ "group": [
+ {
+ "id": 1,
+ "name": "Default",
+ "permissions": [
+ "agenda_item.can_see",
+ "agenda_item.can_see_internal",
+ "assignment.can_see",
+ "list_of_speakers.can_see",
+ "mediafile.can_see",
+ "meeting.can_see_frontpage",
+ "meeting.can_see_autopilot",
+ "motion.can_see",
+ "projector.can_see",
+ "user.can_see"
+ ],
+ "user_ids": [],
+ "default_group_for_meeting_id": 1,
+ "admin_group_for_meeting_id": null,
+ "mediafile_access_group_ids": [],
+ "mediafile_inherited_access_group_ids": [],
+ "read_comment_section_ids": [],
+ "write_comment_section_ids": [],
+ "read_chat_group_ids": [],
+ "write_chat_group_ids": [],
+ "poll_ids": [],
+ "used_as_motion_poll_default_id": null,
+ "used_as_assignment_poll_default_id": null,
+ "used_as_poll_default_id": null,
+ "meeting_id": 1
+ },
+ {
+ "id": 2,
+ "name": "Admin",
+ "permissions": [],
+ "user_ids": [],
+ "default_group_for_meeting_id": null,
+ "admin_group_for_meeting_id": 1,
+ "mediafile_access_group_ids": [],
+ "mediafile_inherited_access_group_ids": [],
+ "read_comment_section_ids": [],
+ "write_comment_section_ids": [],
+ "read_chat_group_ids": [],
+ "write_chat_group_ids": [],
+ "poll_ids": [],
+ "used_as_motion_poll_default_id": null,
+ "used_as_assignment_poll_default_id": null,
+ "used_as_poll_default_id": null,
+ "meeting_id": 1
+ },
+ {
+ "id": 3,
+ "name": "Delegates",
+ "permissions": [
+ "agenda_item.can_see",
+ "agenda_item.can_see_internal",
+ "assignment.can_see",
+ "assignment.can_nominate_other",
+ "assignment.can_nominate_self",
+ "list_of_speakers.can_see",
+ "list_of_speakers.can_be_speaker",
+ "mediafile.can_see",
+ "meeting.can_see_frontpage",
+ "meeting.can_see_autopilot",
+ "motion.can_see",
+ "motion.can_create",
+ "motion.can_create_amendments",
+ "motion.can_support",
+ "projector.can_see",
+ "user.can_see"
+ ],
+ "user_ids": [],
+ "default_group_for_meeting_id": null,
+ "admin_group_for_meeting_id": null,
+ "mediafile_access_group_ids": [],
+ "mediafile_inherited_access_group_ids": [],
+ "read_comment_section_ids": [],
+ "write_comment_section_ids": [],
+ "read_chat_group_ids": [],
+ "write_chat_group_ids": [],
+ "poll_ids": [],
+ "used_as_motion_poll_default_id": 1,
+ "used_as_assignment_poll_default_id": 1,
+ "used_as_poll_default_id": 1,
+ "meeting_id": 1
+ },
+ {
+ "id": 4,
+ "name": "Staff",
+ "permissions": [
+ "agenda_item.can_see",
+ "agenda_item.can_see_internal",
+ "agenda_item.can_manage",
+ "assignment.can_see",
+ "assignment.can_nominate_other",
+ "assignment.can_manage",
+ "assignment.can_nominate_self",
+ "list_of_speakers.can_see",
+ "list_of_speakers.can_be_speaker",
+ "list_of_speakers.can_manage",
+ "mediafile.can_see",
+ "mediafile.can_manage",
+ "meeting.can_see_frontpage",
+ "meeting.can_see_autopilot",
+ "motion.can_see",
+ "motion.can_manage",
+ "motion.can_manage_metadata",
+ "motion.can_manage_polls",
+ "motion.can_see_internal",
+ "motion.can_create",
+ "motion.can_create_amendments",
+ "poll.can_manage",
+ "projector.can_see",
+ "projector.can_manage",
+ "tag.can_manage",
+ "user.can_see",
+ "user.can_see_extra_data",
+ "user.can_manage"
+ ],
+ "user_ids": [],
+ "default_group_for_meeting_id": null,
+ "admin_group_for_meeting_id": null,
+ "mediafile_access_group_ids": [],
+ "mediafile_inherited_access_group_ids": [],
+ "read_comment_section_ids": [],
+ "write_comment_section_ids": [],
+ "read_chat_group_ids": [],
+ "write_chat_group_ids": [],
+ "poll_ids": [],
+ "used_as_motion_poll_default_id": null,
+ "used_as_assignment_poll_default_id": null,
+ "used_as_poll_default_id": null,
+ "meeting_id": 1
+ }
+ ],
+ "personal_note": [],
+ "tag": [],
+ "agenda_item": [],
+ "list_of_speakers": [],
+ "speaker": [],
+ "topic": [],
+ "motion": [],
+ "motion_submitter": [],
+ "motion_comment": [],
+ "motion_comment_section": [],
+ "motion_category": [],
+ "motion_block": [],
+ "motion_change_recommendation": [],
+ "motion_state": [
+ {
+ "id": 1,
+ "name": "submitted",
+ "recommendation_label": null,
+ "css_class": "lightblue",
+ "restrictions": [],
+ "allow_support": true,
+ "allow_create_poll": true,
+ "allow_submitter_edit": true,
+ "set_number": true,
+ "show_state_extension_field": false,
+ "merge_amendment_into_final": "undefined",
+ "show_recommendation_extension_field": false,
+ "next_state_ids": [
+ 2,
+ 3,
+ 4
+ ],
+ "previous_state_ids": [],
+ "motion_ids": [],
+ "motion_recommendation_ids": [],
+ "workflow_id": 1,
+ "first_state_of_workflow_id": 1,
+ "meeting_id": 1
+ },
+ {
+ "id": 2,
+ "name": "accepted",
+ "recommendation_label": "Acceptance",
+ "css_class": "green",
+ "restrictions": [],
+ "allow_support": false,
+ "allow_create_poll": false,
+ "allow_submitter_edit": false,
+ "set_number": true,
+ "show_state_extension_field": false,
+ "merge_amendment_into_final": "undefined",
+ "show_recommendation_extension_field": false,
+ "next_state_ids": [],
+ "previous_state_ids": [
+ 1
+ ],
+ "motion_ids": [],
+ "motion_recommendation_ids": [],
+ "workflow_id": 1,
+ "first_state_of_workflow_id": null,
+ "meeting_id": 1
+ },
+ {
+ "id": 3,
+ "name": "rejected",
+ "recommendation_label": "Rejection",
+ "css_class": "red",
+ "restrictions": [],
+ "allow_support": false,
+ "allow_create_poll": false,
+ "allow_submitter_edit": false,
+ "set_number": true,
+ "show_state_extension_field": false,
+ "merge_amendment_into_final": "undefined",
+ "show_recommendation_extension_field": false,
+ "next_state_ids": [],
+ "previous_state_ids": [
+ 1
+ ],
+ "motion_ids": [],
+ "motion_recommendation_ids": [],
+ "workflow_id": 1,
+ "first_state_of_workflow_id": null,
+ "meeting_id": 1
+ },
+ {
+ "id": 4,
+ "name": "not decided",
+ "recommendation_label": "No decision",
+ "css_class": "grey",
+ "restrictions": [],
+ "allow_support": false,
+ "allow_create_poll": false,
+ "allow_submitter_edit": false,
+ "set_number": true,
+ "show_state_extension_field": false,
+ "merge_amendment_into_final": "undefined",
+ "show_recommendation_extension_field": false,
+ "next_state_ids": [],
+ "previous_state_ids": [
+ 1
+ ],
+ "motion_ids": [],
+ "motion_recommendation_ids": [],
+ "workflow_id": 1,
+ "first_state_of_workflow_id": null,
+ "meeting_id": 1
+ }
+ ],
+ "motion_workflow": [
+ {
+ "id": 1,
+ "name": "Simple Workflow",
+ "state_ids": [
+ 1,
+ 2,
+ 3,
+ 4
+ ],
+ "first_state_id": 1,
+ "default_workflow_meeting_id": 1,
+ "default_amendment_workflow_meeting_id": 1,
+ "default_statute_amendment_workflow_meeting_id": 1,
+ "meeting_id": 1
+ }
+ ],
+ "motion_statute_paragraph": [],
+ "poll": [],
+ "option": [],
+ "vote": [],
+ "assignment": [],
+ "assignment_candidate": [],
+ "mediafile": [],
+ "projector": [
+ {
+ "id": 1,
+ "name": "Default projector",
+ "scale": 0,
+ "scroll": 0,
+ "width": 1220,
+ "aspect_ratio_numerator": 4,
+ "aspect_ratio_denominator": 3,
+ "color": "#000000",
+ "background_color": "#ffffff",
+ "header_background_color": "#317796",
+ "header_font_color": "#f5f5f5",
+ "header_h1_color": "#317796",
+ "chyron_background_color": "#317796",
+ "chyron_font_color": "#ffffff",
+ "show_header_footer": true,
+ "show_title": true,
+ "show_logo": true,
+ "show_clock": true,
+ "current_projection_ids": [],
+ "preview_projection_ids": [],
+ "history_projection_ids": [],
+ "used_as_reference_projector_meeting_id": 1,
+ "used_as_default_$_in_meeting_id": [
+ "agenda_all_items",
+ "topics",
+ "list_of_speakers",
+ "current_list_of_speakers",
+ "motion",
+ "amendment",
+ "motion_block",
+ "assignment",
+ "user",
+ "mediafile",
+ "projector_message",
+ "projector_countdowns",
+ "assignment_poll",
+ "motion_poll",
+ "poll"
+ ],
+ "used_as_default_$agenda_all_items_in_meeting_id": 1,
+ "used_as_default_$topics_in_meeting_id": 1,
+ "used_as_default_$list_of_speakers_in_meeting_id": 1,
+ "used_as_default_$current_list_of_speakers_in_meeting_id": 1,
+ "used_as_default_$motion_in_meeting_id": 1,
+ "used_as_default_$amendment_in_meeting_id": 1,
+ "used_as_default_$motion_block_in_meeting_id": 1,
+ "used_as_default_$assignment_in_meeting_id": 1,
+ "used_as_default_$user_in_meeting_id": 1,
+ "used_as_default_$mediafile_in_meeting_id": 1,
+ "used_as_default_$projector_message_in_meeting_id": 1,
+ "used_as_default_$projector_countdowns_in_meeting_id": 1,
+ "used_as_default_$assignment_poll_in_meeting_id": 1,
+ "used_as_default_$motion_poll_in_meeting_id": 1,
+ "used_as_default_$poll_in_meeting_id": 1,
+ "meeting_id": 1
+ }
+ ],
+ "projection": [],
+ "projector_message": [],
+ "projector_countdown": [
+ {
+ "id": 1,
+ "title": "List of speaker countdown",
+ "description": "",
+ "default_time": 60,
+ "countdown_time": 60,
+ "running": false,
+ "projection_ids": [],
+ "used_as_list_of_speaker_countdown_meeting_id": 1,
+ "used_as_poll_countdown_meeting_id": null,
+ "meeting_id": 1
+ },
+ {
+ "id": 2,
+ "title": "Voting countdown",
+ "description": "",
+ "default_time": 60,
+ "countdown_time": 60,
+ "running": false,
+ "projection_ids": [],
+ "used_as_list_of_speaker_countdown_meeting_id": null,
+ "used_as_poll_countdown_meeting_id": 1,
+ "meeting_id": 1
+ }
+ ],
+ "chat_group": []
}
diff --git a/docker/setup-prod.sh b/docker/setup-prod.sh
deleted file mode 100755
index 9e43c1c58..000000000
--- a/docker/setup-prod.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-# Create keys for auth, if they do not exist
-if [ ! -f secrets/auth_token_key ]; then
- tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 64 > secrets/auth_token_key
-fi
-if [ ! -f secrets/auth_cookie_key ]; then
- tr -dc 'a-zA-Z0-9' < /dev/urandom | head -c 64 > secrets/auth_cookie_key
-fi
-
-( set -a; source .env; m4 docker-compose.yml.m4 ) > docker-compose.yml
-( set -a; source .env; m4 docker-stack.yml.m4 ) > docker-stack.yml