Plom consists of several different components:
- Scripts – which handle building, scanning and recompiling papers
- Client application – used by your markers to identify, annotate and assign marks (grades).
- Manager application – to oversee the whole process
- Server – which handles all the communication and data.
These need to be run from the commandline, but in the future we intend to place these behind a web-interface. We have made some progress towards this.
plom-build– help you write your test specification and build the PDFs.
plom-server– starts the server which handles uploads, clients and finishing.
plom-scan– process scans of student tests and upload to server
plom-client– your markers use to annotate and mark papers
plom-manager– you use to oversee the process
plom-finishing– reassemble completed papers, compile spreadsheets of marks, and build a paper-return website. At present these are still separate scripts, but should be recombined soon.
The client application is an executable that is run on your markers’ laptops (linux, mac or windows). It helps your markers do 2 main tasks – identifying and marking.
- Identify papers: Each test-paper needs to be associated with a student, ie - paper 17 was written by student #1234578. We use machine-learning to read hand-written student-numbers from papers, but those predictions are verified via this client.
- Mark questions: The client displays scanned questions and helps the marker to annotate and assign a mark. The marker is only shown the question to which they have been assigned. The annotation engine supports rich text comments and is LaTeX compatible.
The manager application is an executable that allows the manager (the instructor in charge) to oversea both scanning/uploading of papers and the marking process.
The server stores all the page-images and data, and handles all the communication with the clients and scripts.