管理人员指南
本章将介绍管理员使用评测系统中遇到的各个界面的组成及其功能。
全局管理指南
如果您是全局管理员,本小节将介绍如何使用全局管理功能。否则,请跳到下一小节。
全局管理首页
在全局管理首页,可以查看当前的 AOI 版本号和最新的 AOI 版本号,若版本不一致则可以通知运维人员升级版本。
全局用户管理
本页面可以查看 AOI 系统中注册的所有用户,并快速进行如下操作:
点击铅笔按钮:编辑用户能力(是否拥有全局管理权限、是否可以创建组织)
点击设置按钮:跳转到用户编辑页面,可以编辑用户的个人信息。
同时,可以在 Search 文本框内输入关键词并回车以搜索用户。
全局设置
杂项设置页面内容如图。
各节功能如下:
海报设置
用于指定首页的海报卡片上的图片。可以增加、删除海报图片,以及修改海报图片的 URL。
注意,评测系统目前不支持直接上传图片,需要通过以下两种方式上传图片:
使用支持 S3 协议的软件(如 WinSCP)上传图片到 OSS,并允许公开访问。
将海报图片上传到外部图床以使用。
友情链接设置
用于设置首页上友情链接卡片的内容。可以增加、删除友情链接,以及修改友情链接的标题和 URL。
默认组织 ID
用于指定加入哪个组织。若'默认组织 ID'对应某个存在的组织,我们将新注册用户默认加入到该组织;否则,新注册用户初始不加入任何组织。
公告管理
在普通用户可以查看公告的基础上,管理员还可以对公告进行管理。
新建公告
如图,在公告列表中,管理员可以在右上角点击'+'按钮以添加公告,填写标题、日期和是否公开的字段即可创建新公告。
管理公告
如图,在公告内容的页面中,管理员可以点击右上角的齿轮按钮来进入当前公告的管理页面。
管理页面如下图,其提供了以下功能:
- 对公告的标题、日期和是否公开字段进行修改。
- 修改公告的正文内容,格式为 Markdown。
- 删除该公告。
组织管理指南
如果您是组织管理员,本小节将介绍如何使用组织管理功能。否则,请跳到下一节。
组织管理
在菜单栏点击"管理"进入组织设置,如上图所示。
档案管理
如上图,可以设置组织的名称和头像邮箱(Gravatar)。
组织设置
如图,在设置页面可以配置组织使用的 OSS 信息。
成员管理
如图,可以增加用户到组织,或者编辑已有成员的组织权限。
评测机管理
点击注册按钮,弹出窗口将显示注册评测机(以及排行机)用的 Token。
可以在表格中查看所有注册的评测机和排行机的信息,并可以使用每行末尾的铅笔按钮编辑对应机器的名称和标签。其中,"访问于"列若为红色,则对应机器已经离线,需要排查。
批量导入
在该页面可以上传一个包含用户信息的表格,上传后将自动注册对应用户并加入组织中。
题目管理
新建题目
{width="1.4270833333333333in" height="1.9337171916010498in"}
在菜单栏右上角点击加号,并选择新建题目。
选择权限等级,输入题目标题和编号后即可创建。创建后可以编辑题目内容。
题面管理
在设置中的内容标签可以管理题面的内容,包括标题、编号、内容和标签。
其中,内容支持 Markdown。可以在编辑器右上角选择代码模式、分页模式和查看模式,编辑并实时预览渲染结果。
附件管理
题目可以有多个附件。附件可以由用户下载。
在上半部分的列表可以下载或删除附件。
在下半部分的表单中,可以上传附件。曲别针对应的输入框可以选择文件。Key 是文件生成的 url 中的最后部分。名称和描述将在附件列表中对应显示。
数据管理
一个题目存在多个数据版本。数据版本使用数据的 SHA256 哈希值表示,并可以在创建时指定简短的数据描述。
可以在上半部分的列表
- 点击勾按钮把数据版本设置为当前题目使用的版本。
- 点击下载按钮下载数据。
- 点击删除按钮删除数据版本。
- 点击眼睛按钮查看数据版本细节。
在下半部分的表单中,可以选择使用简单模式或者高级模式。
使用简单模式时
- 点击曲别针图标的输入框上传数据
- 将自动计算哈希值,并解析数据配置
- 输入描述并点击上传即可
使用高级模式时
- 点击曲别针图标的输入框上传数据
- 手动输入哈希值
- 手动输入题目配置
- 输入描述并点击上传即可
题目设置
常规设置
在本界面可以设置:
- 题目是否允许公开提交(若不允许,则仅允许具有 CAP_SUBMIT 题目权限的用户或用户组提交)
- 题目的最大提交记录数量。用户最多只能提交设定的数量。若不设定,则不限制。
- 题目的权限等级。
同时,具有如下操作:
- 提交所有解答:设置所有的提交状态为"已提交"并更新提交时间(不推荐使用)
- 重测所有解答:重新评测已经提交的解答,不会更新提交时间(推荐使用)
- 其中,重测具有固定重测、拉取重测两个模式,对应如下两个图标
固定重测:提交时,题目的数据是什么就用什么数据评测
拉取重测:重测时,题目的数据时什么就用什么数据评测
- 其中,重测具有固定重测、拉取重测两个模式,对应如下两个图标
- 删除题目。注意:删除题目可能有副作用!
访问控制
比赛管理
比赛管理中,新建比赛、比赛描述、附件管理、访问控制类似于题目管理,在此不再赘述。下面介绍比赛专有的管理功能。
比赛题库管理
管理员可以在"题库"选项卡中添加一道题目到比赛中,操作如下:
如图,在"题库"选项卡下,点击侧边栏的"新建",进入添加题目页面。
页面中需要填写的字段说明如下:
- ID,即为需要添加的题目的 uuid。
- 编号,是需要添加的题目将在题目中拥有的编号,如侧边栏中,"A. 排名"代表的就是比赛中编号为"A",标题为"排名"的题目(编号可以不唯一,但不推荐)。
- 得分,指定了该道题目在比赛中的满分分值。选手的原始分数会照此按比例折算,再计入总分。
- 提交记录数量限制,指定了选手对这道题的最大提交次数。
- 在......时之后显示,指定这道题将在什么时刻开始对比赛选手可见。
点击"添加"按钮,即可将题目添加到比赛中。
管理员还可以将某道题目从比赛中删除。如图,在"题库"选项卡下题目的管理页面中,点击"删除"按钮,即可将题目从比赛中删除。
其中,"提交所有解答"和"重测所有解答"的操作参见题目管理部分,不再赘述。
排行榜管理
管理员可以在"排行榜"选项卡中新建一个排行榜,操作如下:
如图,在"排行榜"选项卡下,点击侧边栏的"新建",进入添加题目页面。
页面中需要填写的字段说明如下:
- Key: 用于在比赛中标识一个排行榜,要求比赛中的所有排行榜 Key 值不同。
- 名称: 排行榜的标题。
点击"添加"按钮,即可添加对应的排行榜。
在对应的排行榜页面中,管理员可以进入"设置"选项卡,对该排行榜进行配置,如图。
其中的字段说明如下:
- 在......之前/后显示,指定此排行榜对比赛选手可见的时间段。
- 排行榜配置与采用的排行器有关。目前支持的排行器有
- https://github.com/fedstackjs/azukiiro 评测机自带的 Ranker 实现。不推荐。
- https://aka.fedstack.org独立的 Ranker 实现,支持多种排行榜,推荐使用。
- 具体的排行榜配置格式详见排行器的文档。
- 是否公开:
- 首次发布该排行榜时,点击"发布"按钮,可以生成路径形如/rk/[public-ranklist-id]的排行榜页面,供非参赛者查看排行榜。
- 排行榜发布后如图,会显示公开排行榜的路径,以及选择是否公开排行榜的复选框。该复选框控制该公开排行榜页面是否启用,但不改变已经分配好的路径。
- 导出,将此排行榜导出为 xlsx 格式。
- 删除,用于删除此排行榜。
参赛选手管理
参赛者列表
如图,参赛者列表页面会显示参赛者的昵称,头像以及参赛标签。参赛标签会在排行榜等显示,以区分不同属性的参赛者。
参赛者详情
在参赛者列表中,点击用户昵称,跳转到参赛者详情页面。
在该页面,可以编辑参赛者的标签,也可以转到其提交列表和用户页以查看。
参赛者管理
参赛者管理页可以上传一个 xlsx 表格,其中包含希望设置的参赛者信息,目前支持批量设置参赛者的 Tag。
高级重测与排行榜更新
在比赛的常规设置中增加了高级重测功能和排行榜手动更新功能。
高级重测功能:
- 在"重测所有解答"表单中,可以输入重测的条件。若图标显示为空集,则表示不使用对应的条件。
- 提交所有解答类似于题目的功能,会更新解答的提交时间,因此不建议使用
- 建议在 OI 制比赛中使用
排行榜手动更新功能:
- 点击更新排行榜,将手动更新排行榜
- 手动更新有两个模式:
固定更新模式、
重置更新模式
- 点击切换重置运行器切换模式
- 固定更新模式下,计算排行榜的排行器不会更换。反之,可能会分配新的排行器。
- 手动更新有两个模式:
- 最下面的三个标签显示了当前的排行榜信息,分别是
- 排行榜状态:Pending 等待排行器计算、Valid 排行榜为最新、Invalid 排行榜非最新
- 排行榜更新时间
- 分配的排行器 ID
传统比赛赛制与比赛阶段的对应
OI
比赛阶段 | 启用注册功能 | 允许公开注册 | 启用题目 | 题目显示标签 | 启用提交记录 | 允许提交 | 允许展示他人提交记录 | 允许展示提交记录细节 | 允许展示他人提交记录细节 | 允许展示他人提交记录数据 | 启用排名 | 启用参赛者 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
比赛前 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
比赛中 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
比赛后 | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
IOI/ACM
比赛阶段 | 启用注册功能 | 允许公开注册 | 启用题目 | 题目显示标签 | 启用提交记录 | 允许提交 | 允许展示他人提交记录 | 允许展示提交记录细节 | 允许展示他人提交记录细节 | 允许展示他人提交记录数据 | 启用排名 | 启用参赛者 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
比赛前 | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
比赛中 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
比赛后 | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ | ✅ |
其中,ACM 比赛需要创建两个排行榜,分别对应封榜前后的排行榜,并分别设置排行榜参数。
计划管理
计划管理中,新建计划、计划描述、访问控制类似于题目管理和比赛管理,在此不再赘述。下面介绍计划专有的管理功能。
计划内比赛管理
计划是比赛的集合。每个计划都包含了一个比赛的列表,其中一些比赛必须满足特定条件才能注册(这也意味着,对于可以访问计划的用户,需要允许他们查看比赛,但不能允许他们直接注册比赛,也即需要关闭"允许公开注册"选项)。
添加比赛
添加比赛时可以指定比赛的前提条件。所有前提条件均满足,才允许报名对应的比赛。
可以设置前置比赛的最小得分(每题取最后)以及单题最低得分(取最后)。
管理比赛
类似于添加比赛,可以修改前置条件,并在计划的比赛列表中删除比赛。