The Alpheios Morphological Library is the first in a set of deliverables which reenvision the Alpheios functionality in such a way that it can serve not only the Alpheios Reading Tools, but also other online reading environments for ancient texts, such as those of the Digital Latin Library and the Perseus Digital Library . We expect to leverage many aspects of the original Alpheios design, particularly its approach to modularization and configuration, as well as its interfaces to supporting services.
The Alpheios libraries project will build a set of core Javascript libraries, that can be distributed as npm and bower packages, to provide reading support services in a mix-and-match approach, depending upon the language and functionality desired. These libraries will interface when needed with hosted services for server-side functionality using standard APIs for access morphological parsers, annotation stores, lexicons and so forth. Existing services such as the Tufts Morphology Service will be used, but in some cases new services may be needed to be developed and service APIs formalized.
We are starting by developing the following core feature set:
Additional advanced functionality may follow, such as:
We will adhere to design principles that require back-end independence, use of established APIs for service integration, and high configurability that allows users of the libraries to use their back-end services of choice for access to server-side functionality. We would also adhere to the Alpheios approach to language-independence, building core functionality that serves all languages but allowing for language-specific extension of this functionality as needed.
To validate their general purpose nature, we will use these libraries to provide client-side reading support functionality not only as embedded libraries in the Digital Latin Library and Perseus 5 , but also as components in a replacement browser plugin for Alpheios. Using them in a browser plugin as well as on hosted pages for different projects will allow us to ensure that we are not too tightly coupling them with any one project's needs or approach to the user interface.
By developing the libraries from the outset to support multiple projects, we also hope to help ensure their sustainability. We will build them as a collaborative community of projects and developers working together to enhance and maintain the code.
npm install
npm run build
Puts a copy of alpheios-morphlib.js in build/js
npm run dev
runs a local web server on port 8888. Browse to the examples in the sample/ folder. Make changes to the code and they'll show up when you reload.
This project is receiving support from the Andrew W. Mellon Foundation and the Humboldt Chair of Digital Humanities at Leipzig