This repository was archived by the owner on Apr 18, 2022. It is now read-only.
This repository was archived by the owner on Apr 18, 2022. It is now read-only.
Flesh out Server model to enable distributed network and federated API #8
Open
Description
In order to be a distributed, interoperable network of servers using this (federated) API, the servers need to know about each other. Servers should maintain a manifest of the known servers and be able to propagate and synchronize the server manifest lists with each other. Such manifests need to inclide:
- Base URL for the API on the server, e.g. http://example.com/foo/api/
- The openscriptures_api apps installed, e.g. texts, morphs, notes, etc.
- The version of the API that is being run.
- The texts and other objects that it has available.
- Any access restrictions, including rate-limiting, authentication, etc.
The federated nature of the API is critical as it allows copyright-protected works to become part of the network, and it provides redundancy and mirroring to make applications more scalable.