虽然我将使用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练习后才可以使用。所以这是一种链式反应。
因此,你可以看到有一些结构,但大多数依赖关系。 所以我想知道在数据库中建立这个模型的适当方式是什么,以及如何为这样的系统设计访问控制。
有没有人遇到类似的问题?任何想法,见解,参考将是最受欢迎的。
非常感谢。
谢谢你的回应。是的,我已经考虑过moodle。事实上,我们已经用它来管理课程内容。不幸的是,它对于我们的需求太庞大了。我们需要一些轻量级,因此一个新的项目。 – Swartz 2010-10-19 06:05:22