Topic on User talk:Daniel Kinzler (WMDE)/MCR slot inherited

Tgr (WMF) (talkcontribs)

(sorry, it was getting hard to follow)

Hard revision deletion seems like a lost cause to me: it breaks the fundamental assumption in MediaWiki that an edit is the difference between two neighboring revisions, so no matter how you mark changes there will be weird edge cases. What would help there is always knowing what the parent slot was (ie. the slot that got edited resulting in the content of the current slot), but in the current schema parents are on the revision level, not the slot level, and in case not tracked fully reliably.

I wonder if it would make sense to change that? Ie. have slot_parent instead of slot_inherited/slot_origin, put in the ID of the last revision in which the slot had a different value (or maybe the ID of that slot, in case we expect some kind of move operation between different slot roles of the same page, so "diagonal" parent relationships might make sense), and use parent slot ID == parent ID of the revision to detect changes. (Although that would require revision parent IDs to be reliable.) The nice use case here would be that we could show a warning when a diff is fake (the parent revision got hard deleted, so the diff is misattributing the union of multiple edits to the user who made the last edit). I don't think that's possible with either slot_inherited or slot_origin.

Daniel Kinzler (WMDE) (talkcontribs)

Hi Tgr! I think slot_origin is functionally equivalent to "put in the ID of the last revision in which the slot had a different value". With slot_origin, you would use slot_origin = slot_revision to detect changes; with slot_parent, I'm not sure how to detect changes... slot_parent = rev_parent?

With slot_origin, you can warn if the diff between two consecutive revisions is "fake" if the slot is different between new and old revision, but slot_origin != rev_id on the new revision.

I don't think we will ever have "diagonal moves" between slots.

Tgr (WMF) (talkcontribs)

slot_parent = rev_parent, yeah. slot_origin != rev_id is not really useful for that: if e.g. edit 1 changes the wikitext and adds some vandalism, then edit 2 changes the wikitext elsewhere and adds some normal content, then edit 1 gets hard deleted, then the author of edit 2 is now shown as having vandalized the page, and slot_origin will only tell you that the current content of the slot was created in edit 2 (which is true).

Reply to "Outdent"