-
Notifications
You must be signed in to change notification settings - Fork 1
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
Update structure to be much more conformant to the validator #11
Comments
@lukehesluke looks great! Just a couple of additions... There is a new virtual events requirement for So the above would look something like this (using the preferred
Additionally, to pass validation properties with values that are empty arrays and empty strings must be omitted. |
Hi @jopotts, We thought it might be helpful to split @lukehesluke's suggestions into 3 categories ("Simple re-names / moving fields around", "Logic changes" and "Nice-to-haves") to make it easier for you. Hopefully this will save you time and allow you to focus on those quick-win changes ("simple re-names / moving fields around" - maybe <30 mins total time?) that will bring your feed more inline with the Spec. and allow your virtual classes to be advertised across user-facing platforms. Simple re-names / moving fields around(we estimate <30 mins total time for all of these) For
|
@gregjoy1 as discussed issues below: 1 Split into three feedsSo there should be three feeds here: a
2
|
@gregjoy1 just reviewed the latest feeds, great work so far! Fresh feedback below: 1 Use
|
Hi @nickevansuk, @domfennell and @lukehesluke, thank you all for helpfully and clearly setting out these requirements, sorry for the delay in responding to them. We have recently released the requested updates :) The only thing not included is 3, this is because the JSON serialiser we use at Bookwhen always casts decimals as strings - https://apidock.com/rails/BigDecimal/as_json It appears the OA Gem also has the same constraint as it also returns strings for decimals - https://github.com/openactive/models-ruby Is it possible to quietly still consume it considering its known to be a decimal? :) Also are these changes enough for us to be consumed in your universal feed reader yet? :) |
Thanks @gregjoy1! Will take a proper look after the dataset site is updated too. However one quick thing, free activities (where
|
Hi @nickevansuk, @domfennell and @lukehesluke, the updated the dataset site can be found here - https://data.bookwhen.com/ :) |
Great work @gregjoy1 - one small note: you seem to be using a background image hot-linked to another dataset site (https://data.better.org.uk/images/bg.jpg). Perhaps replace it with something hosted on your own CDN? There's a great selection or relevant free images here: https://unsplash.com/photos/gJtDg6WfMlQ |
Also please feel free to delete this old repo: https://github.com/bookwhen/openactive-datasite, so that it's easy to see from the forks that you've migrated successfully. |
Hey @gregjoy1, so this round of feedback is by way of extracts in the validator. Please address the errors shown in the validator for each of the following:
Note: It's fine to keep those items in that are missing Will have a think about about the issue with |
Thanks @nickevansuk, il get this into an upcoming sprint :) |
I recommend closing this issue, as all issues listed above have been checked and are resolved (except for |
Hi @jopotts ,
Thanks for our call earlier. Further to that, here's some notes about how you might update your feed to be sufficiently conformant so that the feeds can be ingested by our "universal" adapter which should hopefully be quick wins.
I've included an example for a SessionSeries with a Schedule at the end, which might be easier to digest than a big list of changes
Changes
For
event_type
in general:kind
:SessionSeries
data.type
:SessionSeries
data['@context']
to equal:data.offer
->data.offers
"type": "GeoCoordinates"
todata.location.geo
data.id
usingdata.identifier
and the feed's URL.e.g. if the SessionSeries feed is hosted at https://bookwhen.com/api/openactive/session-series, and a SessionSeries' identifier is
pysafz84ka8v
, theid
should be:For an
event_type
with a recurrence rule.eventSchedule
out of subEvent and into the top level of the SessionSeries. (this might be easier to see if you look at the example at the bottom of this description)duration
out of subEvent and into theSchedule
item.Schedule
item:repeatFrequency
instead offrequency
andinterval
. e.g.frequency: weekly & interval: 1 =>
"repeatFrequency": "P1W"
beta:urlTemplate
into theSchedule
item.Validator will not recognise this field but, for now, we'll accept it. There is a
urlTemplate
field for Schedules (https://www.openactive.io/modelling-opportunity-data/#publishing-event-schedules)but it has a different format so I imagine this would be a big change
subEvent
,subEvent
can just be deleted. It is not needed for a SessionSeries with a ScheduleFor an
event_type
with just one occurrence:"type": "Event"
to"type": "ScheduledSession"
For an event:
"type": "Event"
to"type": "ScheduledSession"
superEvent
, so that it is the URL ID of the SessionSeries that is this ScheduledSession's parent. Use the method described above for a SessionSeries'.data.id
to construct this ID.e.g. where, before, the superEvent was:
Example
This is a SessionSeries with a Schedule. This is how it looks presently:
This is how it would look with the changes detailed above:
The text was updated successfully, but these errors were encountered: