opengeospatial / ogcapi-processes

Home Page:https://ogcapi.ogc.org/processes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Parameter 'outputs' from request object is not propagated to the manager execute_process and then to processor execute

francescoingv opened this issue · comments

In API.execute_process(),
the (optional) parameter 'outputs', if present in the request, is not passed on to BaseManager.execute_process() (or derived).
Even more, the parameter 'outputs' is not collected: only the parameter 'inputs' is collected.

To properly process a request the processor (i.e. "BaseProcessor" or derived) should get the requested outputs to know which outputs to produce.
I expect the manager (e.g. "BaseManager" or derived) to use this information, and also the property "transmitionMode" of each output, to prepare:

  • body;
  • headers (i.e. 'Location');
  • content pointed by 'Location' in the headers.

In case of "transmissionMode": "reference", I am not sure if either the processor or the manager should prepare the reference (possibly writing to a file the single output).
As far as I understand, the reference is not expected to be served by the API, therefore only the processor can prepare it (possibly on a different endpoint).
If the reference could be server by the API, then the manager could be in charge of it.

I propose to add an additonal parameter (a dictionary with the content of outputs) to BaseManager.execute_process()
and the same additional parameter to BaseProcessor.execute()

Apologize, wrong place to report.