【发布时间】:2011-04-27 06:40:28
【问题描述】:
虽然我将使用 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 的练习完成后才可用。所以这是一种连锁反应。
所以你可以看到有一些结构,但主要是很多依赖关系。 所以我想知道什么是在数据库中建模的合适方法,以及如何为这样的系统设计访问控制。
有没有人遇到过类似的问题?任何想法、见解、参考都将受到欢迎。
非常感谢。
【问题讨论】:
标签: php ruby-on-rails database-design content-management-system acl