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

Implement a UI component to trigger asynchronous operations on a resource #1559

Open
giohappy opened this issue Sep 12, 2023 · 2 comments
Open
Assignees

Comments

@giohappy
Copy link

giohappy commented Sep 12, 2023

Introduction

We want to replace the following legacy forms:

  • "upload style"
  • "upload metadata"

end restore the "replace" operation for datasets and documents, which wasn't ported from GN 3.

All these operations should provide a similar UI to configure, execute, and monitor the execution of an operation.

State and behavior

The component will be able to receive a configuration object when instantiated, which might contain:

  • the type of operation (d, name, sync/async)
  • the API endpoints
  • etc.

In the case of an asynchronous operation:

  • The executions requests endpoint will be queried to obtain the status of the operation, as we have for uploads.
  • Users can close and reopen the modal window without losing the state of the operation.
  • The operation can be canceled

UI

The component will show in a modal window with a minimal design. In general, it encompasses 4 states:

  1. File selection
  2. Ready to execute
  3. In progress
  4. Completed

State 1
execute_1

State 2
execute_2

State 3
execute_3

State 4
execute_4

Implementation notes

The component can be used inside any page of the GeoNode client. For the moment it will be adopted inside detail pages, but in the future, we could adopt it also for operations on the catalog.

@allyoucanmap please add any additional note and comment.

@giohappy giohappy added this to the 4.2.0 milestone Sep 12, 2023
@giohappy giohappy changed the title Implement UI componente for trigger asynchronous operations on a resource Implement a UI component to trigger asynchronous operations on a resource Sep 12, 2023
@dsuren1
Copy link

dsuren1 commented Oct 2, 2023

Users can close and reopen the modal window without losing the state of the operation.

Upon closing the modal, the execution state is to be captured in a separate modal (like export data) allowing user to perform a new upload action.

image

Any manner of error during the upload process is expected to be handled by the backend. The error is shown as an info icon with a tooltip next to file as shown in the screenshot above. And a loading spinner icon when the execution is in progress.

@giohappy Kindly correct me if I'm missing something from our last discussion on this issue

@giohappy giohappy removed this from the 4.2.0 milestone Oct 13, 2023
@giohappy
Copy link
Author

giohappy commented Feb 9, 2024

Resurrecting this old analysis.

@giohappy Kindly correct me if I'm missing something from our last discussion on this issue

I think you're correct.

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

2 participants