1
0
Fork
You've already forked Symposium
0
Utilities to manage submissions and registrations of a symposium, as well as other academic duties such as resolving Termino polls
  • Scala 98.1%
  • TeX 1.9%
2026年06月15日 20:37:41 +02:00
project init 2026年02月07日 19:54:47 +01:00
src/main add 'extra' markdown blob field to sessions sheet 2026年06月15日 20:37:41 +02:00
.gitignore init 2026年02月07日 19:54:47 +01:00
build.sbt still stuck at 4th chunk, trying some improvements 2026年02月18日 18:46:04 +01:00
LICENSE init 2026年02月07日 19:54:47 +01:00
README.md ... 2026年06月15日 19:30:31 +02:00

Symposium

Utilities for managing submissions and registrations of a symposium. As well as other academic duties such as resolving Termino polls.

(C)opyright 2026 by Hanns Holger Rutz. All rights reserved. This project is released under the GNU Affero General Public License v3+ and comes with absolutely no warranties. To contact the author, send an e-mail to contact at sciss.de.

requirements

This utility relies on PDFtk (pdftk) being installed.

building and running

Builds with sbt against Scala 3. See options: sbt 'run --help',

Collate form PDFs

sbt 'runMain de.sciss.symposium.CollatePDFs --help'

Example arguments for collating submission forms:

--input submissions/form-submission-%d-%s.pdf --complete-ids --field-order LastName FirstName Pronouns EMail Website JobOrAffiliation Bio Title ListOfAuthors Abstract ProposalLink Format FormOtherDescription TechnicalRequirements --int-fields Format --missing-value ??? --output submissions.xls

Example arguments for collating additional author forms:

--input submissions/form-author-%d-%s.pdf --nocomplete-ids --field-order LastName FirstName Pronouns EMail Website JobOrAffiliation Bio --sheet-name Co-Authors --missing-value ??? --output co-authors.xls

Optimise Termino Schedule

Export the Termino as CSV, and convert the CSV-file to Excel (.xls) first.

sbt 'runMain de.sciss.symposium.OptimizeTermino --help'

Example arguments for German poll with three date blocks of 22, 22, and 21 choices, respectively:

--input folep_sose_2026.xls --yes-value Ja --no-value Nein --maybe-value Vielleicht --verbose --blocks 22 22 21

Assign Reviews

sbt 'runMain de.sciss.symposium.AssignReviews --help'

Example arguments for the 2026 Forum Artistic Research:

--input reviewers-2026-choices.xlsx --num-submissions 55 --chunk 6 --max-per-chunk 2 --verbose --weights 0 0 1 80 90 --weight-neutral 45 --num-assign 2 --ignore-out-of-range --neutral-noise 2 --time-out 720 --sort-submissions --seed 1

This applies chunks / batches of six submissions, making the CSP feasible to solve. The number of assignments per reviewer is automatically calculated (if there are 22 reviewers for 55 submissions with 2 reviews for each submission, that gives a number of 5 reviews per reviewer). To avoid that all 'eggs are put in one basket', we limit the number of assignments per chunk/batch to 2.

Sadly, this process is very slow and not yet optimal. Follow it by

sbt 'runMain de.sciss.symposium.OptimizeReviewAssignments --help'

Example arguments:

--input reviewers-2026-assign.xlsx --num-submissions 55 --verbose --weights 0 0 1 80 90 --weight-neutral 45 --num-assign 2

Collate Reviews

sbt 'runMain de.sciss.symposium.CollateReviews --help'

Example arguments for collating review forms:

--input returned-reviews/submission-%d-review-%d.pdf --output review-results.xls --verbose --complete-ids --review-interlace

The output sheet can then be used to apply score calculations, e.g. averaging scores of multiple reviews.

NotifyAuthors

sbt 'runMain de.sciss.symposium.NotifyAuthors --help'

Example arguments:

--input submissions-with-results.xlsx --output-dir notify --conf-name "My Conference" --template-accept accept.txt \
--template-reject reject.txt --template-hold hold.txt --input-sheet-name Submissions

CreateProgram

Creates the files for the jekyll-theme-conference / Winterkongress based website: Markdown files for talks and speakers, and the main program.yml configuration.

sbt 'runMain de.sciss.symposium.CreateProgram --help'

Example arguments:

--input program.xlsx --out-speakers-dir website/_speakers --out-talks-dir website/_talks \
--out-program-file website/_data/program.yml --verbose

CreateBooklet

Creates a skeleton file for producing the symposium's booklet. A kind of variant of CreateProgram, with mostly the same arguments. The output is a markdown document that can be converted to .odt using pandoc.

sbt 'runMain de.sciss.symposium.CreateBooklet --help'

Example arguments:

--input program.xlsx --out-booklet-file booklet.md --verbose