Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #
Occurred changes and/or fixed issues
This is a WIP PR to illustrate a different API for extensions to create products and configure types.
Note, the focus is on products. I have only added the table header support for types, but you get the idea.
The goal is to remove the DSL stuff and the function to add products and replace with an easier to use API.
The goal is also to prevent mistakes and make it easier to be succesful - in doing this, I found the existing API awkward and I had to try several times just to get the basic use cases working.
I have not added any examples in the code, but here are some for products:
Basically I want to get rid of the products in products and have 2 APIs:
addProductandextendProductFor type configuration, we'd also add a new API:
I have not implemented this, just the headers, but it is simpler than the products.
With this, we would not need virtual types.
I would aim to fold spoofed types into the new single
configureResourceTypemethod.This PR is a bit rough around the edges, but hopefully illustrates the general idea.
There are a few changes to allow products to correctly set the product label without assuming any naming convention.
I also started to explore making sure these APIs would support everything we do via the existing product configurations that are currently in the
shall/config/productfolder.As an example, the apps product would look like this:
.. the routes are auto-generated based on this configuration.
Areas or cases that should be tested
Areas which could experience regressions
Screenshot/Video
Checklist
Admin,Standard UserandUser Base