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

Create and Update Concepts and Mappings #1376

Open
paulsonder opened this issue Oct 11, 2022 · 10 comments
Open

Create and Update Concepts and Mappings #1376

paulsonder opened this issue Oct 11, 2022 · 10 comments

Comments

@paulsonder
Copy link
Member

paulsonder commented Oct 11, 2022

Background and context

This issue describes how an OCL user creates, update (and delete) an OCL resource (a Concept or Mapping).

OOUX

Objects: Concept and Mapping
Type: Object interaction (creating an object or updating it via its form).

User Stories

As a: terminology implementor or publisher
I want: create or update Concepts and Mappings using a simple UI
So that: I'm able to maintain my Resources via the TermBrowser, reducing the need for external tools or files.

As a: terminology implementor or publisher
I want: create or update Concepts and Mappings in context of a Search Result or Repository
So that: I'm able to view content in list or card view in the same UX

As a: terminology implementor or publisher
I want: utilise searchlight when picking from or searching a list of resources to complete the form
So that: I have a consistent and larger workspace to locate the correct resource(s) with the necessary context (supporting information).

Design: UX / UI documentation

https://zpl.io/zwkrdpM

Handover notes

  • Creating or Updating a Resource (Concept or Mapping) takes place in the 'Side Sheet' component
  • Buttons in the Side Sheet are sticky.
  • If a User saves the form, any validation should be triggered inline using the standard error messaging UI for M3 components
  • When a User opens a dropdown, we should utilise the Searchlight component
@paulsonder paulsonder self-assigned this Oct 11, 2022
@paynejd
Copy link
Member

paynejd commented Oct 24, 2022

Starting a list of requirements/features that we might squeeze into the concept/mapping form redesign:

Concepts

  • Concept name locale should take advantage of the source default/supported language fields
  • First concept name should default to "Fully specified" and "preferred"
  • Parent concept URLs -- replace this with a new component for selecting a parent concept within the same source

Concept Details Action Menu:

  • Offer a way to assign a concept as the root hierarchy URL of a source, like possibly an action menu option to “Set as root of source hierarchy”

@jamlung-ri
Copy link
Member

Note: Let's start in the context of Sources for the time being. We will want to keep the Collection context in mind but we will not design for it quite yet.

@paulsonder
Copy link
Member Author

paulsonder commented Dec 1, 2022

Design sprint activities described below:

Screenshot 2022-12-01 at 12 41 16

@paulsonder paulsonder changed the title Redesign Concepts and Mappings forms Concepts and Mappings forms Mar 12, 2024
@paulsonder paulsonder added the V3 label Mar 19, 2024
@paulsonder paulsonder changed the title Concepts and Mappings forms Create and Update Concepts and Mappings Mar 19, 2024
@paulsonder
Copy link
Member Author

@jamlung-ri Are there any additional product requirements you want to add before Sunny can get started on this?

@paynejd
Copy link
Member

paynejd commented Mar 19, 2024

Ideas for consideration, but this is just a start -- these concept/mapping edit forms are the first place that we are actually advancing Smart Dictionaries for TBv3, so let's discuss.

Concepts

  • - Squeeze each concept name/synonym (Locale, Type, Name, External ID, Preferred) into a single line or use a table-based editing component?

  • - Some concepts have 100+ names

  • - We may want to consider upgrading our MUI to support a data grid (https://mui.com/x/react-data-grid/

  • - Concept ID, External ID, and name/description external ID fields should be "aware" of the repo's ID settings

  • - The tool should help users define concepts according to best practices, eg:

  • - Pre-populate language selections based on repo defaults

  • - One (and only one) fully specified name (FSN) per name required

  • - ...many more things to add here to help users create "Smart Dictionaries"

  • - Concept Templates -- this is not a major feature, and it would be awesome to launch TBv3 with this from the beginning -- e.g. user selects a concept template at the top of the form, and of course "Blank" is one of the options

Mappings

  • - Add Mapping ID and External ID fields -- these are optional and can be editable based on a repo's ID settings -- these fields must be "aware" of the repos ID settings
  • - Remove "Concept Class" field
  • - From Concept and To Concept do not always point to repos or concepts that OCL knows about, meaning these need to be pretty sophisticated fields to allow for all of the possibilities

Both

  • - Owner and source are not really part of a concept's attributes — these should be listed at the top, but not editable -- the owning source is set based on the context of where the user clicked on create, meaning that the entry point for creating a concept should ALWAYS be inside a repo, not in the global search

@jamlung-ri jamlung-ri added the discussion-needed Flagged for discussion on OCL Community call label Mar 19, 2024
@paulsonder
Copy link
Member Author

paulsonder commented Apr 23, 2024

The following images show the Concept Detail View in Read, Edit and Create mode.

Read

Detail view

Read w/ menu open

Menu

Edit mode

Edit

Create mode

New

@jamlung-ri
Copy link
Member

jamlung-ri commented Apr 23, 2024

Nice! I like this direction so far, and one potential addition that would help me is what it looks like specifically when the user is editing that long name in Edit Mode. For example, when the user is in Edit Mode and they click on the text of that long name, does that text become a text form box? Or does the user have to click the three dot menu on the right to edit that name specifically? A quick visual of what it looks like when I'm changing that specific name would help a lot.

@jamlung-ri jamlung-ri removed the discussion-needed Flagged for discussion on OCL Community call label Apr 25, 2024
@snyaggarwal
Copy link
Contributor

snyaggarwal commented Apr 26, 2024

@paulsonder Few more things to consider in designs:

  • Edit Concept — Cannot edit ConceptID — Need to remove that field from design and/or reflect its disabled or you are editing Concept XXXX
  • Auto ID assignment — ID will be auto assigned based on repo settings — can override it.
  • Probably add URL of Concept where the concept will live.

@paulsonder
Copy link
Member Author

paulsonder commented Apr 26, 2024

Updated designs here: https://zpl.io/vn1GWY7

I will add the URL shortly

@jamlung-ri
Copy link
Member

Dependent on #1830 to fully complete this user story

snyaggarwal added a commit to OpenConceptLab/oclweb3 that referenced this issue May 20, 2024
snyaggarwal added a commit to OpenConceptLab/oclweb3 that referenced this issue May 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants