Create skeleton for Extensions Marketplace settings in admin section
MR:
- Add db migration for vscode_extension_marketplace (!181038 - merged)
- Migrate web_ide_extensions_marketplace ff to data (!181152 - merged)
- Stub vscode extension marketplace UI (!181624 - merged)
Description
This issue encompasses the BE work required to add extensions marketplace section in the admin setting and skeleton for the FE. This involves:
- Adding a new field
vscode_extensions_marketplacein the existingapplication_settingsmodel. - Creating a new Vue app that is mounted in
app/assets/javascripts/pages/admin/application_settings/index.jsand accepts a submit path and initial values.
These changes will be behind a new feature flag: vscode_extensions_marketplace_settings to allow iterative development of the Extensions Marketplace admin settings.
Acceptance Criteria
-
A wipfeature flagvscode_extensions_marketplace_settingsis added to the main project and disabled by default. Follow steps outlined in this doc. Feature flag rollout issue: #508996 (closed) -
We have a skeleton of the Extension Marketplace settings in the Admin Area under General. The newvscode_extensions_marketplacefield is passed to the UI.
Technical Requirements:
Backend:
-
Db migration added for vscode_extensions_marketplaceJSONB field underapplication_settingsmodel with a default value ofnil. See this thread for some notes on db approach. -
application_settings_controller.rbis set up to receivevscode_extensions_marketplaceparam invisible_application_setting_attributes(see Spike MR). - [ ]
-
Update admin_settinghelpers and controllers to allow passing thevscode_extensions_marketplacefield to the Vue app.
Frontend:
-
Create placeholder view for Extensions Marketplace settings app in app/views/admin/application_settings/general.html.hamlthat is protected by feature flagvscode_extensions_marketplace.
Investigation
Please see DRAFT: Spike of Extensions marketplace admin se... (!175055 - closed) for Spike implementation to guide the implementation of this issue.
Edited by Paul Slaughter