[Discussion] Should we include the entire GitLab Workflow extension in the Web IDE or abstract functionality?
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Goal
Understand the approach we will take to bring functionality in the GitLab Workflow extension to the Web IDE
Problems
As described in &8191 (closed), there is work to be done to the GitLab Workflow extension to make it compatible with the web context. Even after this work is completed, there are some UX discussions to be had on whether all the features make sense in the context of the Web IDE. Does all of the functionality in the extension apply to both contexts? Are we making more work for ourselves by maintaining a single extension and using it in both contexts?
Approaches
We may have two approaches we can consider:
Pre-install the GitLab Workflow Extension in the Web IDE is the previously assumed path forward. Here we would have to make the extension compatible to be installed in the web context and modify it to work in the context of the Web IDE. That may mean that some functionality remains unused (like authentication) and potentially new functionality needs to be written specifically for the Web IDE. Even though we'd end up with more complex logic in the extension, we'd have a single package to maintain and deploy.
Abstract functionality in the extension into separate npm modules that can be included in the Web IDE build is a concept we should consider. If we could take the core functionality of the extension and break it up into separate modules, would we be able to include a subset of the functionality of the extension with less overall complexity to the extension's structure? For example, could we include the pipeline status and MR review modules in the Web IDE but leave out the authentication module?
Pros and cons
Pros | Cons | |
---|---|---|
Pre-install the extension |
|
|
Abstract into modules |
|
|