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

Premier Tennis #233

Closed
12 tasks done
nickevansuk opened this issue Jan 28, 2023 · 19 comments
Closed
12 tasks done

Premier Tennis #233

nickevansuk opened this issue Jan 28, 2023 · 19 comments
Assignees
Labels
Open Booking API implementation Publishing open data and implementing the Open Booking API

Comments

@nickevansuk
Copy link
Contributor

nickevansuk commented Jan 28, 2023

Development Progress Tracker

This issue aims to provide public visibility of this new OpenActive integration's development progress. The task list below tracks high level progress at-a-glance, while comments on this issue are used to provide updates in more detail.

Speculative

  • OpenActive community engagement
  • Scoping
  • Scheduling

In Development

  • Dataset site built
  • Open data feeds built
  • Open Booking API built
  • OpenActive Conformance Certificate generated (via OpenActive Test Suite)
  • Dataset site updated

In Review

Certified and Live

  • Added to OpenActive Data Catalog
@nickevansuk nickevansuk changed the title Ensure Premier Tennis has valid dataset site and OA Certificate and add to data catalogue [PUBLISHING/BOOKING INTEGRATION] Premier Tennis Feb 13, 2023
@nickevansuk nickevansuk changed the title [PUBLISHING/BOOKING INTEGRATION] Premier Tennis [BOOKING INTEGRATION] Premier Tennis Feb 13, 2023
@nickevansuk
Copy link
Contributor Author

nickevansuk commented Feb 13, 2023

Detailed status update as follows:

Dataset site updated (owner: @drinkynet)

@drinkynet just needs to update the integration to use the latest version of https://github.com/openactive/dataset-site-template-php/ (I understand it's on his todo list).

Instructions below for reference:

  1. Update your https://github.com/openactive/dataset-site-template-php dependency to use the latest version, which includes a human-readable Open Booking API page.
  2. Run npm run update-test-suite
  3. Ensure that the Registration Landing Page, Terms of Service and Test Suite Certificate properties within the dataset site are all pointing to the right places (see documentation in https://developer.openactive.io/publishing-data/dataset-sites#step-3-open-booking-api-configuration, for single-seller systems)
  4. Ensure that the datasetDocumentationUrl and openBookingAPIDocumentationUrl properties are omitted from the settings passed to the library, so that the default values are used.
  5. Omit platformName , platformUrl, and platformSoftwareVersion, as Premier Tennis is its own platform
  6. Once the above is done, and all deployed to the live environment, submit a PR that includes your live Dataset Site URL, as per instructions in https://developer.openactive.io/publishing-data/dataset-sites#single-database-1

Second integration live (owner: @civsiv)

imin are currently testing this integration and in the process of getting it live. Playfinder was the first live integration.

Library issues (owner: @nickevansuk)

Two outstanding library issues, with @nickevansuk to review:

@nickevansuk nickevansuk changed the title [BOOKING INTEGRATION] Premier Tennis Premier Tennis Feb 13, 2023
@nickevansuk nickevansuk transferred this issue from openactive/data-catalogs Feb 13, 2023
@nickevansuk nickevansuk added the Open Booking API implementation Publishing open data and implementing the Open Booking API label Feb 13, 2023
@nickevansuk nickevansuk self-assigned this Feb 14, 2023
@drinkynet
Copy link

@nickevansuk new data site is live. Will drop the PR in tomorrow morning.

@nickevansuk
Copy link
Contributor Author

nickevansuk commented Feb 20, 2023

Great news @drinkynet - just noting that the "Registration" (openBookingAPIRegistrationUrl) and "Terms of Service" (openBookingAPITermsOfServiceUrl) links currently return a variation of:

// 20230220174950
// https://api.premiertennis.co.uk/docs/registration

{
  "statusCode": 405,
  "error": {
    "type": "NOT_ALLOWED",
    "description": "Method not allowed. Must be one of: OPTIONS"
  }
}

And the "Discussion" URL (datasetDiscussionUrl) is currently empty, see Step 4 in the docs for info about this.

Also noting that the current certificate it references appears to be invalid (ideally this is generated as part of CI)

@drinkynet
Copy link

discussionUrl is fixed, currently inventing the registration page :)

