Skip to content
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

Adding deprecation messages to preview versions 2022-08-17 & 2022-09-25 #25194

Conversation

galkeinan-microsoft
Copy link
Member

@galkeinan-microsoft galkeinan-microsoft commented Aug 6, 2023

2022-08-17 & 2022-09-25 (according to 45554387 item)

Data Plane API - Pull Request

API Info: The Basics

Most of the information about your service should be captured in the issue that serves as your API Spec engagement record.

  • Link to API Spec engagement record issue:

Is this review for (select one):

  • a private preview
  • a public preview
  • GA release

Change Scope

This section will help us focus on the specific parts of your API that are new or have been modified.
Please share a link to the design document for the new APIs, a link to the previous API Spec document (if applicable), and the root paths that have been updated.

  • Design Document:
  • Previous API Spec Doc:
  • Updated paths:

❔Got questions? Need additional info?? We are here to help!

Contact us!

The Azure API Review Board is dedicated to helping you create amazing APIs. You can read about our mission and learn more about our process on our wiki.

Click here for links to tools, specs, guidelines & other good stuff

Tooling

Guidelines & Specifications

Helpful Links

2022-08-17 & 2022-09-25 (according to 45554387 item)
@galkeinan-microsoft galkeinan-microsoft requested a review from a team as a code owner August 6, 2023 15:10
@galkeinan-microsoft galkeinan-microsoft requested review from bexxx and weidongxu-microsoft and removed request for a team August 6, 2023 15:10
@openapi-workflow-bot
Copy link

