Merge pull request #6211 from tsiegleauq/update-readme-for-stable

Update readme
This commit is contained in:
Sean 2021-08-19 12:37:19 +02:00 committed by GitHub
commit 7b8139dbfe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 67 deletions

View File

@ -8,13 +8,7 @@ name: Prevent manual changes of initial-data.json without md5 hash
# 1. Change the file
# 2. Get the md5sum for changed initial-dta.json
# 3. Change the md5-check-literal in this workflow-file
on:
push:
paths:
- "docker/initial-data.json"
pull_request:
paths:
- "docker/initial-data.json"
on: pull_request
jobs:
validate-data:
name: Validate example-data.json and initial-data.json

View File

@ -10,16 +10,13 @@ Go is needed to install https://github.com/FiloSottile/mkcert. The development s
Clone this repository:
$ git clone git@github.com:OpenSlides/OpenSlides.git
$ git checkout openslides4-dev
$ git clone --recurse-submodules git@github.com:OpenSlides/OpenSlides.git
TODO: use `--recurse-submodules`, when master is OS4
After checking out the os4-branch you need to initialize all submodules:
After checking out you need to initialize all submodules:
$ git submodule update --init
Finally, start the dev server:
Finally, start the development server:
$ make run-dev
@ -36,7 +33,7 @@ To run all tests of all services, execute `run-service-tests`. TODO: Systemtests
$ git submodule add <git@myrepo.git>
Append `branch = master` to the new entry in the `.gitmodules` file. Verify,
Append `branch = master` (or `main`) to the new entry in the `.gitmodules` file. Verify,
that it is there (the folder should have 160000 permissions: Submodule) with the
current commit:
@ -48,7 +45,7 @@ Then, commit changes and create a pull request.
Create your own fork at github.
Remove the upstream (main) repo as the origin in the submodule:
Remove the upstream (master or main) repo as the origin in the submodule:
$ cd <submodule>
$ git remote remove origin
@ -58,7 +55,18 @@ Add your fork and the main repo as origin and upstream
$ git remote add origin `<your fork>`
$ git remote add upstream `<main repo>`
$ git fetch --all
$ git checkout master
$ git checkout origin master
You can verify that your setup is correct using
$ git remote -v
The output should be similar to
origin git@github.com:<GithubUsername>/OpenSlides.git (fetch)
origin git@github.com:<GithubUsername>/OpenSlides.git (push)
upstream git@github.com:OpenSlides/OpenSlides.git (fetch)
upstream git@github.com:OpenSlides/OpenSlides.git (push)
## Requirements for services
@ -107,7 +115,7 @@ After making some changes in my-service, create a commit and push to your fork
$ git add -A
$ git commit -m "A meaningful commit message here"
$ git push origin my-feature
$ git push origin -u my-feature
As the last step, you can create a PR on Github. After merging, these steps are
required to be executed in the main repo:
@ -137,6 +145,10 @@ in all submodules):
$ git submodule foreach -q --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master); git pull upstream $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'
This command has can also be called from the makefile using:
$ make services-to-master
When changing the branch in the main repo (this one), the submodules do not
automatically gets changed. THis ocmmand checks out all submodules to the given
commits in the main repo:

View File

@ -6,15 +6,14 @@ OpenSlides is a free, web based presentation and assembly system for
managing and projecting agenda, motions and elections of an assembly. See
https://openslides.com for more information.
__Note: OpenSlides 4 is currently under development.__
## Using OpenSlides productively
__OpenSlides 4 (this) is currently under heavy development!__
## Architecture of OpenSlides 4
![System architecture of OpenSlides 4](docs/OpenSlides4-systemarchitecture.png)
Read more about our [concept of OpenSlides 4.0](https://github.com/OpenSlides/OpenSlides/wiki/DE%3A-Konzept-OpenSlides-4).
If you are just looking to use OpenSlides in a productive manner, please refer
to the [OpenSlides 3.4 (stable)](https://github.com/OpenSlides/OpenSlides/tree/stable/3.4.x)
__Everything else in this document is irrelevant for you__
## Installation
@ -25,56 +24,19 @@ Compose](https://docs.docker.com/compose/install/).
### Setup OpenSlides
Go to a nice place in your filesystem, get the [OpenSlides manage
tool](https://github.com/OpenSlides/openslides-manage-service/releases/tag/latest)
from GitHub and make it executable. E. g. run:
For a productive setup of OpenSlides follow the instructions outlined in the [OpenSlides-manage-service](https://github.com/OpenSlides/openslides-manage-service)
$ wget https://github.com/OpenSlides/openslides-manage-service/releases/download/latest/manage
$ chmod +x manage
## Development
Create configuration files:
For further information about developing OpenSlides, refer to [the development readme](DEVELOPMENT.md)
$ ./manage setup --cwd # TODO: Provide instruction using XDG_DATA_PATH.
### Architecture of OpenSlides 4
Build and start Docker containers. According to your Docker installation you may
have to run this as root:
![System architecture of OpenSlides 4](https://raw.githubusercontent.com/wiki/OpenSlides/OpenSlides/OS4/img/OpenSlides4.svg)
$ docker-compose up --detach
Setup initial-data:
$ ./manage initial-data
Now you can open https://localhost:8000 and use OpenSlides. # TODO: Enable HTTPS support
To stop OpenSlides run:
$ docker-compose stop
To remove all containers including the complete database run:
$ docker-compose rm
## Installation with ...
TODO: Provide a short instruction for setup with Docker Swarm or Kubernetes or
something else.
## Development setup
For a development setup, refer to [the development docs](DEVELOPMENT.md)
## Used software
OpenSlides uses the following projects or parts of them:
* Several Python packages (see TODO)
* Several JavaScript packages (see TODO)
* TODO
Read more about our [concept of OpenSlides 4.0](https://github.com/OpenSlides/OpenSlides/wiki/DE%3AKonzept-OpenSlides-4).
The technical documentation about the internals, requests and functionality can be found [in the wiki](https://github.com/OpenSlides/OpenSlides/wiki/DE%3AKonzept-OpenSlides-4).
## License and authors