plom-create

Plom tools related to producing papers, and setting up servers.

usage: plom-create [-h] [--version]
                   {status,newspec,new,validatespec,uploadspec,extra-pages,user,users,predictions,rubric,clear}
                   ...

Named Arguments

--version

show program’s version number and exit

subcommands

Perform tasks related to building tests.

command

Possible choices: status, newspec, new, validatespec, uploadspec, extra-pages, user, users, predictions, rubric, clear

Sub-commands

status

Information about the server.

plom-create status [-h] [-s SERVER[:PORT]] [-w PASSWORD]

Named Arguments

-s, --server

Which server to contact, port defaults to 41984. Also checks the environment variable PLOM_SERVER if omitted.

-w, --password

for the “manager” user, also checks the environment variable PLOM_MANAGER_PASSWORD.

newspec (new)

Create new spec file.

plom-create newspec [-h] [--demo] [--demo-num-papers N] [specFile]

Positional Arguments

specFile

defaults to ‘’testSpec.toml’’.

Default: 'testSpec.toml'

Named Arguments

--demo

Use an auto-generated demo test. Obviously not for real use

Default: False

--demo-num-papers

How many fake exam papers for the demo (defaults to 20 if omitted)

validatespec

Parse and verify a test-specification toml file.

plom-create validatespec [-h] [--save] [specFile]

Positional Arguments

specFile

defaults to ‘’testSpec.toml’’.

Default: 'testSpec.toml'

Named Arguments

--save

By default the verified spec file is not saved. Pass this to write it to ‘verifiedSpec.toml’.

Default: False

uploadspec

Upload exam specification to server.

plom-create uploadspec [-h] [-s SERVER[:PORT]] [-w PASSWORD] [specFile]

Positional Arguments

specFile

defaults to ‘’testSpec.toml’’.

Default: 'testSpec.toml'

Named Arguments

-s, --server

Which server to contact, port defaults to 41984. Also checks the environment variable PLOM_SERVER if omitted.

-w, --password

for the “manager” user, also checks the environment variable PLOM_MANAGER_PASSWORD.

extra-pages

Make a extra-paper PDF for when anyone needs more space. NOTE: the resulting file is NOT COMPATIBLE with legacy servers (including those in common use in 2023).

plom-create extra-pages [-h]

user

Add a new user account. You can provide a password or one will be autogenerated and echoed to the screen. Use the –update argument to modify an existing user’s password instead. TODO: support disable/enable and maybe delete?

plom-create user [-h] [--update] [-s SERVER[:PORT]] [-w PASSWORD]
                 [username] [userpassword]

Positional Arguments

username

The username

userpassword

Autogenerated xkcd-style if omitted.

Named Arguments

--update

Update an existing user’s password.

Default: False

-s, --server

Which server to contact, port defaults to 41984. Also checks the environment variable PLOM_SERVER if omitted.

-w, --password

for the “manager” user, also checks the environment variable PLOM_MANAGER_PASSWORD.

users

Manipulate users accounts. With no arguments, list the users already on the server. Given a filename, parses a plain-text user list, and creates them on the server. Can also produce a template file for you to edit, with autogenerated passwords.

plom-create users [-h] [--list] [--demo] [--auto N] [--numbered] [--no-upload]
                  [-s SERVER[:PORT]] [-w PASSWORD]
                  [userlist]

Positional Arguments

userlist

Create/update a list of users from a csv file.

Named Arguments

--list

List the users on the server (default behaviour).

Default: False

--demo

Use fixed prepopulated demo userlist and passwords. DO NOT USE THIS ON REAL SERVER. Includes “scanner” and “reviewer” BUT NOT “manager” accounts (because the server must already have that).

Default: False

--auto

Auto-generate a random user list of N users with real-ish usernames. This will also create “scanner” and “reviewer” accounts BUT NOT a “manager” account (because the server must already have that).

--numbered

Use numbered usernames, e.g. “user17”, for the autogeneration.

Default: False

--no-upload

Do not upload, just create a local template file.

Default: True

-s, --server

Which server to contact, port defaults to 41984. Also checks the environment variable PLOM_SERVER if omitted.

-w, --password

for the “manager” user, also checks the environment variable PLOM_MANAGER_PASSWORD.

predictions

Before papers are identified, there can exist various predictions about which paper goes with which individual. “Prenamed” is one example, where names are pre-printed on the ID sheet. Computer vision tools also make predictions based on student ID numbers.

plom-create predictions [-h] (--predictor P | --all | --erase P)
                        [-s SERVER[:PORT]] [-w PASSWORD]

Named Arguments

--predictor

Show all predictions by the predictor P.

--all

Show all predictions.

Default: False

--erase

Erase all predictions by the predictor P. Caution: think carefully before erasing the “prename” predictor.

-s, --server

Which server to contact, port defaults to 41984. Also checks the environment variable PLOM_SERVER if omitted.

-w, --password

for the “manager” user, also checks the environment variable PLOM_MANAGER_PASSWORD.

rubric

Add pre-made rubrics to the server. Your graders will be able to build their own rubrics but if you have premade rubrics you can add them here. This tool can also dump the current rubrics from a running server.

plom-create rubric [-h] [--dump FILE] [--demo] [-s SERVER[:PORT]]
                   [-w PASSWORD]
                   [rubric_file]

Positional Arguments

rubric_file

Upload a pre-build list of rubrics from this file. This can be a .json, .toml or .csv file.

Named Arguments

--dump
Dump the current rubrics from SERVER into FILE,

which can be a .toml, .json, or .csv file. Defaults to FILE.toml if no extension specified..

--demo

Upload an auto-generated rubric list for demos.

Default: False

-s, --server

Which server to contact, port defaults to 41984. Also checks the environment variable PLOM_SERVER if omitted.

-w, --password

for the “manager” user, also checks the environment variable PLOM_MANAGER_PASSWORD.

clear

Clear “manager” login after a crash or other expected event.

plom-create clear [-h] [-s SERVER[:PORT]] [-w PASSWORD]

Named Arguments

-s, --server

Which server to contact, port defaults to 41984. Also checks the environment variable PLOM_SERVER if omitted.

-w, --password

for the “manager” user, also checks the environment variable PLOM_MANAGER_PASSWORD.

See help for each subcommand or consult online documentation for an overview of the steps in setting up a server.

Most subcommands communicate with a server, which can be specified on the command line or by setting environment variables PLOM_SERVER and PLOM_MANAGER_PASSWORD.