Hi, @galkeinan-microsoft! Thank you for your pull request. To help get your PR merged:

  • Ensure you reviewed the checklists in the PR description.
  • Know that PR assignee is the person auto-assigned and responsible for your current PR review and approval.
  • For convenient view of the API changes made by this PR, refer to the URLs provided in the table in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
  • @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 6, 2023

    Swagger Validation Report

    ️️✔️BreakingChange succeeded [Detail] [Expand]
    There are no breaking changes.
    compared swaggers (via Oad v0.10.4)] new version base version
    search.json 2022-08-17-preview(846eee4) 2022-08-17-preview(main)
    search.json 2022-09-25-preview(846eee4) 2022-09-25-preview(main)
    ️️✔️Breaking Change(Cross-Version) succeeded [Detail] [Expand]
    There are no breaking changes.
    ️️✔️CredScan succeeded [Detail] [Expand]
    There is no credential detected.
    ️⚠️LintDiff: 0 Warnings warning [Detail]
    compared tags (via openapi-validator v2.1.4) new version base version
    package-2022-08-17-preview package-2022-08-17-preview(846eee4) package-2022-08-17-preview(main)
    package-2022-09-25-preview package-2022-09-25-preview(846eee4) package-2022-09-25-preview(main)

    The following errors/warnings exist before current PR submission:

    Only 30 items are listed, please refer to log for more details.

    Rule Message
    ValidFormats 'decimal' is not a known format.
    Location: Search/preview/2022-08-17-preview/search.json#L961
    ValidFormats 'decimal' is not a known format.
    Location: Search/preview/2022-08-17-preview/search.json#L966
    ⚠️ ErrorResponse The error property in the error response schema should be required.
    Location: Search/preview/2022-08-17-preview/search.json#L515
    ⚠️ ErrorResponse Error schema should define code and message properties as required.
    Location: Search/preview/2022-08-17-preview/search.json#L515
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L682
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L697
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L705
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L717
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L982
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L1002
    ⚠️ EnumInsteadOfBoolean Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.
    Location: Search/preview/2022-08-17-preview/search.json#L1021
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L1068
    ⚠️ EnumInsteadOfBoolean Booleans properties are not descriptive in all cases and can make them to use, evaluate whether is makes sense to keep the property as boolean or turn it into an enum.
    Location: Search/preview/2022-08-17-preview/search.json#L1076
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L1122
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-08-17-preview/search.json#L1166
    ⚠️ ParameterDefaultNotAllowed A required parameter should not specify a default value.
    Location: Search/preview/2022-09-25-preview/search.json#L501
    ⚠️ ErrorResponse The error property in the error response schema should be required.
    Location: Search/preview/2022-09-25-preview/search.json#L514
    ⚠️ ErrorResponse Error schema should define code and message properties as required.
    Location: Search/preview/2022-09-25-preview/search.json#L514
    ⚠️ ParameterDefaultNotAllowed A required parameter should not specify a default value.
    Location: Search/preview/2022-09-25-preview/search.json#L942
    ⚠️ Nullable Avoid the use of x-nullable.
    Location: Search/preview/2022-09-25-preview/search.json#L947
    ⚠️ ErrorResponse The error property in the error response schema should be required.
    Location: Search/preview/2022-09-25-preview/search.json#L955
    ⚠️ ErrorResponse Error schema should define code and message properties as required.
    Location: Search/preview/2022-09-25-preview/search.json#L955
    ⚠️ ListInOperationName Since operation response has model definition in array type, it should be of the form '_list'.
    Location: Search/preview/2022-09-25-preview/search.json#L973
    ⚠️ PageableOperation Based on the response model schema, operation 'Suggestions_GetProducts' might be pageable. Consider adding the x-ms-pageable extension.
    Location: Search/preview/2022-09-25-preview/search.json#L973
    ⚠️ PaginationResponse Operation might be pageable. Consider adding the x-ms-pageable extension.
    Location: Search/preview/2022-09-25-preview/search.json#L973
    ⚠️ Nullable Avoid the use of x-nullable.
    Location: Search/preview/2022-09-25-preview/search.json#L1319
    ⚠️ ParameterDefaultNotAllowed A required parameter should not specify a default value.
    Location: Search/preview/2022-09-25-preview/search.json#L1336
    ⚠️ ErrorResponse The error property in the error response schema should be required.
    Location: Search/preview/2022-09-25-preview/search.json#L1348
    ⚠️ ErrorResponse Error schema should define code and message properties as required.
    Location: Search/preview/2022-09-25-preview/search.json#L1348
    ⚠️ PropertyType Property should have a defined type.
    Location: Search/preview/2022-09-25-preview/search.json#L1555
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️️✔️SwaggerAPIView succeeded [Detail] [Expand]
    ️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️️✔️SemanticValidation succeeded [Detail] [Expand]
    Validation passes for SemanticValidation.
    ️️✔️PoliCheck succeeded [Detail] [Expand]
    Validation passed for PoliCheck.
    ️️✔️PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️️✔️SpellCheck succeeded [Detail] [Expand]
    Validation passes for SpellCheck.
    ️️✔️Lint(RPaaS) succeeded [Detail] [Expand]
    Validation passes for Lint(RPaaS).
    ️️✔️PR Summary succeeded [Detail] [Expand]
    Validation passes for Summary.
    ️️✔️Automated merging requirements met succeeded [Detail] [Expand]
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 6, 2023

    Swagger Generation Artifacts

    ️️✔️ApiDocPreview succeeded [Detail] [Expand]
     Please click here to preview with your @microsoft account. 
    ️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]

    Breaking Changes Tracking

    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 6, 2023

    Generated ApiView

    Language Package Name ApiView Link
    Swagger marketplacecatalog-data-plane-Search https://apiview.dev/Assemblies/Review/1270525fc96b4384b301b6c0198bb5f9

    @galkeinan-microsoft
    Copy link
    Member Author

    please review but don't approve yet.
    need to add an official deprecation notice on Azure Updates.

    },
    "azure-deprecating": {
    "type": "string",
    "description": "Search API version 2022-08-17 will retire on Jan. 31, 2024. After this date, this API version will no longer be supported. To continue using our services, it is essential to migrate to the new Search API preview version 2023-01-01.\nFor detailed guidance, please refer to the updated API documentation, available at: https://learn.microsoft.com/en-us/rest/api/marketplacecatalog/2023-01-01-preview/search/get?tabs=HTTP\nIf you have any questions or require assistance during the transition, our support team is ready to help. Feel free to contact us at MKPL_Platform_API_DL@microsoft.com"
    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I assume it is 2022-08-17-preview get retired, not 2022-08-17?

    Copy link
    Member Author

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    yes, will fix it.
    @weidongxu-microsoft
    by the way, why the "openapi-pipeline-app / Swagger ApiDocPreview" seems stuck (I cant see the preview of the docs)?

    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    It happens sometimes that the CI got stuck. Usually re-run would work...

    I see CI is all green now. I've approved the PR. Let me know when you need it merged.

    Copy link
    Member Author

    @galkeinan-microsoft galkeinan-microsoft Aug 8, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Hi @weidongxu-microsoft,
    I don't see any visual notification in the apiPreview informimg of deprecation (where is the text informing of deprecation I added?).
    How can I add such visual deprecation notice? red banner on top with the text I added (see this item created by Product Manager: https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/45554387)

    Copy link
    Member

    @weidongxu-microsoft weidongxu-microsoft Aug 8, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    The azure-deprecating here has nothing to do with deprecation information on API doc page.

    This is providing a runtime azure-deprecating header to your user, so they would see it in logger etc.
    https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#deprecating-behavior-notification

    Copy link
    Member Author

    @galkeinan-microsoft galkeinan-microsoft Aug 8, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    so what is the common way to add such notification on deprecation? that will be visual to users- red banner on top with the text I added (see this item created by Product Manager: https://microsoft.visualstudio.com/DefaultCollection/OSGS/_workitems/edit/45554387)
    Thanks for the quick response!

    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    I am not familiar with deprecation procedure. Please check with your PM for deprecation procedure.

    If you want to make it clear on MSLearn that certain version will be deprecated, maybe update the page https://learn.microsoft.com/en-us/rest/api/marketplacecatalog/ (it should correspond to a md file in github repo), though I've no idea about red banner. <-- this is only a suggestion, as mentioned, I am not familiar with the procedure

    @openapi-workflow-bot
    Copy link

    Hi @galkeinan-microsoft! Your PR has some issues. Please fix the CI issues, if present, in following order: Avocado, SemanticValidation, ModelValidation, Breaking Change, LintDiff.

    TaskHow to fixPriority
    AvocadoFix-AvocadoHigh
    Semantic ValidationFix-SemanticValidation-ErrorHigh
    Model ValidationFix-ModelValidation-ErrorHigh
    LintDiffFix-LintDiffHigh

    If you need further help, please reach out on the Teams channel aka.ms/azsdk/support/specreview-channel.

    @openapi-pipeline-app
    Copy link

    Swagger Generation Artifacts

    ️⌛ApiDocPreview pending [Detail]
    ️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]

    Breaking Changes Tracking

    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    Swagger Validation Report

    ️⌛BreakingChange pending [Detail]
    ️🔄Breaking Change(Cross-Version) inProgress [Detail]
    ️⌛CredScan pending [Detail]
    ️🔄LintDiff inProgress [Detail]
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️🔄SwaggerAPIView inProgress [Detail]
    ️🔄TypeSpecAPIView inProgress [Detail]
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️🔄SemanticValidation inProgress [Detail]
    ️⌛PoliCheck pending [Detail]
    ️️✔️PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️🔄SpellCheck inProgress [Detail]
    ️⌛Lint(RPaaS) pending [Detail]
    ️⌛PR Summary pending [Detail]
    ️⌛Automated merging requirements met pending [Detail]
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    Swagger Validation Report

    ️🔄BreakingChange inProgress [Detail]
    ️🔄Breaking Change(Cross-Version) inProgress [Detail]
    ️⌛CredScan pending [Detail]
    ️🔄LintDiff inProgress [Detail]
    ️️✔️Avocado succeeded [Detail] [Expand]
    Validation passes for Avocado.
    ️🔄SwaggerAPIView inProgress [Detail]
    ️️✔️TypeSpecAPIView succeeded [Detail] [Expand]
    ️️✔️ModelValidation succeeded [Detail] [Expand]
    Validation passes for ModelValidation.
    ️🔄SemanticValidation inProgress [Detail]
    ️⌛PoliCheck pending [Detail]
    ️️✔️PrettierCheck succeeded [Detail] [Expand]
    Validation passes for PrettierCheck.
    ️🔄SpellCheck inProgress [Detail]
    ️🔄Lint(RPaaS) inProgress [Detail]
    ️⌛PR Summary pending [Detail]
    ️⌛Automated merging requirements met pending [Detail]
    Posted by Swagger Pipeline | How to fix these errors?

    @openapi-pipeline-app
    Copy link

    Swagger Generation Artifacts

    ️🔄ApiDocPreview inProgress [Detail]
    ️️✔️SDK Breaking Change Tracking succeeded [Detail] [Expand]

    Breaking Changes Tracking

    Posted by Swagger Pipeline | How to fix these errors?

    @weidongxu-microsoft weidongxu-microsoft self-requested a review August 11, 2023 02:27
    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 16, 2023

    Next Steps to Merge

    ⚠️ This is an experimental comment. It may not always be up-to-date. ⚠️

    ✔️ All automated merging requirements have been met! Refer to step 4 in the PR workflow diagram (even if your PR is for data plane, not ARM).

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 16, 2023

    Automatic PR validation restarted. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @openapi-pipeline-app
    Copy link

    Automatic PR validation started. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 16, 2023

    Automatic PR validation restarted. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 16, 2023

    Automatic PR validation restarted. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 16, 2023

    Automatic PR validation restarted. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @galkeinan-microsoft
    Copy link
    Member Author

    Hi @weidongxu-microsoft Why the preview html created by "openapi-pipeline-app / Swagger ApiDocPreview" shows only 2022-09-25-preview changes? what about 2022-08-17 changes - where can I see them?
    Thanks!

    @openapi-pipeline-app
    Copy link

    openapi-pipeline-app bot commented Aug 16, 2023

    Automatic PR validation restarted. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @openapi-pipeline-app
    Copy link

    Automatic PR validation started. This comment will be populated with next steps to merge this PR once validation is completed. Please wait ⌛.

    @galkeinan-microsoft
    Copy link
    Member Author

    Please complete this PR if seems ok.
    @bexxx @weidongxu-microsoft

    Comment on lines +523 to 526
    "azure-deprecating": {
    "type": "string",
    "description": "Deprecation Message"
    }
    Copy link
    Member

    @weidongxu-microsoft weidongxu-microsoft Aug 18, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Could you confirm that your backend indeed return azure-deprecating header with text in runtime, like https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#deprecating-behavior-notification ?

    Give a sample if possible.

    Copy link
    Member Author

    @galkeinan-microsoft galkeinan-microsoft Aug 21, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    yes, should be in prod by end of this week (we are rolling a new version with the new header).

    https://euap.catalogapi.azure.com/search?gallery=AppSourceApps&select=UniqueProductId&top=20&Language=en&Market=ALL&api-version=2022-09-25-preview

    the response contains header "azure-deprecating"with value set to:

    "API versions 2022-09-25-preview & 2022-08-17-preview will retire on Jan. 31, 2024. After this date, this API version will no longer be supported. To continue using our services, it is essential to migrate to the new Search API preview version 2023-01-01.For detailed guidance, please refer to the updated API documentation, available at: https://learn.microsoft.com/en-us/rest/api/marketplacecatalog/2023-01-01-preview/search/get?tabs=HTTP If you have any questions or require assistance during the transition, please contact us at MKPL_Platform_API_DL@microsoft.com"

    please approve this PR if seems ok, so we can publish it as soon as possible.
    Thanks

    Copy link
    Member

    @weidongxu-microsoft weidongxu-microsoft Aug 22, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    The format seems not same as the guideline (especially the date).
    https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md#deprecating-behavior-notification

    Also please make sure you've met the requirement there (breaking change review and azure update).

    @JeffreyRichter @mikekistler for awareness on deprecation.

    • marketplacecatalog deprecates 2022-08-17-preview and 2022-09-25-preview.
    • Latest preview is 2023-01-01-preview. It is more than 2 month old (so I assume it meets the policy, of 90 days overlap window).

    Copy link
    Member Author

    @galkeinan-microsoft galkeinan-microsoft Aug 22, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Hi @mikekistler,
    The communication is ready and about to be sent (our Product Manager is working with Shashank Vineet on it).
    I added the header 'azure-deprecating' with wrong formatted message as @weidongxu-microsoft mention, but understood this header is not mandatory and dont have to match the communication (the same message is about to be sent in communication).
    the 'wrong formatted' header should be available in prod in the next 2 days.
    I can change the "azure-deprecating" value we return to match the format you sent, but it will reach prod only next week.

    please let me know how to proceed, we would like to publish this PR as soon as possible (it contains a red banner on top informing users on the deprecation, although it is not required)

    I can delete the header (from both this PR and from our API), or djust its value.
    But we really want to publish this PR since it contains a red banner on top with a notification of the deprecation.

    In case you want me to change the header's value, please share the exact message that you consider as valid, since we dont have a url as shown in the example.

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    @mikekistler Let us know if you have opinion here.

    I assume azure-deprecating header does not need to be an exact copy of your communication (via email or other) to customer.

    azure-deprecating header in Swagger and runtime is intended to notify user that calling the API, giving them context that the plan/schedule/time of the deprecation.

    Copy link
    Member

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    The content in azure-deprecating does not need to be an exact copy of the communication. The intent of the url part of the header value is to avoid duplicating the communication by instead referencing it.

    So I recommend simply fixing the formatting as needed (I'm not sure I grasp the problem with the format, but I don't think I need to.)

    Copy link
    Member Author

    @galkeinan-microsoft galkeinan-microsoft Aug 23, 2023

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    Hi @mikekistler @weidongxu-microsoft
    Thanks for your help.
    Decided with @weidongxu-microsoft that we will complete this PR and publish the documentation as is, and next week "azure-depreacting" message will be fixed.
    since we dont have the url part of the message, the only change will be in the date format (in bold).

    wrong formatted message:
    "API versions 2022-09-25-preview & 2022-08-17-preview will retire on Jan. 31, 2024. After this date, this API version will no longer be supported. To continue using our services, it is essential to migrate to the new Search API preview version 2023-01-01.For detailed guidance, please refer to the updated API documentation, available at: https://learn.microsoft.com/en-us/rest/api/marketplacecatalog/2023-01-01-preview/search/get?tabs=HTTP If you have any questions or require assistance during the transition, please contact us at MKPL_Platform_API_DL@microsoft.com"

    new message:
    "API versions 2022-09-25-preview & 2022-08-17-preview will retire on 2024-01-31. After this date, this API version will no longer be supported. To continue using our services, it is essential to migrate to the new Search API preview version 2023-01-01. For detailed guidance, please refer to the updated API documentation, available at: https://learn.microsoft.com/rest/api/marketplacecatalog/2023-01-01-preview/search/get?tabs=HTTP If you have any questions or require assistance during the transition, please contact us at MKPL_Platform_API_DL@microsoft.com"

    @weidongxu-microsoft please confirm the new message, so I can start rolling the change.

    Choose a reason for hiding this comment

    The reason will be displayed to describe this comment to others. Learn more.

    OK for me. Note that you have the recommended api-version in message, and the retire will be on 2024-01-31. If you have new api-version as recommendation before 2024-01-31, you will need to update the message here (that is the reason why URL is recommended), to point to newer api-version.

    After 2024-01-31 this api-version will be gone and you won't need to update.

    @weidongxu-microsoft weidongxu-microsoft merged commit eaaa0d7 into Azure:main Aug 23, 2023
    @openapi-pipeline-app
    Copy link

    Swagger pipeline restarted successfully, please wait for status update in this comment.

    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    5 participants