GuidoPreite / DRB

Dataverse REST Builder
MIT License
101 stars 14 forks source link

Add component to solution on Create requests #21

Closed fredrikhr closed 9 months ago

fredrikhr commented 12 months ago

As described by Microsoft in Compose HTTP request and handle errors | Other Headers it is possible to add a solution component to a solution when creating it, by using the MSCRM.SolutionUniqueName HTTP header on create.

It would be incredibly helpful to add additional UI elements for adding to a solution in the Configure page when the Request Type is selected to be Create.

image

I propose the UI element Add to solution with a Yes/No dropdown. When Yes is selected show input field for solution unique name. (Similar to the Impersonate UI elements). The behaviour for the input is to add the MSCRM.SolutionUniqueName HTTP header with the entered value to the request.

A future extension of this feature could be that the Solution unique name can be selected from the available solution entities in the connected environment, but initially a simple text box would already be very helpful.

I realize that you can currently achieve this behaviour by simply adding the header manually in the generated code when in the Editor tab of the request, but UI configuration elements would make solution component creation easier.

GuidoPreite commented 12 months ago

thanks @fredrikhr for opening the issue. From my perspective the addition of this header inside DRB is not useful as it is more focused on CRUD operations than dealing with the metadata.

As you wrote the header MSCRM.SolutionUniqueName is just for solution components (for example if you are creating a new view) and if you are using Web APIs for this purpose you probably built something to deal with the metadata operations.

It's more logic (in my opinion) to add the specific header to all the requests dealing with the metadata (as a wrapper, for example like the webapi.safeAjax for the Portals/Power Pages) instead of adding it everywhere as an option inside DRB.

The page you linked actually lists the header MSCRM.BypassCustomPluginExecution that I plan to add in a future release, because it makes sense (in my opinion) inside a CRUD scenario.

Ideally inside DRB there should be a generic toggle (something like Show MSCRM.SolutionUniqueName header in a Settings section) with default value as No and if you turn to Yes it will show the option for the header inside the Create message.

To be honest I don't have the time to work on this kind of request and I don't know when I will publish the next release. I am not saying the project is dead but if an important bug appears inside DRB I prefer to use my time to fix it than dealing with new requests.

I hope you understand my view on this topic and I really want to read a response from you, I know you took long time to open the issue and provide your feedback and I tried my best to write my response.