0

虽然我将使用Ruby on Rails,但这是关于建模数据库并为CMS设计自定义访问控制系统的最佳方法的一般问题。所以不管什么语言/分贝。我很乐意听取所有专家的意见。设计:自定义访问控制(根据某些条件限制页面访问)

我的问题: 我正在为本地大学开发在线教学系统的早期过程。这个想法是,学生将能够在他们的主要课程材料上获得额外的帮助。

基本信息: - 计划使用现有的CMS来管理内容(基本上是网页)。

  • 内容由当然,主题,副主题,等

  • 的注册学生可以登录并看到相关的内容(所以只有看到他们签署了课程材料)构成。

  • 当学生跟随内容时,他/她需要做一些练习。

  • 有导师会检查学生的进度,并在需要时提供进一步的帮助。 因此,练习结果会与学生记录一起存储,供导师查看。

  • 学生对练习的回答不分等级,但答复在提交后提供。

  • 重大问题:有些教授希望强制学生在剩下的内容可用之前进行练习。其他教授希望在发布内容块时设定时间。或者它可以是两者的组合。

定时发布内容很容易。但我不知道如何对条件内容版本进行建模和设计。在这种情况下,条件是学生的进步(完成练习)。

为了说明,我有这样的内容:

1. Calculus 
    - 1.1 Limits 
    - 1.1.1 Basic principles 
    - 1.1.2 More basics (with exercise) 
    - 1.1.3 Answers to previous questions 
    - 1.2 Derivatives 
     - 1.2.1 Intro 
     - 1.2.2 Sample problems(with exercises) 
     - 1.2.3 Answers 
     - 1.2.3 More content .... 
    - 1.9 More calculus 
     - 1.9.3 Some other content that is available when all previous exercises are completed 
    2. Physics 
    3. Chem 

例子:一旦学生在微积分类招收 内容应积分仅可用。 1.1.3,1.2等内容只有在完成1.1.2练习后才可以使用。所以这是一种链式反应。

因此,你可以看到有一些结构,但大多数依赖关系。 所以我想知道在数据库中建立这个模型的适当方式是什么,以及如何为这样的系统设计访问控制。

有没有人遇到类似的问题?任何想法,见解,参考将是最受欢迎的。

非常感谢。

回答

1

你可以使用一个已经完成的系统来处理所有这些。 Moodle是一个流行的开源替代品,您可以像安装常规CMS一样安装它,它可以处理课程和学生,甚至测验。 Here是这些“学习管理系统”的列表,有些是免费的,有些则不是。

+0

谢谢你的回应。是的,我已经考虑过moodle。事实上,我们已经用它来管理课程内容。不幸的是,它对于我们的需求太庞大了。我们需要一些轻量级,因此一个新的项目。 – Swartz 2010-10-19 06:05:22