diff --git a/core/recommendations/core/PER_additional-status-codes.adoc b/core/recommendations/core/PER_additional-status-codes.adoc index 97e37ef4..d4a27c3d 100644 --- a/core/recommendations/core/PER_additional-status-codes.adoc +++ b/core/recommendations/core/PER_additional-status-codes.adoc @@ -2,8 +2,9 @@ [permission] ==== [%metadata] +identifier:: /per/core/additional-status-codes label:: /per/core/additional-status-codes Servers MAY support other capabilities of the HTTP protocol and, therefore, MAY return other status codes than those listed in <>, too. -==== \ No newline at end of file +==== diff --git a/core/recommendations/core/PER_alternative-process-description.adoc b/core/recommendations/core/PER_alternative-process-description.adoc index a9479d21..bf19f24f 100644 --- a/core/recommendations/core/PER_alternative-process-description.adoc +++ b/core/recommendations/core/PER_alternative-process-description.adoc @@ -2,7 +2,8 @@ [permission] ==== [%metadata] +identifier:: /per/core/alternative-process-description label:: /per/core/alternative-process-description Servers MAY support alternative means of describing the inputs and outputs of a process. -==== \ No newline at end of file +==== diff --git a/core/recommendations/core/PER_alternative-process-paths.adoc b/core/recommendations/core/PER_alternative-process-paths.adoc index dac7ebfa..7a4cf153 100644 --- a/core/recommendations/core/PER_alternative-process-paths.adoc +++ b/core/recommendations/core/PER_alternative-process-paths.adoc @@ -2,7 +2,8 @@ [permission] ==== [%metadata] +identifier:: /per/core/alternative-process-paths label:: /per/core/alternative-process-paths Servers MAY support alternative API paths. -==== \ No newline at end of file +==== diff --git a/core/recommendations/core/PER_api-definition-uri.adoc b/core/recommendations/core/PER_api-definition-uri.adoc index 09b6d342..6c7bc98d 100644 --- a/core/recommendations/core/PER_api-definition-uri.adoc +++ b/core/recommendations/core/PER_api-definition-uri.adoc @@ -2,6 +2,7 @@ [permission] ==== [%metadata] +identifier:: /per/core/api-definition-uri label:: /per/core/api-definition-uri The API definition is metadata about the capabilities provided by an API implementation instance and strictly speaking is not part of the API itself, but the definition MAY be hosted as a sub-resource to the base path of the API, for example, at path `/api`. There is no need to include the path of the API definition in the API definition itself. diff --git a/core/recommendations/core/PER_job-results-success-async-many-other-formats.adoc b/core/recommendations/core/PER_job-results-success-async-many-other-formats.adoc index ba612f28..284b2d70 100644 --- a/core/recommendations/core/PER_job-results-success-async-many-other-formats.adoc +++ b/core/recommendations/core/PER_job-results-success-async-many-other-formats.adoc @@ -2,7 +2,9 @@ [permission] ==== [%metadata] +identifier:: /per/core/job-results-async-many-other-formats label:: /per/core/job-results-async-many-other-formats + [.component,class=conditions] -- . The <> is asynchronous. diff --git a/core/recommendations/core/PER_job-status.adoc b/core/recommendations/core/PER_job-status.adoc new file mode 100644 index 00000000..c6f53234 --- /dev/null +++ b/core/recommendations/core/PER_job-status.adoc @@ -0,0 +1,18 @@ +[[per_core_job-status]] +[permission] +==== +[%metadata] +identifier:: /per/core/job-status +label:: /per/core/job-status + +[.component,class=part] +-- +Servers MAY, via the `request` field, include the execute request or workflow that was submitted to the server resulting in the creation of this job. The initiating request MAY be encoded inline in the job status information or MAY be referenced via a link. +-- + +[.component,class=part] +-- +Servers MAY, via the `message` field, include additional human-readable context information about the job. +-- + +==== diff --git a/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc b/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc index 6838689a..20640d7d 100644 --- a/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc +++ b/core/recommendations/core/PER_process-execute-input-inline-bbox.adoc @@ -2,6 +2,7 @@ [permission] ==== [%metadata] +identifier:: /per/core/process-execute-input-inline-bbox label:: /per/core/process-execute-input-inline-bbox Servers MAY copy the contents of <> into another file and adjust the `default` and `enum` values as required. diff --git a/core/recommendations/core/PER_process-execute-multiple-output-pkg.adoc b/core/recommendations/core/PER_process-execute-multiple-output-pkg.adoc index c634a69b..9bc47f67 100644 --- a/core/recommendations/core/PER_process-execute-multiple-output-pkg.adoc +++ b/core/recommendations/core/PER_process-execute-multiple-output-pkg.adoc @@ -3,6 +3,7 @@ ==== [%metadata] identifier:: /per/core/process-execute-multiple-output-pkg +label:: /per/core/process-execute-multiple-output-pkg A server MAY, through content negotiation, respond with something other than that specified by requirement <>. A server MAY, for example, respond with a https://www.iso.org/standard/60101.html[ZIP] file or a https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html[multi-part MIME] document containing all the requested output values. ==== diff --git a/core/recommendations/core/PER_process-execute-success-sync-many-other-formats.adoc b/core/recommendations/core/PER_process-execute-success-sync-many-other-formats.adoc index 737eac31..e960a78c 100644 --- a/core/recommendations/core/PER_process-execute-success-sync-many-other-formats.adoc +++ b/core/recommendations/core/PER_process-execute-success-sync-many-other-formats.adoc @@ -2,7 +2,9 @@ [permission] ==== [%metadata] +identifier:: /per/core/process-execute-sync-many-other-formats label:: /per/core/process-execute-sync-many-other-formats + [.component,class=conditions] -- . The <> is synchronous. diff --git a/core/recommendations/core/PER_process-execute-sync-job.adoc b/core/recommendations/core/PER_process-execute-sync-job.adoc index 55b4f373..67d4b4f5 100644 --- a/core/recommendations/core/PER_process-execute-sync-job.adoc +++ b/core/recommendations/core/PER_process-execute-sync-job.adoc @@ -2,7 +2,8 @@ [permission] ==== [%metadata] +identifier:: /per/core/process-execute-sync-job label:: /per/core/process-execute-sync-job Servers MAY support the creation of a job for synchronously executed processes. -==== \ No newline at end of file +==== diff --git a/core/recommendations/core/PER_process-list-limit-default-minimum-maximum.adoc b/core/recommendations/core/PER_process-list-limit-default-minimum-maximum.adoc index 7c21023c..ddcbb849 100644 --- a/core/recommendations/core/PER_process-list-limit-default-minimum-maximum.adoc +++ b/core/recommendations/core/PER_process-list-limit-default-minimum-maximum.adoc @@ -2,6 +2,8 @@ [permission] ==== [%metadata] +identifier:: /per/core/limit-default-minimum-maximum label:: /per/core/limit-default-minimum-maximum + part:: The values for `minimum`, `maximum` and `default` in requirement `/req/core/limit-definition` are only examples and MAY be changed. -==== \ No newline at end of file +==== diff --git a/core/recommendations/core/PER_process-list-limit-response.adoc b/core/recommendations/core/PER_process-list-limit-response.adoc index 2e70a7b1..1faa6697 100644 --- a/core/recommendations/core/PER_process-list-limit-response.adoc +++ b/core/recommendations/core/PER_process-list-limit-response.adoc @@ -2,6 +2,8 @@ [permission] ==== [%metadata] +identifier:: /per/core/limit-response label:: /per/core/limit-response + part:: The server MAY return fewer process summaries than requested (but not more). -==== \ No newline at end of file +==== diff --git a/core/recommendations/core/PER_process-list-prev.adoc b/core/recommendations/core/PER_process-list-prev.adoc index 25eab454..3e0db6c3 100644 --- a/core/recommendations/core/PER_process-list-prev.adoc +++ b/core/recommendations/core/PER_process-list-prev.adoc @@ -2,6 +2,8 @@ [permission] ==== [%metadata] +identifier:: /per/core/prev label:: /per/core/prev + part:: A response to dereferencing a next page link (relation: `next`) MAY include a prev page link (relation: `prev`) to the resource that included the next page link (relation: `next`). ==== diff --git a/core/recommendations/core/REC_job-links.adoc b/core/recommendations/core/REC_job-links.adoc index 650d84c1..f9e3e4c7 100644 --- a/core/recommendations/core/REC_job-links.adoc +++ b/core/recommendations/core/REC_job-links.adoc @@ -14,4 +14,9 @@ Servers SHOULD include a link (`rel="monitor"`) pointing to a resource that can Servers SHOULD, when available, include a link (`rel="[ogc-rel:results]"`) pointing to the results generated by the job. -- +[.component,class=part] +-- +Servers SHOULD include one or more links (`rel="[ogc-rel:log]"`) pointing to log files generated by the executing process. +-- + ==== diff --git a/core/recommendations/core/REC_job-status.adoc b/core/recommendations/core/REC_job-status.adoc index 26054806..6d41fb62 100644 --- a/core/recommendations/core/REC_job-status.adoc +++ b/core/recommendations/core/REC_job-status.adoc @@ -4,6 +4,11 @@ [%metadata] identifier:: /rec/core/job-status +[.component,class=part] +-- +Servers SHOULD, via the `title`, `description`, `keywords` and `metadata` fields, include descriptive metadata about the job. +-- + [.component,class=part] -- Servers SHOULD set the value of the `processID` field if it is known. @@ -28,4 +33,9 @@ Servers SHOULD set the value of the `finished` field when the execution of a job -- Whenever the `status` field of the job changes, servers SHOULD revise the value of the `updated` field. -- + +[.component,class=part] +-- +Servers SHOULD, if the information can be determined, set the value of the `progress` field indicating how much of the job has been completed. +-- ==== diff --git a/core/recommendations/core/REC_link-header.adoc b/core/recommendations/core/REC_link-header.adoc index 31bd9a48..3e92b3aa 100644 --- a/core/recommendations/core/REC_link-header.adoc +++ b/core/recommendations/core/REC_link-header.adoc @@ -11,6 +11,6 @@ Links included in payload of responses SHOULD also be included as `Link` headers [.component,class=part] -- -This recommendation does not apply, if there are a large number of links included in a response or a link is not known when the HTTP headers of the response are created. +This recommendation does not apply, if there are a large number of links included in a response or the details of a link are not known when the HTTP headers of the response are created. -- ==== diff --git a/core/sections/clause_7_core.adoc b/core/sections/clause_7_core.adoc index 3f6311d6..1011f327 100644 --- a/core/sections/clause_7_core.adoc +++ b/core/sections/clause_7_core.adoc @@ -1177,9 +1177,11 @@ The job status information includes several optional date-time fields that repre include::../recommendations/core/REC_job-status.adoc[] +NOTE: Once a job has finished execution and is no longer consuming compute resources, the duration of processing can be computed as `finished-started`. The `updated` field, however, may still be revised as the system continues processing outputs, storing results, releasing compute resources, etc. + include::../recommendations/core/REC_job-links.adoc[] -NOTE: Once a job has finished execution and is no longer consuming compute resources, the duration of processing can be computed as `finished-started`. The `updated` field, however, may still be revised as the system continues processing outputs, storing results, releasing compute resources, etc. +include::../recommendations/core/PER_job-status.adoc[] .A HTTP GET request for retrieving status information about a job encoded as JSON. ==== diff --git a/openapi/schemas/processes-core/execute.yaml b/openapi/schemas/processes-core/execute.yaml index 709bf3d2..1ead9ac6 100644 --- a/openapi/schemas/processes-core/execute.yaml +++ b/openapi/schemas/processes-core/execute.yaml @@ -1,5 +1,7 @@ type: object properties: + processID: + type: string inputs: additionalProperties: $ref: "input.yaml" diff --git a/openapi/schemas/processes-core/statusInfo.yaml b/openapi/schemas/processes-core/statusInfo.yaml index 85e4eb3e..16ad36ed 100644 --- a/openapi/schemas/processes-core/statusInfo.yaml +++ b/openapi/schemas/processes-core/statusInfo.yaml @@ -1,42 +1,48 @@ -type: object -required: - - id - - status - - type -properties: - id: - type: string - processID: - type: string - type: - type: string - example: - - process - - wps - - openeo - status: - $ref: "statusCode.yaml" - message: - type: string - exception: - $ref: "../common-core/exception.yaml" - created: - type: string - format: date-time - started: - type: string - format: date-time - finished: - type: string - format: date-time - updated: - type: string - format: date-time - progress: - type: integer - minimum: 0 - maximum: 100 - links: - type: array - items: - $ref: "../common-core/link.yaml" +allOf: + - $ref: "./descriptionType.yaml" + - type: object + required: + - id + - status + - type + properties: + id: + type: string + processID: + type: string + type: + type: string + example: + - process + - wps + - openeo + request: + oneOf: + - type: object + - $ref: "../common-core/link.yaml" + status: + $ref: "statusCode.yaml" + message: + type: string + exception: + $ref: "../common-core/exception.yaml" + created: + type: string + format: date-time + started: + type: string + format: date-time + finished: + type: string + format: date-time + updated: + type: string + format: date-time + progress: + type: integer + minimum: 0 + maximum: 100 + links: + type: array + items: + $ref: "../common-core/link.yaml"