@drinkynet
Copy link

Registration link is fixed now too.

@drinkynet
Copy link

@nickevansuk Re the certificate; is there some sort of timer on it? There have been no changes to the OA feeds or OB API since the certificate was generated, an unintended code freeze if you will :)

@nickevansuk
Copy link
Contributor Author

No timer on it, but the test suite is updated from time-to-time. Sometimes there're bugs identified or tests added to make the testing more robust. The fingerprint of the cert must match the fingerprint of the test suite in the master branch for it to be valid: hence the recommendation to have the test suite running as part of CI. As all implementations of OB are production systems with their own roadmaps and dev cycles, and many are cloud-based solutions with regular release cycles, a cert that says "this once was compliant many moons ago" is of limited value :)

Ideally the test suite cert is outputted directly to cloud storage and hosted on a relevant domain. One idea was to make this native to the test suite itself, so that it could optionally output to Azure or Amazon S3 if it was given the right keys - though the other side of the argument is that's it's just a few lines in a CI script so doesn't add much value. Do you think you'd find that helpful?

@nickevansuk
Copy link
Contributor Author

(See here for an example for Azure in GitHub CI)

@drinkynet
Copy link

Is compliant with version xyz of the spec, is a little different to 'was compliant many moons ago', but I get your point.

The constant daily/weekly dev cycle pattern isn't in play here. And since CI runs when a change happens, the cert can expire before the next change happens if the changes are infrequent enough and the test suite updates enough.

I'll schedule a re-run of the tests on the latest suite. Not implementing the test data creation hooks is going to bite me here isn't it :)

@nickevansuk
Copy link
Contributor Author

Interesting - I wouldn't have thought the test suite would update frequently enough for that to be the case, let's see.

Haha - hopefully not! I know Playfinder/Bookteq do a database restore before each CI run so that could be something to consider

@nickevansuk
Copy link
Contributor Author

nickevansuk commented Feb 23, 2023

Also super minor but the "Discussion" link should go to:

Rather than:

And the validator / test suite would have let you know about this, but the URLs in the config should be absolute rather than relative: https://validator.openactive.io/?url=https%3A%2F%2Fapi.premiertennis.co.uk%2Fopenactive&version=2.0&validationMode=RPDEFeed

@drinkynet
Copy link

Cool on the Discussion URL, which links should be relative?

@nickevansuk
Copy link
Contributor Author

Sorry typo, see above. Should be absolute rather than relative!

@drinkynet
Copy link

fixed

@nickevansuk
Copy link
Contributor Author

Just reviewing this now, looks like it's pretty much there - as above super minor but the "Discussion" link should go to:

https://github.com/Courtside-Hubs/OADatasetSite/issues

Rather than:

https://github.com/Courtside-Hubs/OADatasetSite

I've also raise openactive/data-catalogs#31 on your behalf - assuming you're happy with the bottom two tick boxes in there?

@drinkynet
Copy link

I thought I'd fixed the issues link, will go and see what's up

@drinkynet
Copy link

The discussion buttons now have the correct links

@nickevansuk
Copy link
Contributor Author

Looks great!

Remaining issues appear to be:

  1. Some gaps in the data feat: Add Premier Tennis data-catalogs#31 (comment)
  2. Certificate needs regenerating

@nickevansuk nickevansuk moved this from 👀 In Review to ✅ Certified and Live in OpenActive Implementation Tracker Aug 4, 2023
@nickevansuk
Copy link
Contributor Author

nickevansuk commented Aug 4, 2023

Can confirm both remaining issues above are now complete, with a new certificate generated 🎉 : https://api.premiertennis.co.uk/openactive/certificate

@github-project-automation github-project-automation bot moved this from 🔖 Ready to ✅ Done in OpenActive Infrastructure Aug 4, 2023
@github-project-automation github-project-automation bot moved this from ✅ Certified and Live to 👀 In Review in OpenActive Implementation Tracker Aug 4, 2023
@nickevansuk nickevansuk moved this from 👀 In Review to ✅ Certified and Live in OpenActive Implementation Tracker Aug 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Open Booking API implementation Publishing open data and implementing the Open Booking API
Projects
Status: Certified and Live
Archived in project
Development

No branches or pull requests

4 participants