Skip to content

[Tagging] Set taxonomy metadata during import #116

Open

Description

@bradenmacdonald

Follows #115

"As a global staff user (instance-level super user), when importing a taxonomy, I can set metadata at the time of import"

Acceptance criteria

  1. Extending the import flow developed in [Tagging] Import a Taxonomy ("Bare Bones") #115 , when users select a .json or .csv file to import, they will next see this ModalDialog:
    Screenshot 2023-09-20 at 5 26 27 PM
  2. The default name should be automatically suggested based on the filename (without extension).
  3. When users click Next:
    Screenshot 2023-09-20 at 5 28 57 PM
  4. And then Next again, they'll see the "Assign to organizations" tab.
    • See Figma for details and requirements.
    • If the user chooses to skip this step and assign organizations at a later stage, the taxonomy will be listed on the “No organization” list page.
    • Screenshot 2023-10-12 at 09 38 22
  5. If the user presses Cancel at any point, they'll see this warning:
    Screenshot 2023-09-20 at 5 30 55 PM
  6. If the import succeeds, a toast should inform the user:
    Screenshot 2023-09-20 at 5 34 18 PM
  7. If import errors occur, a nicer and more clear error message will be shown to the user (compared to [Tagging] Import a Taxonomy ("Bare Bones") #115's basic error alert). (See all examples in Figma.)
    Screenshot 2023-09-20 at 5 35 52 PM

Developer notes

  • The dialog Cancel/Next buttons should just look however they look when the standard Paragon components are used, so that these components are consistent with the rest of the platform/theme. You do not need to use CSS to override the styling to exactly match the mockups.
  • Screenshots above are for convenience - Figma is the most up-to-date source for mockups. The scale of UI elements seen in the screenshots above may be incorrect.
  • The "Assign to organizations" dialog should be re-usable as we'll need it for story [Tagging] Assign taxonomy to organizations #117 too.

Activity

  1. ChrisChV commented on Sep 26, 2023

    @ChrisChV

    And then Next again, they'll see the "Assign to organizations" tab

    @bradenmacdonald It's missing a REST API for Assign taxonomies to organizations. I think this can be separated together with this missing APIs.

  2. bradenmacdonald commented on Oct 4, 2023

    @bradenmacdonald
    ContributorAuthor

    OK, I created #141 for that, but maybe we can combine it with #136 as you said.

  3. ali-hugo commented on Oct 12, 2023

    @ali-hugo

    @bradenmacdonald Just sharing an updated screenshot for point number 4...

    Screenshot 2023-10-12 at 09 38 22
  4. thelmick-unicon commented on Feb 25, 2026

    @thelmick-unicon

    Gherkin style Acceptance Criteria

    Feature: Set taxonomy metadata during import

    As an instance-level admin
    The user wants to set taxonomy metadata during the import flow
    So that the taxonomy is created with the correct name, description, and organization access settings

    Clicking the Import button opens the file selector

    Given the user is on the Taxonomies page
    When the user selects the "Import" control
    Then the system opens the file selection dialog
    And the user can select a .csv or .json file

    After selecting a CSV or JSON file, the user is prompted to name the taxonomy

    Given the user is initiating a taxonomy import
    When the user selects a .csv or .json file to import
    And the user selects the open control
    Then a "Name the taxonomy" modal is displayed
    And the selected filename is shown in the modal
    And the modal includes a "Taxonomy name" field
    And the modal includes Next and Cancel controls

    Default taxonomy name is suggested from the filename without the extension

    Given the user has selected a file named "Lightcast Skills.csv" or "Lightcast Skills.json"
    When the "Name the taxonomy" modal is displayed
    Then the "Taxonomy name" field is pre-populated with "Lightcast Skills"

    Selecting Next on the name step shows the Add a description step

    Given the user is on the "Name the taxonomy" modal
    And a valid name has been entered into the text field
    When the user selects the Next control
    Then an "Add a description" modal is displayed
    And the modal includes a taxonomy description input
    And the modal includes Next and Cancel controls

    Entered description is saved with the taxonomy after import

    Given the user is importing a taxonomy
    And the user enters a description in the "Add a description" step
    And the user completes the import process
    When the taxonomy appears on the Taxonomies page
    Then the taxonomy displays the entered description
    And the description matches exactly what the user entered

    Description is optional and can be skipped

    Given the user is on the "Add a description" modal
    When the user leaves the description blank
    And the user selects the Next control
    Then the import flow continues to the next step
    And the taxonomy is created with no description

    Selecting Next on the description step shows Assign to organizations

    Given the user is on the "Add a description" modal
    When the user selects the Next control
    Then an "Assign to organizations" modal is displayed
    And the modal provides a way to assign the taxonomy to one or more organizations
    And the modal includes an option to "Assign to all organizations"
    And the modal includes an Import control and a Cancel control

    Selecting Assign to all organizations hides the organization dropdown

    Given the "Assign to organizations" modal is displayed
    When the user selects "Assign to all organizations"
    Then the organization selection dropdown is hidden
    And the taxonomy will be assigned to all organizations upon import

    User can skip assigning organizations and complete import

    Given the "Assign to organizations" modal is displayed
    When the user selects import without selecting any organization
    Then the taxonomy is imported successfully
    And the taxonomy appears in the "No organization" list page

    Cancel at any point prompts the user to confirm stopping the import

    Given the user is in any step of the import flow
    When the user selects Cancel
    Then a confirmation dialog is displayed warning that entered details will not be saved
    And the dialog includes Stop Import and Resume Import controls

    Clicking Cancel on the Stop Import confirmation returns the user to the flow

    Given the user is in the import flow
    And the user has selected Cancel
    And the "Are you sure you want to stop importing?" confirmation dialog is displayed
    When the user selects "Cancel" in the confirmation dialog
    Then the confirmation dialog closes
    And the user remains in the current step of the import flow
    And previously entered information is preserved

    Confirming Stop import exits without importing

    Given the stop importing confirmation dialog is displayed
    When the user selects the Stop import control
    Then the import flow ends
    And the taxonomy is not imported
    And the user is taken back to the taxonomy details page

    Successful import shows a toast notification

    Given the user completes the import flow
    When the taxonomy import succeeds
    Then a toast notification is displayed indicating the taxonomy was imported

    Import errors display a clear upload error message with template download option

    Given the user attempts to import a taxonomy file
    When the import fails due to an invalid or unsupported file
    Then an "Upload error" message is displayed
    And the message explains why the file could not be imported
    And the message includes a "Download template" action
    And the message can be dismissed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    pending UX changesThis issue (not a PR) needs UX input or its UX design is not yet finalized.willowReleased in Willow

    Type

    No type

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions