Deprecation strategy - Schema management using storage service
As of today, we don't have deprecation strategy for OSDU APIs.
Context & Scope
Currently, Schema can be managed in two ways
- Using Storage service -- Flattened JSON
- Using Schema service -- Full JSON support
Storage service schema management doesn't support R3 schemas, so most consumers already using Schema service. We should avoid supporting schema management using two services. Currently, we will have to fix bugs in both services, so we are recommending to deprecate storage service schema management ASAP.
Suggestion
M6 Communication
- Communicate to Forum Members and include the deprecation message in the M6 Release notes.
- Update the PUT and GET API to return deprecated warning message(This version is deprecated and will be removed in M7. It will be gone after July 14th).
Wait period
- Do we need data migration? If, so create schema/data migration and complete testing.
Delete the APIs in M7
- Delete POST endpoint(/api/storage/v2/schema) in storage service.
- Delete GET endpoint(/api/storage/v2/schema) in storage service
- Delete DELETE endpoint(/api/storage/v2/schema) in storage service
- Delete GET endpoint(/api/storage/v2/query/kinds) in storage service
Update on Jul 14
It was discovered last week that Admin UI is still using these APIs, and more time is needed for Admin UI to migrate to use schema service APIs. Thus, we can not remove these deprecated APIs in M7, and the updated proposal is to delay the removal to right before M8 code freeze, which is near end of Aug.