Jisc released this repository into the public domain under the GNU General Public License in April 2026 following the decision to retire the Publications Router service on 1 July 2026.
It is one of three Jisc git repositories that together store the complete application source code of the final operational version of Publications Router.
This repository contains a library of general source code, with specific redactions of sensitive configuration data.
The repository is archived. The source code is not supported or maintained by Jisc. Issues and Pull Requests will not be monitored or responded to.
PubRouter Octopus is a library of general purpose Python modules used by the PubRouter application.
Some of the functions are general purpose and may be used in any context, others are intended for use with the Flask framework.
-
MySQL v8 is required. See https://dev.mysql.com/doc/refman/8.0/en/windows-installation.html
-
By default it is assumed that MySQL is available at 'localhost' BUT if this is not the case, for example if it is provided in the cloud (e.g. using AWS RDS), then the appropriate connection hoststring must be set in an Environment Variable named: MYSQL_HOST.
UNIX Example for an RDS instance:export MYSQL_HOST='dr-oa-test-pubrouter.abcde1234fgh.eu-west-1.rds.amazonaws.com' -
A superuser account with these details must be configured (for Test environment):
- Username:
test_admin - Password:
_test#db#admin%1234%pwd_ - Hosts matching:
% - Authentication type: Standard (i.e. username/password)
Execute SQL:
CREATE USER 'test_admin'@'%' IDENTIFIED BY '_test#db#admin%1234%pwd_'; - Username:
-
The test_admin user must be granted privileges:
- CREATE
- CREATE USER
- DELETE
- DROP
- EXECUTE
- GRANT OPTION
- INDEX
- INSERT
- SELECT
- UPDATE
Execute SQL:
GRANT CREATE, CREATE USER, DELETE, DROP, EXECUTE, GRANT OPTION, INDEX, INSERT, SELECT, UPDATE ON *.* TO 'test_admin'@'%'; -
On Windows, not essential, MySQL Workbench application is a useful tool for creating users and reviewing the database tables etc.