Tasarım: Özel erişim kontrolü (bazı kriterlere göre sayfa erişimi kısıtlamak)

0 Cevap php

Ruby on Rails kullanıyor olsalar da, bu bir veritabanı modeli ve bir CMS için özel bir erişim kontrol sistemi tasarımı için en iyi yolu hakkında genel sorular. Bu yüzden hangi dil / db önemli değil. Ben tüm uzmanlar girdi duymak için mutlu olurdu.

My problem: I am in the early process of developing an online tutorial system for a local university. The idea is that students will be able to obtain extra help online alongside their main class material.

Basics: - Planning to use an existing CMS to manage content (basically web pages).

  • İçerik ders, konu, alt konu, vs ile yapılandırılmıştır

  • A kayıtlı öğrenci (yani sadece onlar için kaydoldum ders materyali bakınız) ilgili içerik giriş ve görebilirsiniz.

  • Öğrenci içeriği aşağıdaki gibi / o bazı egzersizleri yapmak gereklidir.

  • There are tutors that check student progress and provide further assistance if needed. So exercise results are stored alongside student records for tutors to review.

  • Egzersizlere öğrenci yanıtları kademeli değil, ama cevaplar ibraz sağlanmaktadır.

  • Major issue: Bazı profs içerik kalanı mevcut hale gelmeden önce egzersiz yapmak için öğrencilere zorlamak istiyoruz. Diğer profs içerik parçaları serbest olsun zamanları ayarlamak istiyoruz. Ya da her ikisinin kombinasyonu olabilir.

Zamanlamalı içerik sürüm yapmak kolaydır. Ama koşullu içerik salınımını model ve tasarımı nasıl hiçbir fikrim yok. Bu durumda koşullar öğrenci ilerleme (tamamlanmış egzersizleri) olmak.

Göstermek için, ben bu içeriğe sahip:

    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 

Example: Content for Calculus should only be available once student is enrolled in Calculus class. Content for 1.1.3, 1.2, etc should only become available once exercises on 1.1.2 are completed. So it's kind of a chained reaction.

So as you can see there is some structure, but mostly a lot of dependencies. So I'm wondering what would be appropriate way to model this in the database, and how does one design access control for such a system.

Herhangi bir benzer bir sorunla karşılaştı? Herhangi bir fikir, fikir, referanslar en hoş olurdu.

Bir büyük teşekkür ederiz.

0 Cevap