https://bugzilla.wikimedia.org/show_bug.cgi?id=39038
Brad Jorsch <bjor...@wikimedia.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bjor...@wikimedia.org --- Comment #5 from Brad Jorsch <bjor...@wikimedia.org> --- (In reply to Technical 13 from comment #4) > Technically, I think to implement this, each protection level would have to > be given it's own column in the table with an expiration date That's not actually how the existing page_restrictions table is structured. What would probably have to happen is that they unique index would have to change from (pr_page,pr_type) to (pr_page,pr_type,pr_level). And then various bits of code would need to be adjusted to deal with this. > and the highest level of non-expired protection would be applied. It's not necessarily possible to decide that one protection level is "higher" than another. For example, you probably know that enwiki created a new "templateeditor" protection level. What if enwiki decided they also wanted a special protection level for policy pages, and created a "policyeditor" protection level.[1] Which would be higher, "templateeditor" or "policyeditor"? So what would have to happen is that a page with multiple protection levels active at once could be edited only by editors who could edit through each protection level individually. There does seem to already be some support along these lines in the code, for example Title::getRestrictions() is defined to return an array of restrictions and Title::checkPageRestrictions() checks whether the user is allowed to edit through all of them. But I don't know for sure whether everything everywhere will correctly handle it. And despite Title handling multiple restriction levels for an action, there's doesn't seem to be support for the different restriction levels expiring at different times (e.g. Title::getRestrictionExpiry() assumes there's only one relevant time). And then there are the UI issues too, with making a sensible protection form dealing with different restriction levels expiring at different times. [1]: Yes, this example is *incredibly* unlikely. But it illustrates the point. -- You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug. _______________________________________________ Wikibugs-l mailing list Wikibugs-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikibugs-l