ingang/README.md

3.7 KiB

ingang

This is a piece of middleware intended to help manage invites for BigBlueButton and 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
  • met een draaiende BigBlueButton kamer doe New room
  • laad deelnemers in via Users -> Bulk import
  • bij /rooms -> Edit tweak de mail text
  • test via Users -> Send test invite
  • als deze goed is Send Invitations naar de rest
  • doe Export Voters for Helios en laad in Helios stemmingen in
  • ofwel:
    • Ingang in (stemmingen): Import Votes (vergt SSH toegang tot Helios server)
    • in Helios stuur per stemming een invite
  • 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, voor een $ROOM en $ELECTION:

  • Ingang in: https://vergadering.bij1.org/ingang/rooms/$ROOM/users/new
  • Ingang uit: https://vergadering.bij1.org/ingang/rooms/$ROOM/users -> export 1 user
  • Helios in: https://stemmen.bij1.org/helios/elections/$ELECTION/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

  • ...