Tool for managing access to BigBlueButton meetings https://vergadering.bij1.org/ingang/rooms/
Go to file
Kiara Grouwstra a453b29d22 clarify URLs 2024-03-24 17:22:59 +01:00
app add portal link in user list 2024-03-24 13:46:10 +01:00
config add endpoint to facilitate external mailings 2023-10-06 19:13:38 +02:00
db update-rooms (#40) 2024-01-14 19:45:56 +00:00
lib initial 2020-10-30 16:10:59 +01:00
log flesh out gitignore 2021-12-05 22:15:56 +01:00
public add voting portal (#7) 2023-01-27 14:47:10 +00:00
storage initial 2020-10-30 16:10:59 +01:00
test add voting portal (#7) 2023-01-27 14:47:10 +00:00
tmp flesh out gitignore 2021-12-05 22:15:56 +01:00
vendor initial 2020-10-30 16:10:59 +01:00
.browserslistrc initial 2020-10-30 16:10:59 +01:00
.gitignore handle env vars 2021-12-05 22:19:39 +01:00
.gitlab-ci.yml Merge remote-tracking branch 'origin/ci' 2022-08-27 14:29:02 +02:00
.ruby-version initial 2021-12-05 21:52:18 +01:00
.tool-versions patch mimemagic 2021-12-05 22:18:33 +01:00
.woodpecker.yml ci: steps (#32) 2023-08-13 10:17:11 +00:00
Gemfile add postgres 2022-09-04 22:23:51 +02:00
Gemfile.lock add postgres 2022-09-04 22:23:51 +02:00
README.md clarify URLs 2024-03-24 17:22:59 +01:00
Rakefile initial 2020-10-30 16:10:59 +01:00
babel.config.js initial 2020-10-30 16:10:59 +01:00
config.ru initial 2020-10-30 16:10:59 +01:00
package.json initial 2020-10-30 16:10:59 +01:00
postcss.config.js initial 2020-10-30 16:10:59 +01:00
yarn.lock initial 2020-10-30 16:10:59 +01:00

README.md

ingang

This is a piece of middleware intended to help manage invites for Helios, the two systems we use in tandem for holding meetings where members can vote. Its web interface is hosted at https://vergadering.bij1.org/ingang/rooms/.

requirements

dependencies

usage

# install ruby version specified in Gemfile
rvm use "ruby-2.7.5"
# create a wrapper for this ruby
PUMA=`gem wrappers show pumactl`

cp config/application.yml.bck config/application.yml.bck
# edit the above file to enter proper values
./bin/bundle config set --local path 'vendor'
./bin/bundle update
./bin/bundle install
./bin/bundle binstubs --all
./bin/rails app:update:bin
./bin/rails credentials:edit
# either restore existing data
cp old/config/master.key ./config/master.key
cp old/db/production.sqlite3 ./db/production.sqlite3
# or scaffold database
./bin/rails db:migrate # RAILS_ENV=test
# handle static assets
sudo apt-get update && sudo apt-get install yarn
RAILS_ENV=production ./bin/rails assets:precompile
./bin/rails webpacker:install
# run tests
./bin/rake test

# create service
sudo bash -c "cat > /etc/systemd/system/ingang.service" << EOF
[Unit]
Description=Ingang

[Service]
Type=simple
RemainAfterExit=yes
Restart=on-failure
TimeoutSec=300
User=$USER
WorkingDirectory=$PWD
PIDFile=$PWD/tmp/pids/server.pid
ExecStart=$PUMA -F $PWD/config/puma.rb start
ExecStop=$PUMA -F $PWD/config/puma.rb stop
ExecReload=$PUMA -F $PWD/config/puma.rb phased-restart

[Install]
WantedBy=multi-user.target
EOF

# start and check service
sudo systemctl daemon-reload
sudo systemctl stop ingang
sudo systemctl disable ingang
sudo systemctl enable ingang
sudo systemctl start ingang
systemctl status ingang
journalctl -u ingang

handleiding

  • log in
  • maak een New room
  • laad deelnemers in via Users -> Bulk import
  • doe Export Voters for Helios en laad in Helios stemmingen in
  • ofwel:
    • in Helios stuur per stemming een invite
    • Ingang in (stemmingen): Import Votes (vergt SSH toegang tot Helios server) en verspreid stemportaal links via ofwel:
      1. Export Voters for Mailing doen en via externe mailing dienst sturen
      • NB: volgorde blijft hierbij niet intact
      1. via Ingang sturen door:
      • bij /rooms -> Edit tweak de mail text
      • test via Users -> Send test invite
      • als deze goed is Send Invitations naar de rest
  • open stemmingen in Helios
  • wacht tot mensen via hun in de mail gelinkte persoonlijke stem-portaal de vergadering in komen en stemmen

late aanmeldingen

stappen in Ingang, voor een $ROOM en $ELECTION: kies in de user index van een kamer (url https://vergadering.bij1.org/ingang/rooms/$ROOM/users, b.v. https://vergadering.bij1.org/ingang/rooms/123/users):

  • Ingang in: kies in de user index van een kamer knop Bulk import (url https://vergadering.bij1.org/ingang/rooms/$ROOM/users/new, b.v. https://vergadering.bij1.org/ingang/rooms/123/users/new)
  • Ingang uit: kies in de user index van een kamer knop Export Voters for Helios (url https://vergadering.bij1.org/ingang/rooms/$ROOM/voters.csv, b.v. https://vergadering.bij1.org/ingang/rooms/123/voters.csv)
  • Helios in: bij een vergadering op voters & ballots (url: https://stemmen.bij1.org/helios/elections/$ELECTION/voters/upload, b.v. https://stemmen.bij1.org/helios/elections/12345678-1234-1234-1234-1234567890ab/voters/upload)
  • stuur mail via Ingang
  • ofwel:
    • Ingang in (stemmingen): https://vergadering.bij1.org/ingang/rooms/$ROOM/votes/bulk (vergt SSH toegang tot Helios server)
    • in Helios stuur per stemming een invite

todo

  • CI
  • un-hardcode
    • app/views/main/stream.html.erb: video/chat urls

documentation checklist

This README would normally document whatever steps are necessary to get the application up and running.

Things you may want to cover:

  • Ruby version
  • System dependencies
  • Configuration
  • Database creation
  • Database initialization
  • How to run the test suite
  • Services (job queues, cache servers, search engines, etc.)
  • Deployment instructions
  • ...