Duration: 2hrs
We need some way of storing flag clicks associated with a collection and then be able to filter against them.
Review the tasks this blocks and find a solution that satisfies them all.
Outcome:
A proposal for how to implement this.
Proposal:
- DB schema:
- new table gather_list_flags(user_id, user_ip, collection_id) (user_id is null for anons, user_ip is null for non-anons).
- flag count query does not need to be efficient for now, we'll check first how much flagging happens
- new value for gl_perm: CLEARED
- new table gather_list_flags(user_id, user_ip, collection_id) (user_id is null for anons, user_ip is null for non-anons).
- Hooks:
- on editing name/title of a list ???
- delete flags on list deletion
- update user id on user merge/rename
- API:
- mode=flag/clearflags for editlist (with duplicate userid/IP detection for flag)
- filter=notablyflagged option for the listpages API (>N flags and gl_perm state is PUBLIC)
- flagged property in the lists API (current user/IP flagged this)
- this will disable caching, is that OK?
- flagCount property in the lists API (?)
- Special pages:
- Special:Gatherlists/flagged to show the flagged queue



