Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Start a Project on the TPEN website

Open
#37 0 comments 0 reactions 1 assignee View on GitHub

@cubap is already working on this.

Since Mar 14, 2024.

Assessment

This issue has not been assessed yet.

Description

story
Primary Agent

Scholar/Researcher

Story
As a researcher, I would like to log into TPEN and start a transcription project. The images I select may be of a few types:

- a IIIF Manifest.json file
- an open image URL
- a local file that I have on my own machine
- an actual book or separately held image that cannot be referenced
- maybe I can browse or search through some collections of manuscripts

I would like to have the option of jumping right in or configuring my project before beginning.
Resources Involved
  • TPEN 3: business card site
  • Services: the main API hub
  • TinyPen: the RERUM proxy
  • Static: the midcache for complex documents
  • Users: Auth0 User management and tools
  • RERUM (external): Linked Open Data
  • Interfaces: web interfaces for humans and reports
  • Rerum Inbox (external): Linked Open Data Notification Inbox
  • External Service
Structural Solution
An authenticated user can call a `new Project(resources)` constructor. The interface is the tricky part. A IIIF solution should support drag-n-drop feature as well. A local file solution could be a guide to uploading to GitHub or a sophisticated module to use the GitHub API to spin up a repo. Pasting in a single image url is straightforward and should be converted to a IIIF resource.

Solutions for multiple image URLs and collection browser are similar. A separate, possibly out of scope, application can create a manifest.json and publish it online (or save in RERUM) and then enter TPEN at some "create project from IIIF Manifest" end point. A non-imaged transcription would require its own special transcription interface, but the project and Annotation Collections never require an image to exist.

The resulting interface once a project is created may be a configurable thing or have a parameter as a callback location. Suggestions include:
- start transcribing on creation
- manage project page to add metadata, titles, collaborators, etc.
- list of all projects
- success report and return to the "create a project" interface
- send project id/info to internal or external API

In the API services, documents representing the content should be built and stored in RERUM, baseline config and group management should be in the local database, and possibly some helpful documents will also be queued in the Static files cache.

IIIF Commons libraries in GitHub may be considered for work here, as they do not have the same debt as some other files. It might also be possible to bury these in Interfaces that are non-essential alternatives.
Additional context
This is a risky place for scope creep but we should prioritize building a system that may not include all the options, but which takes pains to not exclude any of them. This may be later development or third parties.

It should also be noted that the minimum valid project has not been defined, nor has a schema been established. The scope of this story assumes only a project can exist.
Dominant language
HTML
Stars
5
Forks
0
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from CenterForDigitalHumanities/TPEN3

All issues in CenterForDigitalHumanities/TPEN3

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.