Skip to content

教程的创建编辑过程 #2

@ben7th

Description

@ben7th

以下的操作都是后台的教程创建者的操作,不是参与学习的用户的操作。
教程创建者不是一般意义上的用户,他也不需要像普通用户那样登录,只需要有一个秘密的,普通用户访问不到的界面来进行这些操作就可以了。

教程创建的步骤:

  1. 创建单篇教程。一篇教程(tutorial)由以下几个持久化数据项构成

    • 教程的唯一标识 tid (由创建者定义的唯一标识,并非数据库标识。)
    • 教程的初始 html
    • 教程的初始 css
    • 教程的检查脚本 check_data
    • 教程的提示脚本 tips_data

    四个数据项都是持久化的字符串。

    通过一些操作【可以比较简陋】,教程创建者可以创建教程记录,并提交这些数据项。

  2. 创建数据地图。一个数据地图(map)由以下几个持久化数据项构成

    • 地图的唯一标识 mid (由创建者定义的唯一标识,并非数据库标识。)
    • 地图的节点关联信息 data (信息中包含了地图节点的关联,以及地图节点与教程的关联 设计方法 edu-game-map#2 ,这里简单起见,直接以 minicourse 来对应教程的 tid)

    通过一些操作【可以比较简陋】,教程创建者可以创建数据地图,并提交这些数据项。

前端如何渲染数据地图?

由前端脚本硬编码,根据 mid 取到数据地图,渲染。让用户通过渲染后的关卡界面来操作。
用户进入每个关卡时,可以根据关卡对应的 tid,取到 tutorial 的数据,后面的事情,包括用户输入的检查,用户代码提交,用户过关标记,都是由前端发起的。

由于这个应用做出来,在目前只是用在我们发布css教程给用户。因此后台可以非常简陋。只有几个 textarea 来提交数据也是可以的。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions