Na documentação do Openredu ainda não temos nada explicando cada papel, mas no código do Openredu podemos ver o arquivo ability_spec.rb que foi escrito usando a ferramenta rspec, que permite que você escreva testes em uma linguagem mais natural, quase inglês. Esse arquivo é o responsável pelo gerenciamento de permissões no sistema.
context "on space -" do
before do
@environment = FactoryGirl.create(:environment, :owner => @env_admin)
@course = FactoryGirl.create(:course, :owner => @env_admin,
:environment => @environment)
@space = FactoryGirl.create(:space, :course => @course)
end
context "member" do
before do
FactoryGirl.create(:user_environment_association, :environment => @environment,
:user => @member, :role => :member)
FactoryGirl.create(:user_course_association, :course => @course,
:user => @member, :role => :member)
FactoryGirl.create(:user_space_association, :space => @space,
:user => @member, :role => :member)
@ability = Ability.new(@member)
end
it "cannot create a space" do
@ability.should_not be_able_to(:create, FactoryGirl.create(:space,
:owner => @member,
:course => @course))
end
Esse trecho informa que no contexto de disciplina(space) o membro não pode criar uma nova disciplina.
Membro: Só pode visualizar os conteúdos gerados pelos professores e administradores de ambiente.
Administrador do ambiente: Responsável por administrar tudo no ambiente, curso, disciplinas e módulos. Pode remover, convidar ou trocar o papel do usuário no seu ambiente.
Professor: Ele pode administrar as disciplinas do curso no qual ele tem o papel de professor, criar, inserir conteúdo e gerenciar as disciplinas.
Tutor: O papel dele seria apenas para responder os alunos, ele tem as mesma permissões de um membro.