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

Update UI to indicate when a plugin attached to an entrypoint is out-of-date #677

Open
2 of 16 tasks
keithmanville opened this issue Nov 8, 2024 · 0 comments · May be fixed by #678
Open
2 of 16 tasks

Update UI to indicate when a plugin attached to an entrypoint is out-of-date #677

keithmanville opened this issue Nov 8, 2024 · 0 comments · May be fixed by #678
Assignees
Labels
feature New feature to add to project

Comments

@keithmanville
Copy link
Collaborator

keithmanville commented Nov 8, 2024

We want the UI to indicate when a plugin attached to an entrypoint is out-of-date and provide a mechanism to sync to the latest version of plugins.

To do this, we need to update relationships between Entrypoints, Plugins, and Plugin files enable Entrypoint to Plugin syncing behavior.

Tasks

  • Split the EntryPointPluginFiles table into two many-to-many linking tables: EntrypointPlugins and PluginPluginFiles
  • Create new database migration scripts
  • Update EntrypointService.create, EntrypointIdService.modify, EntrypointIdPluginsService.append, and EntrypointIdPluginFilesId.delete services to use the new EntryPointPlugin linking table
  • Update build_entrypoint to use the new EntrypointPlugin linking table to retrieve plugin information
  • Update the PluginIdService.modify service to create PluginPluginFiles entries for the new snapshot
  • Add a mapped_column to Plugin that retrieves linked PluginFile snapshots
  • Update the PluginIdService.get and all other get services in plugins.py to retrieve latest PluginFile snapshots from the PluginPluginFile linking table instead of via separate query
  • Update any services that create, modify, or delete a PluginFile to create a new Plugin Snapshot that is properly linked to PluginFiles via the new PluginPluginFiles table
  • Remove the plugin_files key from PluginWithPluginFIlesDict and rename it PluginDict
  • Update build_entrypoint_plugin and build_plugin to use new PluginDict class
  • Update all service layer use of PluginWithFilesDict to use PluginDict (primarily as return types of functions)
  • Update the UI to indicate when a plugin is out of date (this should check Plugin.latestSnapshot)
  • Update the UI to provide a button to sync plugins to the latest version (this should use POST to /entrypoints/{id}/plugins)

Definition of done

  • All tasks are implemented
  • All tests pass
  • Feature is merged to dev
@keithmanville keithmanville added the feature New feature to add to project label Nov 8, 2024
@keithmanville keithmanville changed the title Update relationships between Entrypoints, Plugins, and Plugin files Update UI to indicate when a plugin attached to an entrypoint is out-of-date Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature to add to project
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants