-
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
Epic: Data Validator v0.1 #1
Comments
This is a first stab at writing an Epic to define the scope of the project. I’d like to draw your particular attention to the long (but not exhaustive) list of the more complex rules that will need to be validated against. Mel and I discussed these this morning, and felt that each rule that we’re aiming to validate against should be defined as early as possible, to prevent scope creep and for transparency. Most of these are derived from Nick’s issues, which I’ve linked to. In some cases, some discussion needs to be had about where the issues actually come from, as I’ve been unable to find a further source to justify the rule. For example, “Latitude and longitude should be to at least 4 decimal places” seems good practice, but it’s not recommended anywhere outside Nick’s issue. We don’t want to surprise developers with extra rules that only exist within the validator (even if they’re simple guidance). Once we’ve agreed the stories, we can split out into issues, and prioritise and size using the project I’ve created. Any comments / additions / deletions would be greatly appreciated |
Couple of comments, you have:
Should we distinguish between type checking (which would be JSON type checking array, string, number, etc) and format checking (which might be validating a string is a URI, a date, etc) Suggested addition:
For the more complex rules I agree that we need to refine these to ensure they're agreed before proceeding too far. Nick has proposed these but they've not had much review yet. Not all will necessarily make it into the specification as that's not the place to record common errors. Some of the rules are straight-forward as they're basic data hygiene issues, e.g. removing trailing commas. Some need to be re-framed, e.g. lat/longs should have a reasonable precision, within the scope of what data is available. And some (like MultidayEvent) we may not do, or defer to later I'm planning to work through some of these as part of improving the validation rules for the v2.0 specification. To help prioritise your time, my suggestion is to
We may not get to all of them and we may identify other checks that we want to do instead. For example I think there's some around making events "bookable", checking nesting of subEvents, etc. |
From Mel:
|
Thanks both for comments. @ldodds - RE: categories of error/warning. We could have: Severity
Category
When we finalise the rules we'd like to implement, we should be clear about the severity and category of error that they should generate. RE: Strategy - I agree with that approach. If the rules engine is extensible as per spec, we don't need a complete list of rules up-front |
Key Stakeholders
Leigh Dodds (ODI), Melanie Abraham (ODI), Pete Walker (imin), Nish Desai (imin)
Scope
Out of Scope
User Stories
Roles
Artifacts
Stories
Library
duration
should not exceed the interval betweenstartDate
andendDate
duration
should not exceed parent Eventduration
startDate
should not be beforeendDate
startDate
andendDate
should not be outside parent EventstartDate
andendDate
isAccessibleForFree
for universally free events (Include isAccessibleForFree for universally free events openactive-archive/developer-microsite#28, Describing free events, advanced booking requirements, etc modelling-opportunity-data#98)ageRange
, at least one ofminValue
ormaxValue
must be supplied (For ageRange, at least one of minValue or maxValue must be supplied openactive-archive/developer-microsite#27) (SOURCE?)endDate
orduration
for zero duration (Do not include endDate or duration for zero duration openactive-archive/developer-microsite#26, Handling zero duration modelling-opportunity-data#96)duration
should not contain day component, unlessMultidayEvent
(duration should not contain day component, unless MultidayEvent openactive-archive/developer-microsite#25, Holiday camps and bootcamps modelling-opportunity-data#94)level
should be included wherever possible (Include level wherever possible openactive-archive/developer-microsite#20) (SOURCE? - The standard marks this as OPTIONAL rather than RECOMMENDED)postalAddress
should containstreetAddress
,addressLocality
,addressRegion
,postalCode
andaddressCountry
(Missing details in the PostalAddress may result in the event not being listed in Google Reserve openactive-archive/developer-microsite#19) (SOURCE? - This seems to simply be to satisfy Google)MultidayEvent
(For multi-day events, such as holiday camps, use MultidayEvent openactive-archive/developer-microsite#17, Holiday camps and bootcamps modelling-opportunity-data#94)offer
property should be nameoffers
(common typo) ("offer" property should be named "offers" openactive-archive/developer-microsite#16)price
should always be a string with 2 decimal places (Price should always be a string with 2 decimal places openactive-archive/developer-microsite#15, Price should always be a string with 2 decimal places modelling-opportunity-data#92)programme
should be used instead ofsuperEvent
when the information relates to a programme ("programme" should be used instead of "superEvent" when the information relates to a programme type openactive-archive/developer-microsite#13)programme
should be used in combination withactivity
for context (Use "programme", in combination with "activity" openactive-archive/developer-microsite#12) (SOURCE? - This is not recommended in the spec yet)givenName
should not be two words, if nofamilyName
is provided consistently, and vice versa.name
should be used instead to represent full name (givenName should not be two words, if no familyName is provided consistently, and vice versa. "name" should be used instead to represent full name. openactive-archive/developer-microsite#11) (SOURCE? - This is not recommended in the spec yet)name
,streetAddress
,addressLocality
andaddressRegion
must not have trailing commas ("name", "streetAddress", "addressLocality" and "addressRegion" must not have trailing commas openactive-archive/developer-microsite#7) (SOURCE? - This is not recommended in the spec yet (although no schema.org example has trailing commas))UI
Non Functional Requirements
The text was updated successfully, but these errors were encountered: