Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-951 Create DefaultProfileProviderService #604

Merged
merged 1 commit into from
Jul 18, 2022
Merged

Conversation

pjmonks
Copy link
Contributor

@pjmonks pjmonks commented Jul 15, 2022

Interception service responsible for mapping catalogue item hardwired properties to a Profile object and back. This then allows the profile to be applied to other UI controls that require only a profile.

  • Map original Mauro profile operations so that a in-memory profile object can be managed
  • Create additional helper services to get/set any kind of Mauro item using only minimal identifier information. This circumvents the usual Mauro APIs which require you to know the domain you're working in upfront
  • Full test suite provided

Resolves #591

Note: the DefaultProfileProviderService isn't injected anywhere at the moment. Once approved, this is planned to be integrated into the bulk editor in issue #592

Interception service responsible for mapping catalogue item hardwired properties to a Profile object and back. This then allows the profile to be applied to other UI controls that require only a profile.

* Map original Mauro profile operations so that a in-memory profile object can be managed
* Create additional helper services to get/set any kind of Mauro item using only minimal identifier information. This circumvents the usual Mauro APIs which require you to know the domain you're working in upfront
* Full test suite provided
Copy link
Contributor

@aaronforshaw aaronforshaw left a comment

Choose a reason for hiding this comment

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

Do you want to include the ReferenceDataModel / Element / Type / Value ?

@pjmonks
Copy link
Contributor Author

pjmonks commented Jul 18, 2022

@aaronforshaw Not yet, I probably should have mentioned that in my original PR description. There are a couple of reasons why I wanted to hold off on those:

  1. Next iteration of spreadsheet-style bulk editor #576 says that the bulk editor should be improved to include all domain types for Data Models, Terminologies and Code Sets, but Reference Data Models are not included in that yet. As this change is driven by that epic, I wanted to only focus on the essentials first.
  2. Issue Unable to edit elements or data in reference data types #69 also discusses updates to the Reference Data Model UI for viewing/editing those domain types, so it kind of feels that Reference Data Models isn't fully supported in mdm-ui fully yet anyway.

Reference Data Models should be included in the future, but that can be a separate issue.

@aaronforshaw
Copy link
Contributor

OK 👍

@aaronforshaw aaronforshaw self-requested a review July 18, 2022 08:45
Copy link
Contributor

@aaronforshaw aaronforshaw left a comment

Choose a reason for hiding this comment

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

Looks good. From memory I think mdm-ui and mdm-explorer have data structures similar to the new MauroIdentifier (although probably they are Data Model specific). Maybe at some point these could be consolidated.

@pjmonks
Copy link
Contributor Author

pjmonks commented Jul 18, 2022

@aaronforshaw You're right, in fact there are a lot of components and structures that can be shared between UI projects. I had looked in the past at Angular component libraries to try and create shared reusable components, but hit some roadblocks. It is something that should be reviewed again in the future.

Thanks for the approval 👍

@pjmonks pjmonks merged commit 22d5aee into develop Jul 18, 2022
@pjmonks pjmonks deleted the feature/gh-591 branch July 18, 2022 08:54
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.

Implement a default profile provider interception service
2 participants