opengeospatial / ogcapi-processes

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Do we really need additional parameters?

pvretano opened this issue · comments

In descriptionType.yaml we have a complete structure for additional parameters. Since by default additionalProperties is true anyone who wants to add "additional parameters" can simply add additional properties to the description. Why all the extra baggage?
Is the additionalParameters stuff a hold over from the XML days?
Should we simplify things and get rid of all the additionalParameters stuff?

@pvretano I guess this was to give some structure, in particular this parameters for those additional properties that are not elsewhere, but what is this intended for really?

descriptionType.yaml is used in a few places (processSummary, inputDescription, outputDescription) does it make sense in any of these contexts (the parameters for the process are the input, and inputs/outputs don't have "parameters" do they)? I don't think we use that anywhere in our implementation, only title and description.

I think we should get rid of all the additionalParameters stuff.

@gfenoy ?

In descriptionType.yaml we have a complete structure for additional parameters. Since by default additionalProperties is true anyone who wants to add "additional parameters" can simply add additional properties to the description. Why all the extra baggage?
Is the additionalParameters stuff a hold over from the XML days?

You are right, the additionalParameters comes from the OWS common 2.0 schema. When we were initially modifying the ZOO-Project to support OGC API - Processes, we realised that there were no way to include the additionalParameters that was present in the ProcessDescription available in WPS 2.0 and some of our client applications were requiring them. For backward compatibility with previous WPS implementations, I don't think it would hurt to keep it in the schema. Also, it may ease existing WPS 2.0 implementations to be ported to the current standard.

On the other hand, we are currently using the additionalParameters in our DRU+HPC implementation which is able to deploy processes and execute them on a remote HPC. You can access an exemple request to deploy such a process here and the latest official binary docker image available here.

Should we simplify things and get rid of all the additionalParameters stuff?

Is it causing any issue to keep it?

@gfenoy no, its not causing a direct issue but I don't think we should keep random fragments of code around just for the sake of keeping them around. This apparently is an artifact from the days of XML so I agree with @jerstlouis and think we can get rid of all the additionalParameters stuff. This was added to OWS common because XML could only be extended schematically. JSON is a little more flexible.

I'll create a PR where I get rid of this kruft that we can use as the basis of discussion.