ckan / ckanext-validation

CKAN extension for validating Data Packages using Table Schema.
MIT License
30 stars 33 forks source link

New File upload / link widget #80

Open amercader opened 2 years ago

amercader commented 2 years ago

High-level spec: https://github.com/frictionlessdata/ckanext-validation/issues/65#issuecomment-1335093859

Replace the current JS widget to upload / link to files (scheming's resource_url_upload preset) with a custom one that starts an upload in the background when a file is selected or linked.

Screenshot 2022-12-02 at 12-25-06 Add data to the dataset - CKAN

For linked files I guess it makes sense to start the same process as uploads to create a resource in the background.

There should be an indication for the user that the file is being uploaded, ideally with a progress bar showing the percentage uploaded (if that's easy to implement) Once the endpoint has performed all the tasks (process file, create resource, infer schema) feedback should be displayed to the user, either that the file was uploaded successfully (:heavy_check_mark: ) or that there were errors (:x:)

As a first implementation I think we can try to do just one request and wait for all tasks to finish, if we see it takes too long we can look at splitting the uploading and wait for the rest of tasks to finish (doing a separate request, web sockets...)

amercader commented 2 years ago

Might be worth exploring https://github.com/datopian/datapub although that app itself involves more complex requirements which I'd like to avoid.Maybe we can reuse some of the components though