Markify is a ruby script to detect new marks or course assessments in the student information system of your university. Supported universities are:
If new marks are detected, Markify will send you a XMPP message for every change.
The main reason for creating Markify is some kind of disappointing. Our university is able to publish the results of exams online, but the web based student information system is not able to send notifications if something is changed. That is very annoying especially in the time when you have to write exams, but you also waiting for results.
What Markify does is to do the same procedure which would you do to look for new marks.
- Go to the student information system login page.
- Login with your user data.
- Go to your performance record.
- Scrape the page.
- Recognize changes.
- Send notifications.
The benefit of Markify against your manual interaction is, that you can run Markify automatically per cron.
Install Markify via rubygems:
$ gem install markify
-
Create the initial Markify configuration.
$ markify --init
-
Add your student information system and XMPP login data to your configuration. Default path
$HOME/markify/config.yml
. -
Test your configuration.
$ markify --test
-
Run Markify to create hash database and insert all known marks.
$ markify -v
-
Configure cron job to run Markify every hour.
$ crontab -e @hourly /usr/local/bin/bash -c "/usr/local/bin/markify -s" 1>/dev/null
Possible options to run markify:
$ markify [options]
Optional options:
-s, --send Send xmpp messages
-n, --noop No operation, only stdout output
-v, --[no-]verbose Run verbosely
-f, --config-file FILE Config file (default: ~/markify/config.yml)
Common options:
--init Create example configuration
--test Test configuration and accounts
-h, --help Show this message
--version Show version information
exam: BCS-3-SPEZ Transportnetze und Hochgeschwindigkeitsnetze
mark: 1.7
passed: BE
try: 3
date: 2042-01-23
hash: 05d48ced524708314d4ff2e628f7200b06f02ed2e40a36efd92bbf449f474cce
The Markify source code is hosted on GitHub. Please use the issue tracker and let me know about errors or ideas to improve this software.
Released under the GNU GENERAL PUBLIC LICENSE Version 3. © Daniel Meißner, 2013