Skip to content
Snippets Groups Projects
Commit eae72b15 authored by Yurii Kondakov's avatar Yurii Kondakov
Browse files

update collaboration context documentation

parent a7c66184
No related branches found
No related tags found
1 merge request!601update collaboration context documentation
Pipeline #161299 failed
......@@ -6,9 +6,6 @@
- [HTTP header syntax <a name="http-header-syntax"></a>](#http-header-syntax)
- [Request directives <a name="request-directives"></a>](#request-directives)
- [Examples <a name="example-requests"></a>](#example-requests)
- [Integration <a name="integration"></a>](#integration)
- [How to integrate collaboration context <a name="how-to-integrate-collaboration-context"></a>](#how-to-integrate-collaboration-context)
- [Sample implementation of Azure <a name="sample-implementation-of-azure"></a>](#sample-implementation-of-azure)
- [Reference <a name="reference"></a>](#reference)
## Introduction <a name="introduction"></a>
......@@ -16,7 +13,7 @@
Collaboration enables domain users to always consume quality data from the OSDU, share data within your team and control how and what you want to share back. This maintains the data integrity of the OSDU while enabling teams to succeed in creating new value.
## Collaboration Context <a name="collaboration-context"></a>
All APIs in storage service can be collaboration context-aware. Please refer to the '[Integration <a name="integration"></a>](#integration)' section for further implementation details. This functionality is behind a collaboration feature flag which is set to false by default. The functionality of the existing storage service will not be changed with this feature flag set to false.
All APIs in storage service can be collaboration context-aware. Please refer to the [Collaboration Integration](CollaborationIntegration.md) tutorial for further implementation details. This functionality is behind a collaboration feature flag which is set to false by default. The functionality of the existing storage service will not be changed with this feature flag set to false.
When it is set to true the old functionality is still not changed however you can work with Records in new contexts using the x-collaboration header when it is optionally provided.
In order to use storage apis in a collaboration context, the API user needs to add a __x-collaboration HTTP header__ to the requests.
......@@ -73,19 +70,5 @@ curl --request PUT \
```
</details>
#Integration <a name="integration"></a>
All APIs in storage service are collaboration context-aware in Azure CSP when the collaboration context feature flag is set to true.
Meaning that any interface changes (that are implemented by all CSPs) have a "dummy" implementation that ignores the functionality related to collaboration.
Other CSPs can implement this functionality at their own pace.
### How to integrate collaboration context <a name="how-to-integrate-collaboration-context"></a>
There are few things to consider when implementing APIs to support collaboration context.
1. The current record changed topic is not triggered by any changes when a collaboration context is provided.
2. There should be a new topic that is triggered for all requests regardless of collaboration context. Note that collaboration context should be sent as part of the message if provided.
3. The old functionality of storage should not be changed if collaboration context is not provided.
### Sample implementation of Azure <a name="sample-implementation-of-azure"></a>
Please refer to this MR for [implementation of Azure](https://community.opengroup.org/osdu/platform/system/storage/-/merge_requests/546).
##### Reference <a name="reference"></a>
More info about __Namespacing storage records__ can be found [here](https://community.opengroup.org/osdu/platform/system/storage/-/issues/149).
## Collaboration Integration
All APIs in storage service are collaboration context-aware in Azure CSP when the collaboration context feature flag is set to true.
Meaning that any interface changes (that are implemented by all CSPs) have a "dummy" implementation that ignores the functionality related to collaboration.
Other CSPs can implement this functionality at their own pace.
### Sample implementation of Azure
Please refer to this MR for [implementation of Azure](https://community.opengroup.org/osdu/platform/system/storage/-/merge_requests/546).
There are few things to consider when implementing APIs to support collaboration context.
1. The current record changed topic is not triggered by any changes when a collaboration context is provided (please refer to this Azure implementation [MR](https://community.opengroup.org/osdu/platform/system/storage/-/merge_requests/582)).
2. There should be a new topic that is triggered for all requests regardless of collaboration context. Note that collaboration context should be sent as part of the message if provided (please refer to this Azure implementation [MR](https://community.opengroup.org/osdu/platform/system/storage/-/merge_requests/553)).
3. The old functionality of storage should not be changed if collaboration context is not provided.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment