Skip to content

Vanilla default and internally useful interfaces for the TPEN ecosystem that exemplify how you might build your own interfaces for specific projects.

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE-CONTENT.md
Notifications You must be signed in to change notification settings

CenterForDigitalHumanities/TPEN-interfaces

Repository files navigation

TPEN Interfaces

These vanilla default and internally useful interfaces for the TPEN ecosystem that exemplify how you might build your own interfaces for specific projects. The directories each contain a named interface that serves as an example for how an external developer might use the TPEN Services API to implement a custom interface that leverages the TPEN platform. Interfaces are typically a web application, a simple HTML document, that utilizes Web Components that might be reused by others.

The shape of things

The directories here each contain an example of an interface that uses the TPEN authentication and interactions with the TPEN platform. As an example, the default location for the transcription action is https://tpen.rerum.io/interfaces/transcribe and returns the file in /transcription/index.html. If you have developed a project that transcribes music and has helpful tools for layers music encoding and lyric transcription, the project configuration can provide a custom location for the project_transcription option, directing the user instead to https://example.com/musicproject/interfaces/transcribe.html with a querystring that includes the project ID. Examples here, of the best practice, include the following:

  1. index.html The default interface to launch,
  2. *.js, *.css, *.html, etc. Files in support of the Interface, and
  3. manifest.yml or manifest.json Configuration for the Interface. schema🔗

Examples and Services

Each Interface is self-contained and uses the TPEN Services API to create, modify, and annotate web resources. Some examples, whether or not they are currently implemented include:

/transcribe-latin-poetry

Add text annotations to an image with tools that allow users to select words, phrases, and lines.

  • /getProject to get the project by ID and popluate the page with existing image region annotations.
  • /userInfo to get the user's role and permissions.
  • /updateAnnotation to add text transcription to an image region.
  • /createAnnotation to select a piece of the text annotation for scansion, structural annotations, or references.

The interface may add XML tags or shortcut buttons to add regular elements, provide splitscreen tools specific to this purpose (dictionaries, word lists, etc.), and saves the annotations in a format that can be imported into other transcription interfaces. A viewer or transcription interface that doesn't understand the secondary annotations made here will still be able to read the primary annotations.

/manage-project-description

Add descriptive key-value pairs to a project. This might be used to make a list of projects easier to filter or more discoverable from an external source. On its own, this may not mean much but combined with a customized project list page, it could be a powerful tool.

License

Code: Apache License 2.0 — see LICENSE

Content (documentation, images, transcriptions, and other non-code assets): Creative Commons Attribution 4.0 International — see LICENSE-CONTENT.md

If you redistribute or modify this project, please include these license files and preserve copyright notices.

About

Vanilla default and internally useful interfaces for the TPEN ecosystem that exemplify how you might build your own interfaces for specific projects.

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
LICENSE-CONTENT.md

Stars

Watchers

Forks

Releases

No releases published

Contributors 12