CenterForDigitalHumanities / CenterForDigitalHumanities/DLA-CMS

Status API

Open
#25 2 comments 0 reactions 0 assignees View on GitHub
status
Dominant language
JavaScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Let's assume the starting point of the API to be "for this DLA Record (a DLA Collection Item)"...

The statuses for a DLA Collection Item exists through data points from different sources. Those sources include RERUM, TPEN, DLA and UDEL.

Expecting the client script to query for all the connections is not a good idea, as it could take a long time. Our current status interfaces are a great example of this, as they house the entire API (as client script) to query to the different sources for information.

The source server and database are the quickest at determining the data involved and in some cases the data connections. Using our current interfaces as an example, we generated a specific `/getDunbarProjects` endpoint in TPEN that collects all the information together for the various Dunbar Projects and returns them as an organized JSON array where each object notes something useful for determining statuses or connections. Even still, asking this endpoint for all of them at once takes a few seconds and will get slower as there are more projects. See one of the items from that array below.

```JSON
{
"id":"7920",
"project_name":" Delaware, DLA F113-05",
"metadata_name":"F113-05 letter/telegram from Paul to Alice: Wilmington, Del. (05/21/1903)",
"collection_code":"F113",
"entry_code":"0005",
"pages":[
{
"page_name":"MSS0113_S01_B04_F113_0005a.jpg",
"numParsedLines":12,
"numTranscribedLines":12
}
],
"assignees":[
{
"userid":2604,
"username":"zhangy124@udayton.edu"
},
{
"userid":2600,
"username":"mdanielcox1@udayton.edu"
},
{
"userid":2607,
"username":"hinesanthonyt1@udayton.edu"
},
{
"userid":2606,
"username":"bryantw1@udayton.edu"
}
],
"finalized":"true",
"thumbnail":"http://t-pen.org/TPEN/pageImage?folio=13254243"
}
```

For each status we want, we need to determine what could/should be completed by the client, and what should/could be completed by the data source server. Load times and query result times should be low; an admin should be able to see statuses within seconds.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.