OSDU Software issueshttps://community.opengroup.org/groups/osdu/-/issues2024-03-19T14:34:04Zhttps://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/91F1 (Java) Story 30 [Indexer]: Upgrade re-index & clear-index API for x-collab...2024-03-19T14:34:04ZRostislav Dublin (EPAM)F1 (Java) Story 30 [Indexer]: Upgrade re-index & clear-index API for x-collaboration supportDescription
---
Upgrade re-index & clear-index API for x-collaboration support
Acceptance criteria
---
re-index & clear-index respect x-collaboration header
Testing scenarios
---
- all unit tests
- run re-index & clear-index with/...Description
---
Upgrade re-index & clear-index API for x-collaboration support
Acceptance criteria
---
re-index & clear-index respect x-collaboration header
Testing scenarios
---
- all unit tests
- run re-index & clear-index with/without x-collaboration header. Make sure accordant NSs are treated.
Technical notes
---
[*Any technical details, guides, documentation, wikis, and many more that could be useful to complete this story.*]Vladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/90F1 (Java) Story 29: implement service methods for WIP-resources API2024-03-19T14:34:04ZRostislav Dublin (EPAM)F1 (Java) Story 29: implement service methods for WIP-resources APIDescription
---
Implement service methods to request lists of WIP-resources for the CP from Search service.
It should be triggered by the API: #72
See discussion in the https://gitlab.opengroup.org/osdu/subcommittees/data-def/work-pro...Description
---
Implement service methods to request lists of WIP-resources for the CP from Search service.
It should be triggered by the API: #72
See discussion in the https://gitlab.opengroup.org/osdu/subcommittees/data-def/work-products/schema/-/issues/644 issue
Acceptance criteria
---
Service methods are implemented so when /wip-resources API is consumed
they are invoked and requesting Search for the records in the CP's namespace.
Testing scenarios
---
- unit tests
- get wip-resources for the CP
Technical notes
---
-Vladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/89F1 (Java) Story 28 [Search]: Implement search in a namespace context2024-03-19T14:34:04ZRostislav Dublin (EPAM)F1 (Java) Story 28 [Search]: Implement search in a namespace contextDescription
---
Today's Search logic is namespace-aware.
It doesn't respect the x-collaboration header and can't perform a search in a custom namespace.
We need to implement an accordant logic for it.
See [ADR - Project & Workflow Se...Description
---
Today's Search logic is namespace-aware.
It doesn't respect the x-collaboration header and can't perform a search in a custom namespace.
We need to implement an accordant logic for it.
See [ADR - Project & Workflow Services - Core Services Integration - Search Service Support](https://community.opengroup.org/osdu/platform/system/home/-/issues/108)
Acceptance criteria
---
- when the x-collaboration header is set, the search happens in a custom NS
Testing scenarios
---
- all unit tests
- search with and without the set x-collaboration header. Make sure the results are properly different.
Technical notes
---Pavel BarzouPavel Barzouhttps://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/88F1 (Java) Story 27 [Indexer]: Implement indexing respecting x-collaboration p...2024-03-19T14:34:03ZRostislav Dublin (EPAM)F1 (Java) Story 27 [Indexer]: Implement indexing respecting x-collaboration propertyDescription
---
When Indexer receives a message from "Record Changed V2" topic, the message contains x-collaboration property that points on record in a custom NS. The indexing logic for records in custom namespace should be implemented...Description
---
When Indexer receives a message from "Record Changed V2" topic, the message contains x-collaboration property that points on record in a custom NS. The indexing logic for records in custom namespace should be implemented in compliance with the recuirements in the following ADR:
[ADR - Project & Workflow Services - Core Services Integration - Search Service Support](https://community.opengroup.org/osdu/platform/system/home/-/issues/108)
Acceptance criteria
---
- a specific indexing logic is implemented for indexing records lying in custom NSs.
Testing scenarios
---
- all necessary unit tests
- when a indexing a record in a custom NS, it should be indexed with "Collaboration" property set in the indexed document
Technical notes
---
-Vladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/87F1 (Java) Story 26 [Indexer]: Implement a listener for "Record Changed V2"2024-03-19T14:34:03ZRostislav Dublin (EPAM)F1 (Java) Story 26 [Indexer]: Implement a listener for "Record Changed V2"Description
---
When Storage service changes a record in a custom namespace, it is sending a message into a new "Record Changed V2" topic instead of the legacy "record Changed V1" topic. The listener for this new topic needs to be imple...Description
---
When Storage service changes a record in a custom namespace, it is sending a message into a new "Record Changed V2" topic instead of the legacy "record Changed V1" topic. The listener for this new topic needs to be implemented in the Indexer service.
See [ADR - Project & Workflow Services - Core Services Integration - Search Service Support](https://community.opengroup.org/osdu/platform/system/home/-/issues/108)
Acceptance criteria
---
- a listener is implemented in the Indexer service which listens for "Record Changed V2" topic messages.
Testing scenarios
---
- all necessary unit tests
- when a record is changed in the custom NS, there is a listener captured it from the "Record Changed V2" topic
Technical notes
---
-Pavel BarzouPavel Barzouhttps://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/86F1 (Java) Story 25: Implement project publish service methods2024-03-21T11:25:09ZRostislav Dublin (EPAM)F1 (Java) Story 25: Implement project publish service methodsDescription
---
When /projects/{id}/publish API is used to publish a project,
the accordant service methods should handle the operation. They should consume Storage servicew record copy API and copy all record references from the CP's c...Description
---
When /projects/{id}/publish API is used to publish a project,
the accordant service methods should handle the operation. They should consume Storage servicew record copy API and copy all record references from the CP's custom namespace to the SOR.
See [ADR - Project & Workflow Services - ADR Summary](https://community.opengroup.org/osdu/platform/system/home/-/issues/104)
Acceptance criteria
---
- the implemented service methods successfully "publish" all the CP's WIP resources (CP's NS records) to the SOR NS.
Testing scenarios
---
- all needed unit tests
- call publish on CP, make sure all it's WIP resources are successfully copied to the SOR
Technical notes
---
-Vladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/85F1 (Java) Story 24: Implement project publish API2024-03-21T11:23:15ZRostislav Dublin (EPAM)F1 (Java) Story 24: Implement project publish APIDescription
---
/projects/{id}/publish API implementation
See [ADR - Project & Workflow Services - ADR Summary](https://community.opengroup.org/osdu/platform/system/home/-/issues/104)
Acceptance criteria
---
- project publish API are...Description
---
/projects/{id}/publish API implementation
See [ADR - Project & Workflow Services - ADR Summary](https://community.opengroup.org/osdu/platform/system/home/-/issues/104)
Acceptance criteria
---
- project publish API are existing and documented in Swagger
Testing scenarios
---
- unit tests
- use publish API in context of a CP
Technical notes
---
-Vladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/84F1 (Java) Story 23 [Storage]: write to records-changed-2 topic implementation...2024-03-19T14:34:03ZRostislav Dublin (EPAM)F1 (Java) Story 23 [Storage]: write to records-changed-2 topic implementation for AWSDescription
---
When a record is changed in the custom namespace, a message should be sent to the "Record Changed V2" topic on message broker instead of the usual "Record Changed V1" topic. The requirement is mentioned in the following ...Description
---
When a record is changed in the custom namespace, a message should be sent to the "Record Changed V2" topic on message broker instead of the usual "Record Changed V1" topic. The requirement is mentioned in the following ADRs:
- [ADR: Namespacing storage records](https://community.opengroup.org/osdu/platform/system/storage/-/issues/149)
- [ADR - Project & Workflow Services - Core Services Integration - Search Service Support](https://community.opengroup.org/osdu/platform/system/home/-/issues/108)
It has already been implemented for Azure CSP, [see MR !553](https://community.opengroup.org/osdu/platform/system/storage/-/merge_requests/553)
Acceptance criteria
---
- Changing a record in a custom namespace in AWS environment causes sending a message to "Record Changed V2" topic
Testing scenarios
---
- change a record in SOR -> a message goes to the "Record Changed V1" topic
- change a record in a custom NS -> a message goes to the "Record Changed V2" topic
Technical notes
---
[*Any technical details, guides, documentation, wikis, and many more that could be useful to complete this story.*]Vladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/83F1 (Java) Story 22 [Storage]: Implement copying record references between nam...2024-03-28T15:06:42ZRostislav Dublin (EPAM)F1 (Java) Story 22 [Storage]: Implement copying record references between namespacesDescription
---
Implement copying records between namespaces in OSDU Storage service.
See [ADR - Project & Workflow Services - Core Services Integration - Copy Record references between namespaces](https://community.opengroup.org/osdu/p...Description
---
Implement copying records between namespaces in OSDU Storage service.
See [ADR - Project & Workflow Services - Core Services Integration - Copy Record references between namespaces](https://community.opengroup.org/osdu/platform/system/home/-/issues/109) for details
Acceptance criteria
---
Storage service has API and service implemented for copying record references between namespaces
Out of scope
---
- How conflicts will be handled when the destination namespace has a newer version that already exists.
- How collaborations will act on this or control this behavior or even what a collaboration entity looks like
Testing scenarios
---
- copy record reference from one SOR to custom NS
- copy record reference from one custom NS1 to NS2
- copy record reference from one custom NS to SOR
- hard delete API update is out of scope.
Technical notes
---
1. Add new Collaboration API here https://community.opengroup.org/osdu/platform/system/storage/-/tree/master/storage-core/src/main/java/org/opengroup/osdu/storage/api
1. Should be supplemented with swagger docs.
2. Add new Collaboration service here https://community.opengroup.org/osdu/platform/system/storage/-/tree/master/storage-core/src/main/java/org/opengroup/osdu/storage/service
1. Copy from SOR to WIP,
- Validate that the source records are present by calling [`getMultipleRecords`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java#L82)
- Validate that the target records are absent by calling the same method but with the provided Collaboration Context, which should be taken from the request body.
- Push record copies to the [`createUpdateRecords`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/storage-core/src/main/java/org/opengroup/osdu/storage/service/IngestionService.java#L12) with collab context provided, which should be taken from the request body.
2. Copy from WIP to WIP.
- Validate that the source records are present by calling [`getMultipleRecords`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java#L82) with the provided Collaboration Context, should be taken from header.
- Validate that the target records are absent by calling the same method but with the provided Collaboration Context, which should be taken from the request body.
- Push record copies to the [`createUpdateRecords`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/storage-core/src/main/java/org/opengroup/osdu/storage/service/IngestionService.java#L12) with collab context provided, which should be taken from the request body.
3. Copy from WIP to SOR
- Validate that the source records are present by calling [`getMultipleRecords`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/storage-core/src/main/java/org/opengroup/osdu/storage/service/BatchServiceImpl.java#L82) with the provided Collaboration Context, should be taken from header.
- Should we validate that the initial versions of SOR records are present?
- Push record copies to the [`createUpdateRecords`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/storage-core/src/main/java/org/opengroup/osdu/storage/service/IngestionService.java#L12) without collab context provided, adjust record ID if necessary.
3.~~In order to comply with the requirement from ADR, We need to update the hard deletion method in [`RecordServiceImpl`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/storage-core/src/main/java/org/opengroup/osdu/storage/service/RecordServiceImpl.java?ref_type=heads#L84), but that might require adding a dependency on the PWS service since we do not have any other means to verify that the record exists in WIP.~~:
> The hard delete API in storage service needs to add extra validation that the data blob being deleted from storage is not referenced in a different context.
4. Messaging for collaboration context is [not implemented in the AWS module](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/provider/storage-aws/src/main/java/org/opengroup/osdu/storage/provider/aws/MessageBusImpl.java?ref_type=heads#L77). We may use Azure [`MessageBusImpl`](https://community.opengroup.org/osdu/platform/system/storage/-/blob/master/provider/storage-azure/src/main/java/org/opengroup/osdu/storage/provider/azure/MessageBusImpl.java?ref_type=heads#L57) and [`ServiceBusPublisher`](https://community.opengroup.org/osdu/platform/system/lib/cloud/azure/os-core-lib-azure/-/blob/master/src/main/java/org/opengroup/osdu/azure/publisherFacade/ServiceBusPublisher.java?ref_type=heads#L73) as a samples. From a high-level perspective, it appears that Azure does not utilize separate topics; instead, it enhances event messages with collaboration context if it is available.
5. Add new test cases to the IT core module https://community.opengroup.org/osdu/platform/system/storage/-/tree/master/testing/storage-test-core/src/main/java/org/opengroup/osdu/storage/records
1. `I should be able to copy existing in the SOR record to the custom WIP Context`
2. `I should be able to copy existing in the WIP Context record to the SOR`
3. `I should be able to copy existing in the WIP Context record to another WIP Context`
4. `I shouldn't be able to copy existing in the SOR record to the custom WIP Context if it exists in WIP`
5. `I shouldn't be able to copy not existing records`Dmitrii Novikov (EPAM)Dmitrii Novikov (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/82Draft F2F Edinburgh Presentation Work2024-03-25T15:02:22ZRikesh ChauhanDraft F2F Edinburgh Presentation WorkDescription
---
Draft for the F2F Edinburgh presentation.
Acceptance criteria
---
Make sure draft is complete of the presentation then get inputs from others involved. Deadline for draft presentation to be uploaded to Gitlab is Monday...Description
---
Draft for the F2F Edinburgh presentation.
Acceptance criteria
---
Make sure draft is complete of the presentation then get inputs from others involved. Deadline for draft presentation to be uploaded to Gitlab is Monday, 25th March. Final presentation deadline is Monday, 8th April.
Testing scenarios
---
N/A
Technical notes
---
N/AHugh PatrickRikesh ChauhanHugh Patrickhttps://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/81F1 (Java) Story 20: Cover Resources API with integration tests2024-03-14T18:08:28ZDmitrii Novikov (EPAM)F1 (Java) Story 20: Cover Resources API with integration testsDescription
---
Cover story with integration tests:
F1 (Java) Story 14 Implement /projects/{id}/resources API endpoint #66
Acceptance criteria
---
All tests passed
Testing scenarios
---
Tests cover API layer
- /project/{id}/resources...Description
---
Cover story with integration tests:
F1 (Java) Story 14 Implement /projects/{id}/resources API endpoint #66
Acceptance criteria
---
All tests passed
Testing scenarios
---
Tests cover API layer
- /project/{id}/resources
Technical notes
---
Follow best practicesVladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/80F1 (Java) Story 21: Cover Info&Swagger API with integration tests2024-03-19T07:01:49ZDmitrii Novikov (EPAM)F1 (Java) Story 21: Cover Info&Swagger API with integration testsDescription
---
Cover story with integration tests:
F1 (Java) Story 1: Set up Project and Workflow Service Framework #41
Acceptance criteria
---
All tests passed
Testing scenarios
---
Tests cover API layer
- Info entpoint
- Swagger
...Description
---
Cover story with integration tests:
F1 (Java) Story 1: Set up Project and Workflow Service Framework #41
Acceptance criteria
---
All tests passed
Testing scenarios
---
Tests cover API layer
- Info entpoint
- Swagger
- Health check
Technical notes
---
Follow best practicesVladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/79F1 (Java) Story 19: Cover Project API with integration tests2024-03-27T11:43:41ZDmitrii Novikov (EPAM)F1 (Java) Story 19: Cover Project API with integration testsDescription
---
Cover story with integration tests:
F1 (Java) Story 6: Implement /v1/projects CRUD API for collaboration projects #46
Acceptance criteria
---
All tests passed
Testing scenarios
---
Tests cover API layer
- /project
Te...Description
---
Cover story with integration tests:
F1 (Java) Story 6: Implement /v1/projects CRUD API for collaboration projects #46
Acceptance criteria
---
All tests passed
Testing scenarios
---
Tests cover API layer
- /project
Technical notes
---
Follow best practicesPavel BarzouPavel Barzouhttps://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/78F1 (Spike) Story 18.4 - Investigate Notification Service for Subscription Cap...2024-03-07T02:45:58ZRostislav Dublin (EPAM)F1 (Spike) Story 18.4 - Investigate Notification Service for Subscription Capabilities**Description**
Evaluate if the Notification Service can allow its subscribers to select updates
from only SOR or custom namespaces' records. The AWS-based functionality of this
service should be a primary focus of this investigation....**Description**
Evaluate if the Notification Service can allow its subscribers to select updates
from only SOR or custom namespaces' records. The AWS-based functionality of this
service should be a primary focus of this investigation. Additionally, review the
implementations offered by other CSPs for possibly better solutions/features.
**Acceptance Criteria**
- A detailed report on Notification service capabilities, with insight into its
AWS-based implementation.
- Compilation and comparison of the functionality in the implementations by other CSPs.
- Identification of the technical debt and areas needing improvement to manage
subscriptions based on namespace categories.
- Suggestions for necessary upgrades (presented as a list of their summaries').
**Testing Scenarios**
_
**Technical Notes**
_Dmitrii Novikov (EPAM)Dmitrii Novikov (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/77F1 (Spike) Story 18.3 - Investigate Search Service for "x-collaboration heade...2024-03-07T14:45:42ZRostislav Dublin (EPAM)F1 (Spike) Story 18.3 - Investigate Search Service for "x-collaboration header" Support**Description**
Assess if the Search service correctly differentiates requests for records
in SOR or custom namespaces based on "x-collaboration" headers. This investigation
should include a close examination of the AWS implementation o...**Description**
Assess if the Search service correctly differentiates requests for records
in SOR or custom namespaces based on "x-collaboration" headers. This investigation
should include a close examination of the AWS implementation of the service.
Also, take a look at other CSPs' implementations for any more mature or
optimized features.
**Acceptance Criteria**
- A detailed report on the search service's behavior and its ability to handle
"x-collaboration" headers, with a focus on AWS.
- Compilation and comparison of the functionality in the implementations by other CSPs.
- Identified technical debt and any required improvements.
- Proposals for upgrade tickets (in the form of a list of their summaries).
**Testing Scenarios**
_
**Technical Notes**
_Vladimir Korolevskii (EPAM)Vladimir Korolevskii (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/76F1 (Spike) Story 18.2 - Investigate Indexer Service for Custom Namespaces2024-03-07T02:41:56ZRostislav Dublin (EPAM)F1 (Spike) Story 18.2 - Investigate Indexer Service for Custom Namespaces**Description**
Investigate the Indexer service’s capability to distinguish between SOR and
custom namespaces, and properly index them. Check whether the Indexer correctly
handles "record_changed" messages from the Pub/Sub topic. Pay sp...**Description**
Investigate the Indexer service’s capability to distinguish between SOR and
custom namespaces, and properly index them. Check whether the Indexer correctly
handles "record_changed" messages from the Pub/Sub topic. Pay special attention
to how the AWS implementation works. Also, review the implementations from other CSPs
for possibly more mature solutions.
**Acceptance Criteria**
- A detailed report on the Indexer service’s current capability to handle custom
namespaces, emphasizing the behavior in AWS.
- Compilation and comparison of the functionality in the implementations by other CSPs.
- Identified technical debt and required improvements.
- Suggested tickets for necessary upgrades (provided as a list of their summaries').
**Testing Scenarios**
_
**Technical Notes**
_Dmitrii Novikov (EPAM)Dmitrii Novikov (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/75F1 (Spike) Story 18.1 - Investigate Storage Service for "x-collaboration head...2024-03-07T14:45:22ZRostislav Dublin (EPAM)F1 (Spike) Story 18.1 - Investigate Storage Service for "x-collaboration header" Support**Description**
Investigate the Storage Service’s support for storing records in custom namespaces.
While the service needs to be compatible with multiple CSPs, this investigation
should particularly validate the AWS implementation. Als...**Description**
Investigate the Storage Service’s support for storing records in custom namespaces.
While the service needs to be compatible with multiple CSPs, this investigation
should particularly validate the AWS implementation. Also, look into other CSPs
to check if more mature solutions exist that can be borrowed. Examine how the
Storage Service API currently handles the "x-collaboration" request header.
**Acceptance Criteria**
- A comprehensive report on the Storage service's capabilities for
"x-collaboration header" support with specific focus on AWS.
- Compilation and comparison of the functionality in the implementations by other CSPs.
- Identified technical debt and required improvements for complete support.
- Proposals for relevant tickets necessary for the upgrades (displayed
as a list of their summaries).
**Testing Scenarios**
_
**Technical Notes**
_Pavel BarzouPavel Barzouhttps://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/74F1 (Spike) Story 18 Investigate core OSDU services that must be upgraded to s...2024-03-07T02:49:32ZRostislav Dublin (EPAM)F1 (Spike) Story 18 Investigate core OSDU services that must be upgraded to support WIP resources in x-collaboration namespacesDescription
---
This is an umbrella spike investigation. We need to understand what core OSDU services (at least Storage, Indexer, Search, and Notification) must be upgraded to allow us to implement what is included in the P&WS MVP1 req...Description
---
This is an umbrella spike investigation. We need to understand what core OSDU services (at least Storage, Indexer, Search, and Notification) must be upgraded to allow us to implement what is included in the P&WS MVP1 requirements for P&WS service.
As a short definition, what we require from those services
is the so-named "x-collaboration header" (or in other words "custom namespaces") support.
It is needed, in particular,
for the CPs' WIP resources inventory feature
(see the Story #72 for "/projects/{id}/wip-resources API endpoint" implementation).
Here is what support is needed from each of the OSDU services:
1. Storage. It must support storing records in custom namespaces. We know that some part of the work is already done - the Storage service API (at least its Swagger) is upgraded for understanding the "x-collaboration" request header. However, we doubt if the header information is already respected by the CSPs' service/persistence layers. We need to test at least for AWS CSP and figure out the technical debt.
2. Indexer. When the Storage svc ingests a record it sends a "record_changed" event into the accordant OSDU's Pub/Sub topic. Then the Indexer picks up the message and performs indexing of the record into an accordant ES index. We need to check if the Indexer is already capable of distinguishing SOR and custom namespaces and indexing them into different indexes.
3. Search. When we send a query to the Search service we want it to distinguish requests for records in SOR or custom namespaces. For that, it must understand and respect "x-collaboration" headers.
4. Notification. This service subscribes to OSDU Pub/Sub topics and works as a proxy for outer services and applications that are its subscribers. We need to check if it already allows its subscribers to subscribe to only SOR or custom namespaces' records updates.
Acceptance criteria
---
For each point of the investigation, a separate ticket should be created and assigned to Dev team members.
The current task should be closed only when:
- the results of all investigations are collected,
- the technical debt defined,
- and tickets for services' upgrades created.
Testing scenarios
---
Will be defined in the children tickets.
Technical notes
---
- for each investigation, clone repos and research the services documentation and source code:Rostislav Dublin (EPAM)Rostislav Dublin (EPAM)https://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/73F1 (Java) Story 17 Service and basic data access layer for getting WIP resou...2024-03-20T12:13:41ZRostislav Dublin (EPAM)F1 (Java) Story 17 Service and basic data access layer for getting WIP resourcesDescription
---
See #72 for understanding API that requires the service
Also see the ADR "#108 [Core Services Integration - Search Service Support](https://community.opengroup.org/osdu/platform/system/home/-/issues/108)"
Implement the...Description
---
See #72 for understanding API that requires the service
Also see the ADR "#108 [Core Services Integration - Search Service Support](https://community.opengroup.org/osdu/platform/system/home/-/issues/108)"
Implement the Service
- It takes the CP ID as a parameter
- It gets the CP record and finds its `data.Namespace`
- It requests OSDU Search service API and queries the CP namespace for all indexed record IDs in all available kinds (one-by-one)
- It composes a solid list of all find record IDs
- It returns the list to the caller
Acceptance criteria
---
- The service created and capable to consume the OSADU Search service for getting ALL kinds data from a given namespace
Testing scenarios
---
- all necessary unit tests
- integration tests with existing and absent CP ID
Technical notes
---
The current version of the OSDU Search service is not capable of running queries in a custom namespace context.
So, the service can be fed with the mock data. And put TODO for improving it in the future.
Again, see the ADR "#108 [Core Services Integration - Search Service Support](https://community.opengroup.org/osdu/platform/system/home/-/issues/108)"Pavel BarzouPavel Barzouhttps://community.opengroup.org/osdu/platform/system/project-and-workflow/-/issues/72F1 (Java) Story 16 Implement /projects/{id}/wip-resources API endpoint2024-03-21T14:03:14ZRostislav Dublin (EPAM)F1 (Java) Story 16 Implement /projects/{id}/wip-resources API endpointDescription
---
WIP resources are work-in-progress resources that the CP creates and modifies during the CP lifecycle.
They are contained in the CP dedicated namespace, so they are not visible in the OSDU SOR namespace until published a...Description
---
WIP resources are work-in-progress resources that the CP creates and modifies during the CP lifecycle.
They are contained in the CP dedicated namespace, so they are not visible in the OSDU SOR namespace until published at the end of the CP. OSDU users create WIP resources in OSDU using direct requests to the OSDU Storage and DDMSs API. The only way to get a list of the WIP resources for the CP is to query the OSDU Search service API.
So, there is only need for a single API method:
```
GET /projects/{id}/wip-resources
```
That returns a JSON array of WIP resource record IDs
Acceptance criteria
---
- API-method is implemented
- It is documented and visible in OpenAPI
- It returns a real (or mocked) list of WIP resources for a given CP ID
Testing scenarios
---
* unit tests for all added Controller methods
* integration tests for ALL added methods (with a mocked or real backend)
Technical notes
---
-Pavel BarzouPavel Barzou