Skip to content

First draft of OCR-D Web API#173

Merged
kba merged 24 commits into
masterfrom
web-api
Apr 6, 2022
Merged

First draft of OCR-D Web API#173
kba merged 24 commits into
masterfrom
web-api

Conversation

@kba

@kba kba commented Aug 23, 2020

Copy link
Copy Markdown
Member

Here's an initial draft of the HTTP API for OCR-D processing servers. Much more still needs to be fleshed out, obviously. But since this subject is of interest for many in OCR-D, I want to share early so we can agree on the direction we should take with the API.

The API is defined as OpenAPI 3 YAML. Resources follow the JSON-LD convention of assigning the resource URL as @id attribute. Media types are described in the preamble, emphasis is placed on a consistent data model. The requests are grouped by tag, so that implementers can choose whether to implement specific areas (e.g. the "OCR-D processing API v1").

You can explore the API in a GUI on SwaggerHub.

TODO:

  • Handling parameters (i.e. ocrd processor parameters)
  • Document JSON-LD convention for @id (see Add JSON-LD to WebAPI #194)
  • Consider distributed services and how they interact to retrieve data in a sensible and low-bandwidth way (this is non-normative and could be covered by a best practice section on the website) (see WebAPI: Best practices #195)
  • Mechanism for actively signalling events (Web Hooks, Web Sockers, AQMP...) (this will be part of a reference implementation and is not part of the API) (see WebAPI: Event notifications #196 )

@mweidling mweidling left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainly language and style stuff, in-depth thoughts will follow

Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml
Comment thread openapi.yml
Comment thread openapi.yml Outdated
Comment thread openapi.yml
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
kba and others added 4 commits March 4, 2022 17:35
Co-authored-by: mweidling <13831557+mweidling@users.noreply.github.com>
Co-authored-by: Konstantin Baierer <kba@users.noreply.github.com>
@mweidling

Copy link
Copy Markdown
Contributor

We will omit the JSON-LD part for now.

Comment thread openapi.yml Outdated
Comment thread openapi.yml Outdated
kba and others added 8 commits April 4, 2022 12:02
Co-authored-by: mweidling <13831557+mweidling@users.noreply.github.com>
Co-authored-by: mweidling <13831557+mweidling@users.noreply.github.com>
Co-authored-by: mweidling <13831557+mweidling@users.noreply.github.com>
Co-authored-by: mweidling <13831557+mweidling@users.noreply.github.com>
@mweidling

Copy link
Copy Markdown
Contributor

@kba Since all discussions are resolved, are we ready to merge this? Or do we have any dependencies/things we have to do before?

@kba kba marked this pull request as ready for review April 6, 2022 11:25
@kba

kba commented Apr 6, 2022

Copy link
Copy Markdown
Member Author

@kba Since all discussions are resolved, are we ready to merge this? Or do we have any dependencies/things we have to do before?

🚀🚢 No I think we can release an initial 0.x version and potentially adapt with feedback before a 1.0.0 release in a few weeks.

@mweidling

Copy link
Copy Markdown
Contributor

@kba kba merged commit 5112739 into master Apr 6, 2022
@kba kba deleted the web-api branch April 6, 2022 18:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants