跳转到主要内容
lurno
全部文章
博客

Canvas 替代方案:写给已经超出学期制的机构

Canvas 假定有学期、有名册、有成绩单。如果你做的是继续教育、客户学院或商业培训业务,该怎么办。

The Lurno teamAugmental阅读约 1 分钟

Canvas 的设计核心是:一个有起止日期的学期、一份来自学生信息系统的名册,以及一门以成绩收尾的课程。继续教育、企业合作、商业培训业务和客户学院,这几样一样也没有:报名是滚动的,班级是一家公司,终点是一张证书,参与的人也不是在册学生。处在这个位置的机构,通常需要的不是一个更好的 LMS,而是第二种形态。

学期—名册模型

一种把校历和注册记录当作系统组织事实的设计。课程装在学期里,人装在学籍名录里,访问权限按课程负责人以外的人所设定的日期开启和关闭,完成则归结为一个成绩。Canvas 长成这个样子,是因为这正是一所授予学位的机构真正需要的。

学期—名册模型在一个普通周二是什么样

这个模型是隐形的,直到你打破它的某个假设。假设大约有五条,每一条都合情合理:

  • 注册数据成批到达,在课程开放之前,来自一个不归你管的系统记录源。
  • 每门课都有结束日期,收尾工作由结束日期来做——权限失效,成绩册关闭,教学班归档。
  • 一个人首先是这所机构的学生,其次才是某门课的参与者。
  • 进度是对着教学大纲给出的一个成绩,而这个成绩的去处是成绩单。
  • 内容逐学期向前复制,所以“那门课”其实是一串名字里带着年份、彼此几乎一样的副本。

现在改动一个输入。某家客户企业的设施经理在一个周二下午报名了一门六小时的合规课程。她需要在一分钟之内拿到访问权限,而不是等到学期第一个周一。她当晚会做完两个模块,剩下的分三周做完。没有人会给她打分;她需要的是一张她雇主的审计方能核验的证书。她不在学籍名录里,将来也不会在。

在一个学期形状的系统里跑这件事是可行的,很多机构也确实在跑。你建一个永不结束的学期和一个长期开放的课程壳,于是成绩册永远不关,归档任务永远不触发。你手工报名,或者靠某台服务器上一个由一个人维护的脚本。你另外维护一张表格记录谁在什么时候开始,因为报表是围着学期组织的,而你的学期不结束。你为每家客户复制一份课程,因为客户的名字总得出现在某处,而没有别的地方可放。

每一个变通都很小,每一个都管用。真正的代价是:两年之后,这些变通就是你的运营模式,而知道它们如何拼在一起的那个人,已经变成了承重结构。

能用 Canvas 做企业培训吗?

能,很多机构也在这么做。摩擦很少来自缺了某个功能——而是平台的默认设定假定了学期、学籍名录和成绩,于是每一个滚动报名、带客户品牌、以证书收尾的项目,都是绕开这些默认设定搭出来的。一个项目这样做还撑得住,二十个就很贵了。

四种装不进去的形态

继续教育与职业发展

滚动招生,短课程,学员没有学籍,付钱的是雇主而不是学生,完成的表达是证书而不是学分。报表的问题也换了形状:不再是“这名学生拿了多少分”,而是“这家雇主有多少员工在审计日之前完成了必修模块”。

企业合作

一所大学把一个领导力项目卖给一家银行。银行的 HR 团队想看到自己的人,而且只看自己的人;想让自己的品牌出现;想要每月一份报表;还想让员工从自己的 HR 系统进来,而不是由你的教务处添加。这些都是租户层面的问题,而任何课程配置都回答不了一个租户层面的问题。

商业培训业务部

独立的损益表,独立的定价、开票和增值税,还需要跑得比学术变更管理的日历更快。这个部门通常想要自己的品牌,而不是大学的品牌,因为它面对的是拿它和商业培训机构作比较的采购团队。

客户学院

这是最能把学期制平台压垮的形态。一家企业学院在一个租户里为 15 家客户企业做培训,需要每家客户有自己的品牌、自己的管理员、自己的学员名单,而且看不到任何其他客户。这不是 15 门课,而是 15 个恰好共用一个运营方的组织。

机构需要多租户,还是子账户就够了?

子账户把一所机构分成若干部门,这些部门共用一个品牌、一个域名和一套管理文化。多租户隔离的是除了运营方之外什么都不共用的组织——各有自己的品牌、自己的域名、自己的管理员,隔离在应用层之下强制执行,所以某个查询里漏掉的一个过滤条件,不会把一家客户的学员泄露给另一家。如果你的各个分部在登录页上显示的是同一个名字,子账户就够了。如果显示的是不同的名字,就不够。

换主题不等于白标

评估在这里出错,因为这两个词在销售电话里都会得到“可以”。换主题指的是颜色、logo、字体和一些 CSS。白标指的是一个人用这个平台用满一年,从来不会撞见一个他没预期到的名字。要分清两者,别再问品牌,而是把品牌真正会出现的地方列出来:

  • 学员上课上到一半时,地址栏里的那个 URL。
  • 密码重置链接上的 URL——就是大家会粘贴进工单里的那一个。
  • 每一封通知邮件的发件人地址和发送域名。
  • 客户的员工在早上八点、毫无准备地、因为主管发来一个链接而落到的那个登录页。
  • 证书,以及审计人员点击其核验链接后打开的那个页面。
  • 浏览器标签页的标题和网站图标。
  • 客户的管理员登录后看到什么:只有自己的人,还是一份把别人的人也算进去的名单。

换主题能改的是第六项,以及第一项的一部分。其余都是架构——域名、TLS 证书、邮件发送、身份,以及租户隔离如何强制执行。一个平台要么从一开始就把这些放进了规划,要么就是在事后补装,而事后补装是看得出来的:回来的答案都带着附加条件。

Lurno

客户的员工在自己公司的域名下登录,收到来自自己公司发件人的邮件,证书核验的 URL 上带着雇主的名字。

Not this

上传一个 logo、填一个十六进制色值,而页面仍然住在 yourinstitution.vendor.com。

在 Canvas 上,白标仅限于换主题:它并不是为了替不同的客户组织隐身到你自己的品牌和域名之后而设计的。这是产品范围的取舍,不是缺陷,我们在 Canvas 替代方案页上附来源做了说明。

给 LMS 换主题和做白标有什么区别?

换主题改的是平台看起来什么样:logo、颜色、字体,有时还有自定义 CSS。白标改的是这个平台看起来是谁的——你自己的域名和它自己的 TLS 证书、通知邮件用你的发送域名、登录页和证书核验页上是你的品牌,以及当你服务不止一家客户时,按组织分别设置品牌。换主题是一个设置页面。白标是基础设施。

留在 Canvas 上的诚实理由

在一所机构里替换 LMS,不是一个带着变革管理成分的软件项目。它是一个带着软件成分的变革管理项目,而软件是其中容易的那部分。

想想你打算移走的那个东西,周围究竟已经长出了什么:

  • 与学生信息系统的集成,以及那个四年没人需要碰过的夜间任务。
  • 挂在它上面的那些 LTI 工具——在线监考、查重、出版社内容、阅读书单、课堂录制。
  • 知道成绩册设置在哪里、并且对它有看法的教师。重新培训他们,要花掉一个学期的信任额度,而这份额度你可能另有他用。
  • 已经做完的无障碍评审,以及已经签完的采购文件。
  • 一个自己会跑的学期滚动流程,以及用这个平台的词汇写成的校级制度。
  • 积累多年的课程内容,其中一部分出自已经离职的人之手。

判断的标准不是“新平台功能是不是更多”,而是:哪一类人群在增长,哪一类人群在养着这栋楼?如果学分项目占了你的大部分体量,而非学期制的业务只是一条有前景的副线,那么把全部东西迁过去只为服务这条副线,是笔亏本买卖。把副线放到别处去跑。

两套系统是一种正常的架构,不是承认失败。教务处保有学分的系统记录源;第二个平台承载所有不涉及学分的东西。这里的边界格外干净,因为两拨人几乎不重叠——你合规课程里那家客户的员工,本来也不会出现在你的学籍名录里。

第二套系统的代价要说清楚:两条支持队列、两套无障碍态势、两份数据处理协议,以及对同时存在于两边的少数人来说一个真实的身份问题。这些要在一开始就列进预算,而不是到第四个月才发现。

替换而不是叠加,在三种情况下说得通:非学期制的业务已经占了你活动的大多数;商业业务部正在分拆成独立法人;或者你正处在续约节点,切换成本无论如何都会以某种形式付出,而且非学期制业务的路线图是具体的,不是愿景式的。

我们应该替换 Canvas,还是在旁边再跑一个平台?

如果学位项目占了你的大部分体量,而在增长的是非学期制的那部分——继续教育、企业合作、客户学院——那就再跑一个平台。只有在非学期制业务已成为多数、商业业务部正在分拆成独立实体,或者续约本来就逼你做决定时,才做替换。为了服务你活动中的少数部分,去迁移一个运转正常的学期制平台,很少能抵得上给教师带来的扰动。

不管往哪个方向走,试用时该测什么

演示是为成功而搭的。下面七项检查很快,而且一旦某样东西不存在,它们会失败得很响。

  1. 在一个周二下午,把一个人报名进一门没有结束日期的课程。下周一回来看看他的访问权限、他的进度,以及报表里他那一行。
  2. 把同一个邮箱地址放进两个客户组织。弄清楚这是一个人拥有两份成员身份,还是两个正朝着冲突去的账户。
  3. 给一位客户管理员开一个账户,然后试着让他看到另一家客户的学员。如果是数据库规则拦住了你,很好。如果靠的是记得别点某个东西,那就不是隔离。
  4. 发一封通知邮件,然后读邮件头。看发送域名,不是显示名称。
  5. 签发一张证书,用手机在移动数据网络下打开它的核验链接。看看页面上是谁的名字。
  6. 在签约之前而不是之后,要一份完整的数据导出——内容、学员记录、成绩、审计历史,以及以什么格式导出。
  7. 把标准的问题直接问出来。SCORM 1.2、SCORM 2004、xAPI、LTI 1.3:今天哪些已经交付、是什么版本、计划做什么?要一份带日期的书面答复。

Lurno 适合什么,不适合什么

Lurno 是我们自己做的平台,这一节请照此阅读。它是为第二种形态而不是第一种形态设计的:可嵌套的子组织,各有自己的品牌、管理员和学员,另外还有一棵内部的分支树,在某个分支上授予的角色会沿着这棵树向下级联。每个组织都可以运行在自己的自定义域名上,自动配置 TLS,并从自己的域名发邮件,证书带有公开的核验页面。租户隔离是在数据库里强制执行的,而不只是在应用里——676 次迁移中共 868 条行级安全策略——这正是上面那项客户管理员测试能按设计通过的原因。更多内容见白标,机构视角见高等教育

它不是什么,直说,因为采购团队会去核实。SCORM 1.2、SCORM 2004、xAPI 和 LTI 1.3 在产品中已有建模,但运行时仍在开发中——如果标准符合性是你上线的前置条件,那这是一次需要谈的对话,而不是一个可以打勾的框。支付和结账已完成设计,尚未构建。自助注册在开发中;今天的账户由邀请创建。单点登录目前指的是通过签名断言的合作方登录,不是 SAML 或 OIDC;SAML/OIDC、MFA 和通行密钥在路线图上,目前都不可用。

最大的限制就是这篇文章一路在讲的那一条:在一所开设学位项目的校园里,Lurno 不能替代教务处的系统记录源。如果 Canvas 装着你的学期、你的教学班和你的成绩单,它做的事值得保留。问题在于,那些本来就没有学期的工作,该由什么来承载。附来源的逐项对比在 Canvas 对比页上;如果想拿真实租户而不是幻灯片来跑这七项检查,请预约演示