当以分发的e-learning包第一次被访问时,标准的SLK设置会将包缓存到前端服务器的文件系统上,以便能更快速的访问。根据负载均衡的场景而异,这个过程可能会进行多次,直到包的缓存在每个前端服务器上都存在。因此,可能用户在头几次的访问都会感觉慢,这一现象是正常的。
文件缓存的位置以及最小过期时间依赖于每个网站集的SLK设置文件。
在标准的SLK设置文件中,SLK并不会指定缓存的位置。此时 ,SLK会在前端服务器的临时文件夹中缓存包的内容。对于标准的SLK部署,所有的SPSite使用相同的SLK设置文件,因此所有SPSite会共享前端服务器的临时目录。
除了使用默认的缓存位置外,管理员还可以在某个SLK设置文件中指定 一个缓存位置。这在所有前端服务器要共享一个缓存文件夹时很有用。任何使用该SLK设置文件的 SPSite都将使用该路径。注意,由于缓存位置可以在SLK设置文件中指定,因此一个SPSite对应一个专属的e-learning包缓存位置是完全可行的。
被缓存的包的最短生命周期也是在每个网站集的SLK设置文件中指定的。该值决定了包可以缓存有效的最小时间间隔,以分钟为单位。 如果在此间隔内缓存被删除了,则包就访问不到了。
标准SLK设置文件定义的最小过期时间是4320分(3天)。
SLK允许用户访问所指派的课程文档或课程包,只要他是一个学习者或指导员即可。基于指派关系来管理访问权限的机制使得指导员可以限制包含课程包的文档库的访问权限,同时还能允许学习者通过SLK指派流程访问学习的内容。
指派一个特定的文件版本:当我们在SLK里创建一个指派时,会使用该课件包在文档库中的当前版本。无论何时访问该指派的内容 ,如果当前版本不同,SLK就会显示指派的资源找不到的错误信息。这也就是说,如果把版本控制关掉,则当我们编辑一个文件后,将导致任何包含该文件的指派都变得不可用。同理,即使版本控制是打开的,但是我们编辑了一个已指派的版本,也会出现同样的错误。我们可以对已经指派的包创建新版本,如此一来,任何已存在的指派引用原先的版本,而新的指派使用新版本,两者就可以互不干扰。
用户可以访问整个包:对于SLK很重要的一点需要理解的是,当指派课件内容时,访问权限是分配在整个包上的,而无法指定到包里的特定的章节(organization)。比如,一个含有两个章节的包,其中第二个章节中包含了一些第一个章节没有用到的资源文件。即使被指派到第一章,学习者完全可以通过URL试探的方式访问到第二章中的文件。意识到限制访问的最小粒度后,指定员或内容组织者应该据此开发和使用e-learning内容。SLK将一个被指派包内的所有文件视为对被指派的学习者而言可访问,即使在课程工作流界面中出于分发目的只是指派了的特定的章节。
接下来介绍SLK中的指派工作流。
可以创建一个指派将课件指派到多个学习者。在创建这样的指派时,会为每一个学习者创建一条课程记录。对于e-learning课件而且,每一条课程记录会引用一条对应的学习记录(attempt)对应于该课程的学习活动(activity)。学习记录是在学习者开始他们的课程学习后创建出来的。对非e-learning内容而言不存在相应的attempt记录。
下图中,学习者1和2尚未开始学习,但是3和4 已经开始了学习。
每条课程记录都有一个工作流状态,称为学习者课程状态(Learner Assignment State)。该状态直接影响到学习者和指导员在SLK中可以使用的功能。
状态名称与描述如下:
学习者课程状态
(L.A. State)
|
在界面中的显示值
("Status")
|
描述 |
NotStarted | "Not Started" | 课程记录已创建,但是学习者尚未"开始"该课程的学习。 |
Active | “In Progress” | 学习者已经开始对课程进行学习,但是还没有“完成”所有的课程活动。对于e-learning内容来说,对应学习记录状态"Active"或"Suspended"。 |
Completed | “Submitted” | 学习者已经完成了该课程的学习并提交,或者被指导员收回(colleced)。 如果课件内容不是自动判分和自动返回的,那么学习者的课程记录会一直保持在这个状态,直到指导员评分结束并将记录返回给学习者。 对于自动评分和自动返回的情况,学习者将不会在界面上看到这个状态。因为工作流会自动跳过该状态。 对于e-learning课件内容,对应的学习状态是“Completed”或“Abandoned” 。 |
Final | “Final” | 学习者课程记录已完成了自动判分和自动返回,或者已由指导员手工完成了评分并返回。这是工作流里的“最终”状态。 |
在决定学习者课程记录状态的名称及在相应界面中的显示项时主要强调清晰性。避免在使用显示项和相应的工作流状态时发生混淆。 状态内部名与界面中显示名设置的不同是因为我们希望界面上显示的项能更加接近学习者在流程中的体验,而学习者课程记录状态名却可以保持与学习状态的明显映射关系,方便开发人员内部讨论课程记录状态与学习状态时不会因为显示项的相似性而发生疑惑。
特别是当具有微妙的不同时,比如"completed"和"submitted"。我们更倾向于使用"complated" ,因为它更能匹配学习状态和非e-learning内容在"completed"或"abandoned"时的状态。对于显示给用户的状态名,我们更倾向于"submitted",因为它代表了当课程学完后等待指导员评分并返回时的工作流状态。当课程记录是自动评分并返回的时,用户将看不到"submitted"状态,而是直接转移到"final"状态。
我们使用"final" 而不是"returned"是因为并不是所有被指派的内容都是需要评分并返回的。许多SCORM课件内容只是需要看一遍就可以算作完成了。
决定学习者课程记录状态
学习者课程记录状态根据e-learning和非e-learning内容的不同而不同。
代码
State = “Completed” //该NonELearningStatus为已完成或已放弃
}下表可以用来判断学习者课程记录状态 。
在SLK界面的很多地方,学习者或指导员或内容都可能会用到工作流状态。下表描述了在工作流相关的操作进行时内部状态的变化。
操作
(Action)
|
课件类型
|
行为 |
开始学习(学习者) | E-learning |
|
开始学习(学习者) |
非Elearning |
|
学习内容 - ExitAll | E-learning |
|
学习内容 - AbandonAll | E-learning |
|
提交学习(学习者) 收回学习(指导员) |
E-learning |
|
提交学习(学习者) 收回学习(指导员) |
非Elearning |
|
返回学习(指导员) | E-learning |
|
返回学习(指导员) |
非Elearning |
|
重新激活学习(指导员) | E-learning |
|
重新激活学习(指导员) |
非Elearning |
|
*下列自动返回行为会在每一次完成/放弃操作时被触发:
If AutoReturn is true,then:
LearnerAssignmentFinal=True
LearnerAssignmentState=Final
else
LearnerAssignmentState=Completed
“AutoReturn...” 属性可以在工作流进行中随时被设置。设置该属性后,任何"completed"的LearnerAssignments都会在下次访问时都直接进入"final"。
任何时候只要学习者的课程记录状态发生变更,状态的改变都会记录在学习者课程记录事务日志中。日志位于SLK数据库中,所有学习者课程记录状态的变更与访问事件都将记录在日志中。
针对状态的改变,学习者课程记录事务日志将保存下列字段:
操作
(Action)
|
操作后的学习者课程记录状态
|
在界面中的显示项 |
指导员创建一个指派,分发了一个LRM课件。学习者的课件记录在此时被创建出来。 | NotStarted | “Not Started” |
学习者通过浏览该LRM课件开始了学习。(他的学习记录在此时被创建出来。) | Active | “In Progress” |
学习者保存它的学习进度,打算稍后再继续。 | Active | “In Progress” |
学习者恢复它的学习,并完成后提交。 | Completed | “Submitted” |
指导员评判该课程记录,并返回该课程记录。 | Final | “Final” |
学习者复习并查看评分。 | Final | “Final” |
SLK和MLC 都使用会话视图来展示e-learning内容。一个e-learning会话视图决定了该e-learning课件如何展示给用户和哪些操作对当前内容可用。每个视图都具有不同的运行时行为。SLK视图对应下列的几个基础MLC视图:
SLK 视图
|
MLC视图
|
MLC视图描述 |
Preview | Preview | 线性与选择排序,只读 |
Execute | Execute | 遵循排序规则,读/写 |
Grading | Random Access | 线性与选择排序,读/写 |
Learner Review | Review | 线性与选择排序,只读 |
Instructor Review | Review | 线性与选择排序,只读 |
在SLK里,对特定e-learning课件的视图的访问会受到该学习者课程记录状态的影响。下表分析了SLK视图与角色及课程记录状态的关系。
课程记录状态
|
SLK界面中视图的可用性(指导员)
|
SLK界面中视图的可用性(学习者) |
NotStarted | None | Execute(将建立学习记录) |
Active | InstructorReview | Execute |
Completed | InstructorReview与Grading | None |
Final | InstructorReview与Grading | Review |
如果指导员也是课程的学习者,则所有的视图对于每个课程记录状态都是可用的 。这时,SLK指派工作流会指定界面上显示什么视图。
MLC的预览(Preview)视图被用在 SLK 的指派或学习范围以外 。MLC预览视图在任何时候都是可用的,与课程记录状态无关。
预览视图可以通过SLK界面上的操作页面访问到。
执行(Execute)视图是学习e-learning课件时使用的主要视图。学习者无法在"Completed"或"Final"状态下访问执行视图。
学习者通过该视图来在"final"状态下复习返回的课程记录。在"final"状态之前学习者是不允许复习课程的,因为此时他们看不到正确的答案或评分信息。
InstructorReview视图在AttemptItem不为NULL时始终可用。当指导员在评分表格中点击某个未提交课程记录(LAState=Completed 或Final之前)的学习者的名称时该视图就会显示,用于查看学习进度。另外,在"final"状态下的grading视图还允许指导员在已经返回课程的情况下修改评分,而不必重新激活该课程并回到评分视图。
重新激活一条课程记录
在"final"状态的课程记录可以通过指导员重新激活。重新激活课程记录会将记录重新指派给学习者,从而让学习者可以修改其答案并重新完成课程学习。通常,先前的学习状态会保留,以便对其进行修改。再重新激活后,指导员留下的评分会重置,也就是说评分会依据"In Progress"状态下学习者的工作再次自动计算新的值。
对于所有重新激活的课程记录会:
接下来的工作流不再受重新激活的影响,继续从active状态开始执行。当重新激活的课程记录提交/收回后,会根据正常的流程处理来初始化最终点数的值。
对于E-Learning内容(SCORM 2004,SCORM 1.2,Class Server): 重新激活会保留先前学习者学习的记录和答题情况,和任何学习者的反馈信息。
LRM ——重置后会用学习者反馈的信息自动评分出的值来覆盖指导员的评分。对于非自动评分的问题,评分会清空。注意:重置时会清空指导员所做的任何修改。更新后的分数会显示在得分栏(Total Points),该分数也反映了自动评分前提交的课程内容。任何对该学习者的反馈做的修改都会导致自动评分更新评分,和最初进行学习时的情形一样;重置会将所有的评分项变成指导员评分前(pre-instructor-grading)的状态;对于LRM内容中的指导员评语不会进行清除。这样,当再次提交上来后,指导员就可以有针对性地查看了。 事实上是否要清除重新激活的LRM指导员评语完全看具体使用场景。如果你认为会对新的评语产生影响,完全可以将其删除。关键是看指导员想不想用这个功能。另外,实际上如果怕混淆的话,可以通过在评语上添加前缀的方式加以区分。
SCORM 1.2——SCORM 1.2中没有指导员评分的功能,因此不需要重置任何分数。分数总是会反映当前的自动评分状态。
IMS+——IMS+可看作LRM与SCORM 1.2活动的组合。我们遵照步骤的指导基于一个活动接一个活动的进行。这样就能根据提交前的自动评分状态得到一个重置后的分数。学习者跟随内容一步步进行并做修改,自动评分会据此更新分数。
SCORM 2004——学习时使用相同的活动树。学习者继续从树的开始位置进行学习,就像刚开始学习一样。
下一篇会继续介绍SLK的评分模型。