eScholarship Technical Infrastructure

Modified on Mon, 01 Mar 2021 at 08:07 AM

eScholarship, the institutional repository and Open Access (OA) publishing platform for the University of California, is developed and provided by the California Digital Library. Content from eScholarship’s manuscript management/peer review system (a customized instance of the Open Journal System) and manual submission system (for all non-journal publications) is used by people across the world via our front-end access system.  

Open Code

The code driving each eScholarship component is openly available in public code repositories:


All eScholarship systems are hosted on Amazon Linux servers using various AWS services.

Access System Architecture


eScholarship 5

server O/S

Amazon Linux

web server


server framework

Sinatra + Sequel (Ruby); node.js for server-side prerendering (so-called “isomorphic javascript”)

front-end framework

React with plugins, ES6+ Javascript (via Babel)

front-end paradigm

“Single-page” app: smart client, API-only server


SCSS pre-processed

mobile support

fully responsive

asset bundling


dev compilation

Gulp detects changes, rebuilds using WebPack, then triggers automatic browser refresh

full-text indexing

Amazon CloudSearch (based on Solr/Lucene)

metadata store/index

MySQL 5.7 database

PDF rendering

client-side using PDF.js

PDF splash pages

Java servlet + iText 7 library


Load balancer + two large servers 

item data storage

MerrittExpress, backed by an Amazon S3 bucket 

file distribution caching


media streaming

HTTP with ranges


Merritt Repository


ARKs for all primary content; DOIs additionally for eScholarship journal articles on a per journal basis.