虽然我将使用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的练习完成后才能使用。所以这是一种链式反应。
因为你可以看到有一些结构,但主要是很多依赖。 所以我想知道在数据库中对此进行建模的适当方法是什么,以及如何为这样的系统设计访问控制。
有没有人遇到过类似的问题?任何想法,见解,参考都是最受欢迎的。
非常感谢你。