thewca / worldcubeassociation.org

All of the code that runs on worldcubeassociation.org
https://www.worldcubeassociation.org/
GNU General Public License v3.0
330 stars 176 forks source link

Boosted incidents log #2538

Open viroulep opened 6 years ago

viroulep commented 6 years ago

Issue for myself to track neat features that can wait until the "core" (#1862) of incidents log is merged.

Kind of sorted by order of priority.

Feel free to give any idea related to making the incidents log better, especially if that would make it easier for Delegates to find precedents when they look for one!

Laura-O commented 6 years ago

Some comments/ideas:

viroulep commented 6 years ago

For internal purposes, it could be helpful to see the original author of an incident.

(I assume we're talking about authors as in WRC members here) Right, the easiest approach I can think of now is to register some "created_by" and "resolved_by" to go with the "created_at"/"resolved_at" fields. And then display this info if present on the "show incident" view. Sounds good?

We need to discuss what to do with "outdated" incidents, i.e. with incidents which would be ruled differently later because the regulations changed. The most awesome way to deal with these cases might be to add a marking to tags when they were created before the latest change of a regulation.

Sounds pretty hard to handle all cases correctly and automatically :s Lets take the example of 3h1 which changed from banning pillowed puzzle to permitting pillowed puzzle; we would have several tags with the same name but that would actually be different. But for some other rule changes it would be fine to keep the "old" tag because it may just be a change in the wording.

Since it's possible to filter by tag, another possibility is to gather all the regulations/guidelines ids which changed in an incompatible way, filter the incidents on this list, and implement some "mark incident as outdated" feature. I have trouble finding a way to avoid a human action here :(

viroulep commented 6 years ago

Let me correct myself:

we would have several tags with the same name but that would actually be different.

we already have per-incident tags, so it's perfectly fine to deprecate a single tag.

So I think we can have a scenario where we give a list of tags to deprecate, and we mark them as deprecated. On the incident we can display if it's deprecated, because of which tag, and when it got deprecated.

Laura-O commented 6 years ago

(I assume we're talking about authors as in WRC members here) Right, the easiest approach I can think of now is to register some "created_by" and "resolved_by" to go with the "created_at"/"resolved_at" fields. And then display this info if present on the "show incident" view. Sounds good?

Yep, sounds good.

So I think we can have a scenario where we give a list of tags to deprecate, and we mark them as deprecated. On the incident we can display if it's deprecated, because of which tag, and when it got deprecated.

Yes, that sounds good as well. I think it's important to have any kind of marking to give people a hint that they should not take an incident as precedent. In an ideal scenario, the incident log will be used by delegates during competitions and this could lead to some weird situations when someone finds an old decision, adapts it and we later realize regulations have changed.

AlbertoPdRF commented 6 years ago

Also, I think it would make sense to order incidents by the last competition they happened in.

Ivan-Brigidano commented 5 years ago

Would it be possible to mark if the guideline is an ADDITION, CLARIFICATION, EXPLANATION, RECOMMENDATION, REMINDER or EXAMPLE?

Captura de pantalla 2019-09-13 a las 19 51 21
viroulep commented 5 years ago

Unfortunately this information is not (yet) exposed by the regulations compiler, but it is present in the parsed AST (see here), so it should just be a matter of extending the json code generation here to include a new "label" entry in the returned object.