Skip to content

Commit d246cd6

Browse files
PonteIneptiqueThibault Clérice
andauthored
v1.0 update (#294)
Co-authored-by: Thibault Clérice <thibault.clerice@inria.fr>
1 parent 68a7c4a commit d246cd6

11 files changed

Lines changed: 2504 additions & 136 deletions

File tree

Cookbook.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,10 @@ To link a manifest to a catalog entry, we recommend using the Dublin Core Terms
1313
```json
1414
{
1515
"@context": {
16-
"@vocab": "https://distributed-text-services.github.io/specifications/context/1.0.0draft-2.json",
16+
"@vocab": "https://dtsapi.org/context/v1.0.json",
1717
"sc": "http://iiif.io/api/presentation/2#"
1818
},
19+
"dtsVersion": "1.0",
1920
"@id": "/a/collection/uri",
2021
"@type" : "Resource",
2122
"title" : "A title",
@@ -44,9 +45,10 @@ The operation is really close to the [previous one](#link-manifests-to-a-catalog
4445
```json
4546
{
4647
"@context": {
47-
"@vocab": "https://distributed-text-services.github.io/specifications/context/1.0.0draft-2.json",
48+
"@vocab": "https://dtsapi.org/context/v1.0.json",
4849
"sc": "http://iiif.io/api/presentation/2#"
4950
},
51+
"dtsVersion": "1.0",
5052
"@id":"/api/dts/navigation/?id=/a/text/id&level=2",
5153
"citeDepth" : 2,
5254
"level": 2,

FAQ.md

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,20 @@
22

33
## What is DTS?
44

5-
DTS is an API for collections of TEI documents.
5+
DTS is an API for collections of documents.
66

7-
## Why does TEI need an API for collections?
7+
## Can DTS provide an API for TEI collections?
88

99
DTS provides a standard way for clients to interact with collections of TEI documents. A standard API allows users to access many text collections using the same client software. It also allows editors to publish text collections in a usable way that existing clients can use.
1010

11+
## Can I use DTS if I don't publish my texts in TEI/XML?
12+
13+
Yes (since 1.0's first release candidate). The DTS Collection and Navigations endpoints can be used to provide navigation capabilities across
14+
collections of texts and within a textual document regardless of the data format.
15+
1116
## Where can I download DTS and start using it?
1217

13-
You can’t. DTS defines the way that programs communicate with each other. An end-user will use this software. For software developers, there are libraries that support DTS, they are listed [here](../index.html#reference-implementations).
18+
You can’t. DTS defines the way that programs communicate with each other. An end-user will use this software. For software developers, there are libraries that support DTS, they are listed [here](../#reference-implementations).
1419

1520
## What can clients do with these documents?
1621

@@ -34,10 +39,6 @@ DTS is a REST API that works a lot like a web browser. When client software mak
3439

3540
DTS is built like you would build a website: everything is discoverable, sorted so that users (clients) can easily find what they want. On top of that, it uses vocabularies that are linked and shared and which you can find all over the web of data.
3641

37-
## What is Hydra? Why Hydra?
38-
39-
Hydra provides a good framework for building REST APIs. We wanted to use a standard instead of starting from scratch. We wanted good support for JSON and pure hypermedia-based APIs. Hydra provides core functionality and provides extensibility that allows us to customize to fit our model. (We tried three or four other approaches before choosing Hydra. We know there are religious debates about APIs, this one worked well for our use cases.)
40-
4142
## If I implement the DTS API for my text collection what does it enable?
4243

4344
Implementing the DTS API enables consumers of the data to easily retrieve:
@@ -67,14 +68,6 @@ Yes.
6768

6869
Yes.
6970

70-
## Can I use DTS if I don't publish my texts in TEI/XML?
71-
72-
Yes, partially.
73-
74-
The DTS Collection and Navigations endpoints can be used to provide navigation capabilities across
75-
collections of texts and within a textual document regardless of the data format. However, the Document endpoint only supports
76-
TEI texts.
77-
7871
## What is the relationship between DTS and CTS? Are they redundant?
7972

8073
The Distributed Text Services effort was inspired, informed and influenced by the [Canonical Text Services protocol](http://cite-architecture.github.io/cts/) (CTS). CTS has allowed many classical, canonical texts encoded in TEI to be made available in a machine-actionable, linked open data fashion. However, the CTS API is tightly coupled to the CTS URN identifier system which does not support citation systems used by more modern content or other forms of writing, such as papyri or inscriptions. The API also does not adhere to modern community standards for Web APIs.

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@
44
[<i class="fa fa-bug"></i> Raise Issues and Ask Questions](https://github.com/distributed-text-services/specifications/issues){: .btn .btn--info .btn--x--small}
55
[<i class="fa fa-file-code"></i> Check Source and Propose Changes](https://github.com/distributed-text-services/specifications){: .btn .btn--info .btn--x--small}
66

7-
## Distributed Text Services 1.0 Release Candidate Published – July 11, 2025
7+
## Distributed Text Services 1.0 Published – February 13, 2026
88

9-
After years of development, independent implementations, interoperability testing, and a public comment period, the Distributed Text Services Technical Committee is pleased to announce the publication of the Distributed Text Services 1.0 Release Candidate (RC1).
10-
11-
We strongly encourage you to implement DTS now and share your feedback. The specification is feature-complete and stable, and we expect only minor clarifications before the final 1.0 release in three months (11/10/2025). Early adoption will ensure your projects are ready and help the community validate the standard in real-world use.
9+
After years of development, independent implementations, interoperability testing, and a release candidate period, the Distributed Text Services Technical Committee is pleased to announce the publication of the Distributed Text Services v1.0.
1210

1311
## What is DTS?
1412

@@ -26,9 +24,9 @@ See the [FAQ](FAQ.html) for more information and a list of frequently asked ques
2624

2725
DTS specifies 3 distinct operation endpoints:
2826

29-
- Navigation _across texts_ is supported by the [Collection Endpoint](versions/1.0rc1/#collection-endpoint)
30-
- Navigation _within a text_ is supported by the [Navigation Endpoint](versions/1.0rc1/#navigation-endpoint)
31-
- Retrieval of complete or partial texts is supported by the [Document Endpoint](versions/1.0rc1/#document-endpoint)
27+
- Navigation _across texts_ is supported by the [Collection Endpoint](versions/v1.0/#collection-endpoint)
28+
- Navigation _within a text_ is supported by the [Navigation Endpoint](versions/v1.0/#navigation-endpoint)
29+
- Retrieval of complete or partial texts is supported by the [Document Endpoint](versions/v1.0/#document-endpoint)
3230

3331
The Collection and Navigation endpoints return JSON-LD. The Document endpoint is specified to return TEI/XML of the requested text or fragment.
3432

@@ -54,7 +52,7 @@ This list includes implementations that should be generic enough to be compatibl
5452

5553
## Conformance Evaluation
5654

57-
Matteo Romanello built a toolkit to evaluate implementation against the specifications: <https://github.com/mromanello/DTS-validator>.
55+
Matteo Romanello built a toolkit to evaluate implementation against the specifications: <https://github.com/distributed-text-services/validator>.
5856

5957
## Known Corpora Accessible via the DTS API
6058

_data/navigation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# main links
22
main:
33
- title: "API Documentation"
4-
url: "versions/1.0rc1/"
4+
url: "versions/v1.0/"
55
- title : "Organization"
66
url: "Organization.html"
77
- title : "Cookbook"

changelogs.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,33 @@
11
Changelogs
22
==========
33

4+
# 1-alpha to 1.0
5+
6+
- 2026-02-04
7+
- Fixed ([Issue 271](https://github.com/distributed-text-services/specifications/issues/271)) to have extensions and dublinCore be nested JSON LD properties
8+
- Clarification on the fact that Citation Trees without a reference represent the same document.
9+
- 2025-07-11 : 1.0 Release Candidate 1 !
10+
- 2025-04-17
11+
- Fixed formatting issues.
12+
- Removed ambiguity around the section "Handling Requests with No Matching `CitableUnit`s at the Requested Level(s)" ([Issue 268](https://github.com/distributed-text-services/specifications/issues/268))
13+
- Clarified the behaviour of `?down=0` while no `start/end`/`ref` are provided (=400 Bad Request Error) ([Issue 269](https://github.com/distributed-text-services/specifications/issues/269))
14+
- Allow `CitableUnit` to have `@id` for Linked Data usages ([Issue 274](https://github.com/distributed-text-services/specifications/issues/274)).
15+
- Clarify that headers of the Entry Endpoint SHOULD be JSON+LD ([Issue 272](https://github.com/distributed-text-services/specifications/issues/272)).
16+
- Clarify that `MetadataObject` MUST have their vocabularies defined, either by the main `@context` property if they are reusing base DTS vocabulary (including Dublin Core Terms) or by their own `@context` property.
17+
- 2024-08-08
18+
- Made `citeType` required for `CiteStructure` objects.
19+
- Removed `maxCiteDepth` everywhere, including in the example.
20+
- 2024-08-06
21+
- Removed `maxCiteDepth` from Collection objects at the Collection endpoint now that we have a `CitationTree` object at the Resource level.
22+
- Harmonized the properties for `Resource` objects between the Collection and Navigation endpoints. This involves adding required `document` and `navigation` properties, as well as allowing additional optional properties. Also removed the `document` and `navigation` properties from the `Navigation` object since these URI templates are now part of the `Resource` object.
23+
- Added `view` properties for paginated responses to the Collection and Navigation endpoints. Added a `Pagination` object type to provide the pagination links.
24+
- 2024-05-24
25+
- Removed `totalItems` from the Collection Endpoints (See https://github.com/distributed-text-services/specifications/issues/248, problem pointed out by @kbrueckmann)
26+
- `passage` property (URI template) moved to `document` for consistency between Collection and Navigation endpoint (See https://github.com/distributed-text-services/specifications/issues/249, problem pointed out by @philippepons)
27+
- Harmonized the examples to have the resource already populated, as per Collection URI Templates
28+
- `collection` property (URI template) added to `Collection` and `Resource` object (See https://github.com/distributed-text-services/specifications/issues/250, problem pointed out by @philippepons)
29+
- Fixed a typo in the Entry endpoint table, where it referenced Resources.
30+
431
# 1-draft2 to 1-alpha
532

633
## Hydra

0 commit comments

Comments
 (0)