Back Midas Rome Roody Rootana
  Midas DAQ System  Not logged in ELOG logo
Message ID: 3264     Entry time: 01 Sep 2026
Author: Derek Fujimoto 
Topic: Info 
Subject: Feature Release: Shift Scheduler 

Motivation

Most experimental groups, especially those that take beam, need to coordinate shifts. This addition addresses this need. 

Main Features

  • Main functionality
    • Assign, or sign up for specific shifts (via drop-down menu)
    • Indicate availability for complex scheduling tasks
    • Force assignments only to available shifters
    • Write notes for each day
    • Self-registration: input contact details and name
    • Live synchronization between browsers
    • Undo/redo buttons with the past 50 calendar states saved
  • Highlight cells
    • Auto-highlight shifts already assigned to a specific person when selecting
    • Darken assignment cells with more shifters assigned
    • Darken availability cells with fewer shifters available
  • Customize
    • Shift names, times, and number of shifts. Shifts can span multiple days (e.g. 23:00 - 06:00 the next day)
    • Shifter roles (for different on-shift priorities)
    • Minimum duration between assigned shifts (e.g. no repeat shifts within 7 hours)
  • Statisitcs
    • Histograms showing who was assigned or was available for which shift (or any shift)
    • Select by individual or institution
    • Additionally select by role
  • Download
    • Shift data as csv
    • Histograms as csv or png
    • Calendar as ics
  • Varying database backends (currently: csv and parquet)
  • An ODB key indicating who is currently on shift

Getting Started

The shift scheduler requires python 3.9 or later

  1. Pull the most recent version of MIDAS
  2. Run the setup script
    $MIDASSYS/shiftschedule/setup.bash
    This will create the custom page, populate your ODB with the correct paths (/Shifts), and create links to the module
  3. If you've pulled MIDAS recently, the shiftscheduler was for a short time a submodule and has since been integrated into the main repo.
    If there are errors during the pull, try first running git submodule deinit shiftschedule to decouple the submodule    

Getting Help

For issues, feature requests, questions, and expressing general confusion, please first consult the README ($MIDASSYS/shiftschedule/README.md) then message me at dfujimoto[at]triumf[dot]ca.

 

Attachment 1: Screenshot_from_2026-09-01_16-16-45.png  130 kB  | Hide | Hide all | Show all
Screenshot_from_2026-09-01_16-16-45.png
Attachment 2: Screenshot_from_2026-09-01_16-19-42.png  72 kB  | Hide | Hide all | Show all
Screenshot_from_2026-09-01_16-19-42.png
Attachment 3: Screenshot_from_2026-09-01_16-22-11.png  143 kB  | Show | Hide all | Show all
ELOG V3.1.6-083448f7