题目、比赛和提交的隐藏、评测限制问题
异想之旅王子
题目、比赛和提交的隐藏、评测限制问题
隐藏
为方便管理,题目、比赛和提交均设有隐藏模式,分别可在题目和比赛的编辑界面以及提交评测的界面进行设置。题目和比赛在创建后仍可修改,评测提交后不可修改。
隐藏的内容在列表中展示时会在 ID 后面标注星号。
为方便后文描述,做出如下名词约定。对于多个渠道获取的多个权限,取并集。
- 可见:用户可在列表中找到此内容,且可以查看详情
- 不可见:用户无法在任何情况下看到内容
TIP
即使对于普通用户,隐藏也不等于不可见。例:比赛C包含被隐藏的题目P,若用户U参与了该比赛,则P在比赛开始后仍处于隐藏状态,而对U却可见。所标注的表示隐藏的星号仅用于提醒当前用户,其他用户可能无法看到该资源。
通常情况下,所有资源对管理员可见;对于非管理员,隐藏的题目和比赛不可见,隐藏的提交对除提交者外的其他用户不可见,除此之外的资源均对所有人可见。但存在下述例外情况(以下例外的优先级强于内容本身设置的是否隐藏属性):
- 题目
- 题目被包含在某场比赛中,且该用户为该场比赛的参与者,且该比赛处于“进行中”状态,则题目对该用户可见
- 比赛
- 比赛对比赛的所有参与者可见
- 特别说明的是,比赛开始前,除管理员外的所有用户无法查看比赛包含的题目(只是不知道比赛中有哪些题,并不是比赛包含的题目变成了不可见状态)。该限制与题目和比赛的可见状态无关。
- 提交
- 当一个题目(从逻辑上这是显然的,但事实上后端代码的漏洞在2023.9.23才修复)
- 如果提交关联的题目处于隐藏状态或隐藏提交状态,则提交对提交者外的用户不可见
- 如果某个提交所关联的题目属于目前正在进行中的某个比赛,则该提交仅对提交者可见。该限制与题目、评测和比赛的可见状态无关。
- 讨论
- 关联题目
- 题目处于隐藏状态或设置了隐藏讨论,则讨论不可见
- 关联比赛
- 比赛处于隐藏状态、设置了隐藏讨论或正在进行中,则讨论不可见
- 关联题目
管理员不受任何规则限制,可查看所有资源。该权限具有最高优先级。
另外特别说明的是,我们于最近的更新中加入了强制隐藏所有提交的功能,可在站点设置中开启。该选项的功能是强制为所有提交设置隐藏,效果与在提交界面手动勾选隐藏相同,因此若先开启后关闭,则关闭前的提交不会取消隐藏,需要手动修改数据库。
评测限制
手动开启
考虑到部分场景可能遇到的,需要在某段时间限制某道题目评测的需求,加入此功能。在题目编辑页面可开启。
自动开启
当题目没有上传测试数据(检测依据为测试点配置信息列表长度为0)时,默认限制评测。
TIP
为了方便测试,只要题目包含评测数据,管理员对上述任何一种形式的评测限制具有豁免权。