Дизайн: Пользовательский контроль доступа (ограничить доступ к странице на основе некоторых критериев) - PullRequest
0 голосов
/ 19 октября 2010

Хотя я буду использовать 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 
* +1039 * Пример: Содержание для исчисления должно быть доступно только после того, как ученик зачислен в класс исчисления. Содержимое для 1.1.3, 1.2 и т. Д. Должно стать доступным только после выполнения упражнений по 1.1.2. Так что это своего рода цепная реакция.

Итак, как вы можете видеть, есть некоторая структура, но в основном много зависимостей. Поэтому мне интересно, какой подходящий способ смоделировать это в базе данных и как спроектировать управление доступом для такой системы.

Кто-нибудь сталкивался с подобной проблемой? Любые идеи, идеи, ссылки будут приветствоваться.

Огромное спасибо.

1 Ответ

1 голос
/ 19 октября 2010

Вы можете использовать уже созданную систему, которая обрабатывает все это. Moodle - это популярная альтернатива с открытым исходным кодом, которую вы можете установить, как обычную CMS, и она работает с курсами, студентами и даже с тестами. Здесь - список этих «систем управления обучением», некоторые из них бесплатны, а некоторые нет.

...