-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Launch Implementer Version of the Specification #49
Comments
From Neal Caidin on ability to host the Workflows Specification under the OAI:
Link to slack conversation: https://open-api.slack.com/archives/C1137F8HF/p1683808672092199 |
Section Data Types: link to the Formats Registry, ideally per format. |
The |
Workflows Specification Object Example, step - stepId: getPetStep
description: retrieve a pet by status from the GET pets endpoint
operationRef: https://petstore3.swagger.io/api/v3/openapi.json#/paths/users/~findbystatus~1{status}/get
dependsOn: loginStep
parameters:
- name: status
in: query
value: 'available'
- name: Authorization
in: header
value: $steps.loginUser.outputs.sessionToken Assuming the Authorization: Bearer <sessionToken> How would such a concatenation of the prefix I'll look for it in the remainder of the document, but it would be nice if the example already told me 😄. |
The literals description includes |
It appears that in the OpenAPI spec we did a particularly bad job of specifying how to use $statusCode in an expression. Most of the examples in workflows treat statusCode as a numeric value during comparison. However, there is an example here https://github.com/OAI/sig-workflows/blob/main/versions/1.0.0.md#fixed-fields-10 that treats it as a string. This might be fine but it set off my spidey senses. |
https://github.com/OAI/sig-workflows/blob/main/versions/1.0.0.md#fixed-fields-4 The successCriteria property is a list of Criterion Objects that all must be satisfied. It might be worthwhile providing some guidance as to when to use an AND (&&) operator in a single criterion Object vs multiple criterionObjects. e.g. Will a list of criteron Objects "short circuit" if one fails? |
Is this
the same as
? |
the retryAfter field in the Failure Action Object is described as "A non-negative decimal indicating the milliseconds delay". Is this really supposed to say Decimal? i.e. someone can define fractions of a millisecond? Is there a strong reason to deviate from the HTTP standard of using seconds for retryAfter? |
It would be valuable to have some examples and discussion around the https://github.com/OAI/sig-workflows/blob/main/versions/1.0.0.md#fixed-fields-6 |
Section Step Object, field
How prefixed? Just prepend without separator character? An example would be useful. Same with field |
Section Step Object, field
The examples show a JSON Pointer with a fragment containing a path through the paths object, the URI template, ending at the operation object. I find the examples convincing and am unable to deduce them from the field description. |
Section Workflow Object, field
Are there any cases where this JSON Schema object wouldn't say How would inputs be referenced if that schema isn't of "$inputs." name which seems to require |
Thanks @ralfhandl - I've registered #96 for this. |
Thanks @darrelmiller - this is being fixed via #98 |
String functions representations like concatenation are not currently supported. If we deem it worthwhile, then I would propose that we handle in the same manner as a Criterion.condition in so far as literals can be combined with runtime expressions and also leverage and extended set of operators. Alternatively, we'd need to introduce a limited set of functions (this is thread if we pull at it). I'd tend to treat this as an enhancement for a future minor rev. |
I don't see it as a big issue, but perhaps we could provide a little more clarity for implementors to take appropriate parsing responsibility before evaluating such a condition |
@darrelmiller thanks - nice spot. Addressed (whoops) in #99 |
Thanks @darrelmiller - Issue #100 created for this. I've no idea how I deviated here......... I will keep the decimal description unless you think the |
I think it's self explanatory but happy to add an example if needed. However I'm not sure how prescriptive I want to be here for authors. The general rule of thumb is that if you have assertions which can not easily fit into a single Criterion Object (e.g. you may need to check a status code as well as apply some JSONPath expressions to check response body information). Yes, if one criterion fails, then the step is deemed as unsuccessful. That may trigger other actions depending on the presence of the |
@darrelmiller This made me smile, which is good! Yes, they are effectively the same but somewhat unexpected usage. And the following is also the same:
'type' Example:
This would not be very clear if represented as the following IMHO as $statusCode is not the only context being evaluated
Open to suggestions as to how to harden/clarify |
@ralfhandl - I tend to agree with you here. We should perhaps make that explicit in the wording (or wording + examples).
In the spirit it was written, There are some examples (which could be improved) at: |
@ralfhandl #105 created to address the most pressing part of this feedback
Workflow prefixing can be used to enable the ability to locate the desired step should a situation arise where there is a need to have a step with the same id within two described workflows. I'm OK living with this one. |
@ralfhandl #106 created to address this feedback |
@ralfhandl I'll look to update the media type registrations to specify JSON Pointer as the fragment identifier mechanism, and add some additional text also into the section to clarify #107 created for this feedback |
@ralfhandl #108 created for this feedback |
@ralfhandl a sneak preview indeed. Created #109 to tidy up |
@darrelmiller any comment here? I was following along from the old comment on media types for OAS but I tend to agree with @ralfhandl that we should not be flagging these as vendor specific. I'm happy to submit a change request on the registrations based on your feedback. |
@frankkilcommins that comment about |
@darrelmiller #118 created to move the notes up to the Step |
@ralfhandl Issue #119 created to review/harden based on this feedback |
@ralfhandl just closing off this issue comment. Please see here for current status/context. |
@ralfhandl issue #124 created to address this feedback |
This issue is to work towards deliver of an implementer version of the Workflows Specification that can be used by interested vendors (or community members) to build prototype tooling and feedback to the SIG on aspects of the specification.
How a bill becomes law?
We'll work with the OAS TDC to identify the steps needed to release and communicate on an initial implementer spec version. These discussions will also cover how the SIG Workflows group should also function moving forward (perhaps follow IETF process/approach for working groups).
Planned timelines and activities
The text was updated successfully, but these errors were encountered: