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

Add schema import feature to Schema Config editor #6155

Open
grantfitzsimmons opened this issue Jan 24, 2025 · 0 comments
Open

Add schema import feature to Schema Config editor #6155

grantfitzsimmons opened this issue Jan 24, 2025 · 0 comments
Labels
1 - Request A request made by a member of the community 2 - Schema Config Issues that are related to the Schema Config tool SeparationFrom6

Comments

@grantfitzsimmons
Copy link
Member

grantfitzsimmons commented Jan 24, 2025

Overview

The ability to import a schema configuration is essential for Specify users and for our team when performing data conversions. Currently, users can export schema configurations easily to a JSON file, but the lack of an import feature limits the usability and efficiency of managing schema configurations across different disciplines/databases.

Problem Statement

While exporting schemas is straightforward, the absence of an import function complicates the process of replicating schema configurations. Users often need to transfer schemas between databases, making it crucial to have a seamless import process. This feature would enhance user experience and streamline data management tasks.

You can click on the Export button here for each language you have localized the schema into to get a JSON file that contains all of the information:

Image

Example: schema_localization_en.json

Requirements

Functional Requirements

  1. Import Schema Functionality:

    • Users should be able to import a schema configuration from a JSON file that was previously exported using the Schema Exporter.
  2. User Interface:

    • The import option should be accessible from the Schema Configuration menu under the System menu.
    • The user should select a language.
    • Both an "Export" and "Import" button should be visible.
    • Upon selecting Import, users should be presented with an option to:
  3. File Selection:

    • Users should be able to navigate their file system to select the JSON file they wish to import.
    • The system should validate the selected file to ensure it is a compatible schema file (not just a JSON file).
  4. Post-Import Notification:

    • Once the import is complete, a dialog should appear to confirm users that the schema has been updated.
    • Upon refreshing the page, the new schema should be visible to the user.

Non-Functional Requirements

  1. Error Handling:

    • If an error occurs during the import process (e.g., incompatible file format, corrupted file), the system should provide clear error messages and guidance on how to resolve the issue.
  2. User Documentation:

    • Comprehensive user documentation should be provided to assist users in understanding how to import schemas, including troubleshooting tips for common issues.
    • Document what is not carried over (e.g. pick lists, field formats, catalog number format, etc.)

Discussed in #5576

Originally posted by maxpatiiuk April 22, 2022
Like the one in Specify 6 (but using JSON instead of XML like sp6)

Requested by: Requested by CSIRO, University of Michigan, DFO and many other users. Requested often internally for data conversions.

@grantfitzsimmons grantfitzsimmons added 1 - Request A request made by a member of the community 2 - Schema Config Issues that are related to the Schema Config tool SeparationFrom6 labels Jan 24, 2025
@grantfitzsimmons grantfitzsimmons added this to the Grant's issue list milestone Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 - Request A request made by a member of the community 2 - Schema Config Issues that are related to the Schema Config tool SeparationFrom6
Projects
None yet
Development

No branches or pull requests

1 participant