As a user, I can load in my own artifacts that I can use plugins specific to my pipeline job.
1. User clicks 'Import' button on Menu.
2. Modal Import window opens.
3a. User may drag/drop a JAR file to designated area.
3b. File icon and name appears in drag/drop area.
4a. User may browse for a JAR file.
4b. Browse window opens.
4c. File icon and name appears in drag/drop area.
5a. User drag/drop a JSON file to designated area.
5b. File icon and name appears in drag/drop area.
6a. User may browse for a JSON file.
6b. Browse window opens.
6c. File icon and name appears in drag/drop area.
7. User clicks "Add" button.
8. User may "Cancel" interaction and return to previous screen.
9a. Plugins appear in respective menus labeled as 'New'
9b. 'New' label disappears when ... ?
Note: additional functionality for 3.5
1. Need to add 'New' label to added plugins.
2. When does it disappear? After used? After user navigates away from menu? After session?
This feature is added partially in this PR: https://github.com/caskdata/cdap/pull/5492
Things that have been added,
Ability to upload a JAR & a JSON for an artifact,
Ability to validate both JAR and JSON files (just the file for jar, as in just checking for extensions & validating JSON for 'properties' & 'parents' fields)
Right now backend doesn't provide the information of adding new plugins (artifacts) so once the user adds a plugin through UI we just refresh the view to show the list of plugins in the left panel in UI. So post add plugin functionality is not yet there but we can add once the backend provides that information.