This repository is associated with the HTR2HPC research project sponsored by the Center for Digital Humanities at Princeton. The project goal is integrating the eScriptorium handwritten text recognition (HTR) software with high performance computing (HPC) clusters and task manage.
Warning
This is experimental code for local use and assessment.
This package can be installed directly from GitHub using pip
:
pip install git+https://github.com/Princeton-CDH/htr2hpc.git@main#egg=htr2hpc
pucas
is a dependency of this package and will be included when you install this package.
Import htr2hpc settings into the deployed escriptorium local settings. It must be imported after escriptorium settings so that overrides take precedence.
from escriptorium.settings import *
from htr2hpc.settings import *
This adjusts the settings as follows:
- Adds to
INSTALLED_APPS
andAUTHENTICATION_BACKENDS
and provides a basicPUCAS_LDAP
configuration to enable Princeton CAS authentication; configuresCAS_REDIRECT_URL
to use the escriptoriumLOGIN_REDIRECT_URL
configuration (currently the projects list page) and setsCAS_IGNORE_REFERER = True
to avoid behavior where successful CAS login takes you back to the login page - Sets
ROOT_URLCONF
to usehtr2hpc.urls
, which addspucas
url paths to the urls defined inescriptorium.urls
- Adds
htr2hpc/templates
directory first in the list of template directories, so that any templates in this application will take precedence over eScriptorium templates; currently used for customizing the login page to add Princeton CAS login
To fully enable CAS, you must fill out configurations for CAS server url and PUCAS LDAP settings in the local settings of your deployed application.
from escriptorium.settings import *
from htr2hpc.settings import *
# CAS login configuration
CAS_SERVER_URL = "https://example.com/cas/"
PUCAS_LDAP.update(
{
"SERVERS": [
"ldap2.example.com",
],
"SEARCH_BASE": "",
"SEARCH_FILTER": "(uid=%(user)s)",
# other ldap attributes as needed
}
)
htr2hpc
is distributed under the terms of the Apache 2 license.