Grupos Globais e Locais no Lumis Portal

Objetivos

  • Conhecer, em linhas gerais, a forma como o Lumis Portal organiza usuários e grupos.
  • Compreender as diferenças entre grupos globais e grupos locais.
  • Reconhecer as vantagens do uso de grupos de usuários e os cenários comuns de aplicação de grupos locais, incluindo sua utilização comtemplates de canal.

Conhecimentos necessários

Template de canais (desejável).

Grupos no Lumis Portal

O conceito de ‘grupos de usuários’ é utilizado pelo Lumis Portal para organizar e segmentar seus usuários, bem como facilitar determinadas tarefas administrativas, como o gerenciamento das permissões de acesso. Com a utilização deste conceito é possível determinar perfis de usuários em um portal e atribuir, a cada um destes grupos (perfis), os mais variados direitos.

Um grupo contendo os ‘gerentes financeiros’ de uma empresa poderia, desta forma, ter seus acessos adequadamente segmentados. A entrada de um novo funcionário com este cargo (ou a transferência de um funcionário proveniente de outro setor da empresa) exigiria apenas que o mesmo fosse associado ao grupo para que suas permissões fossem automaticamente concedidas. Havendo a necessidade de alterar os acessos garantidos a estes ‘gerentes financeiros’, a alteração feita para o grupo seria automaticamente compartilhada por todos os seus membros.

Usuários podem fazer parte de um ou mais grupos, e um grupo pode fazer parte de outro, hierarquicamente. A figura a seguir mostra um exemplo de segmentação de grupos que poderia ser  em um portal desenvolvido em Lumis.

As setas do diagrama indicam uma relação entre membro e grupo, devendo ser lida como ‘é membro de’. Desta forma, os ‘professores do segundo ano do ensino médio’ são membros do grupo de ‘professores do ensino médio’, grupo que é membro de ‘professores’ e, por sua vez, do grupo ‘docentes e discentes’. Estas associações de grupos membros de grupos maiores refletem a lógica utilizada na própria determinação destes grupos: um aluno de nível superior também é um aluno (genericamente falando) e, ao mesmo tempo, parte do corpo docente/discente da instituição.

Ainda neste exemplo, uma permissão dada a ‘todos os professores’ automaticamente será repassada aos demais grupos a ele associados. Acessos ou permissões que precisem ser atribuídos apenas a ‘professores do ensino superior’, por sua vez, não serão compartilhados pelos demais professores que não pertençam a este segmento (grupo).

A utilização de grupos de usuários não facilita apenas a atribuição de permissões. Ferramentas existentes em um portal podem ser construídas de forma a permitir publicação de conteúdos ou envio de mensagens para ‘grupos’ de usuários. Assim sendo, textos podem ser publicados apenas a grupos para os quais sejam relevantes, respeitando a modelagem de grupos. Algo publicado para ‘todas as secretárias’ será visualizado tanto pelas que trabalham para o ensino fundamental quanto superior, enquanto que uma publicação apenas para as secretárias de ensino fundamental será lida apenas por estas. O exemplo a seguir mostra uma situação em que um usuário pode ser membro de mais de um grupo. Um usuário poderia estar inscrito nas disciplinas cálculo e física, mas não em informática, sendo inserido apenas nos dois grupos de que faz parte. O usuário (aluno) terá os direitos acumulados que forem atribuídos a cada um dos três grupos de que faz parte (‘alunos de cálculo’, ‘alunos de física’ e ‘todos os alunos’), mas não possuirá os acessos que forem específicos do grupo de ‘alunos de informática’, do qual não é membro. 

image002.jpg

Usuários são chamados membros ‘diretos’ de grupos aos quais são diretamente relacionados, e membros ‘indiretos’ dos grupos que herda. No exemplo anterior, o usuário mencionado seria membro direto dos grupos ‘alunos de cálculo’ e ‘alunos de física’. Ao mesmo tempo, é considerado membro indireto do grupo ‘todos os alunos’.

Outra característica importante é que um grupo pode ser membro de mais de um grupo. No caso mostrado a seguir, ao indicar que um usuário é membro do grupo de ‘alunos de ciências exatas’ ele será indiretamente membro dos grupos ‘alunos de cálculo’, ‘alunos de física’, e de ‘todos os alunos’.

image003.jpg

Trata-se de uma modelagem similar às apresentadas anteriormente, mas com algumas diferenças sutis. Para esclarecer estas diferenças, basta comparar com a modelagem alternativa a seguir.

image004.jpg

A primeira forma de modelagem dos grupos considera que um aluno de ciências exatas freqüenta as aulas de cálculo e física, mas considera que alunos apenas de física não possuem necessariamente as permissões dos ‘alunos de ciências exatas’. No segundo caso, a freqüência de aulas de cálculo ou física automaticamente dão ao usuário as permissões e conteúdos publicados aos de ciências exatas. Uma escolha adequada da modelagem de grupos do portal pode auxiliar a atribuição de permissões, publicação de conteúdos e outras tarefas administrativas, bem como prover espaço para um crescimento ordenado dos usuários do portal.

Assim, fica claro que um bom planejamento estrutural dos grupos do portal é imprescindível para sua boa evolução e manutenção.

Grupos padrão

Além dos grupos que podem ser criados especificamente para cada portal, o Lumis disponibiliza os grupos padrão listados a seguir.

  •  Administradores do portal: os membros deste grupo possuem permissão de acesso ao gerenciamento do Portal (F12).  Quando o Lumis Portal é instalado, é criado um usuário ‘admin’, pertencente a este grupo.
  • Usuários cadastrados: tem como seus membros todos os usuários cadastrados no Portal.
  • Desenvolvedores: representa os desenvolvedores do portal; nenhum usuário é automaticamente cadastrado neste grupo.
  • Publicadores: representa os publicadores de conteúdo, que precisam fazer parte deste grupo para que possam realizar ‘preview’ dos conteúdos que gerenciam. A partir da versão 5.7 do Lumis Portal, este grupo passa a ser também responsável por ‘lock/unlock’ de conteúdos publicados.
  • Todos os usuários: contempla todos os usuários do portal; difere do grupo ‘usuários cadastrados’ por conter como membro, também, o usuário ‘guest’ (visitante não autenticado).

Grupos locais

Alguns portais tem necessidade de uma grande quantidade de grupos, com certo isolamento organizacional e hierárquico entre eles.

Ampliando os exemplos anteriores, seria possível construir um portal que congrega diferentes escolas, cada uma delas tratada como uma área (estrutura de canais e páginas) diferente do portal. Nesta solução, além das segmentações de acesso e conteúdo por perfil, já discutidas, professores de uma determinada escola não deveriam ter acesso a conteúdos das demais. Embora os conceitos já abordados sirvam para esta implementação, ainda não resolveriam o potencial problema de administração e organização desta grande quantidade de grupos.

Para ajudar neste tipo de cenário, o Lumis Portal disponibiliza o conceito de ‘grupos locais’.

Um canal pode ser configurado de forma a habilitar (ou, em outras palavras, permitir a administração de) grupos ‘locais’.

image005.png

Neste caso, foi definido que o canal ‘notícias’ permitirá a adição de grupos e usuários locais, prefixados pela string ‘noticias’ (informação obrigatória, de escolha livre). Se for criado um grupo local ‘administradores’ neste canal, o grupo terá o nome ‘noticias.administradores’. Esta prefixação é válida também para os usuários locais criados.

Quando um canal habilita grupos locais, duas novas opções são apresentadas em sua administração: ‘Usuários’ e ‘Grupos’. As figuras a seguir ilustram a administração do canal ‘notícias’, antes e depois da habilitação de grupos locais.

image006.png
image007.png

Detalhes sobre a criação e manutenção de usuários e grupos são apresentados no artigo.

É importante pontuar que grupos locais são tratados internamente pelo Lumis Portal da mesma forma que os grupos globais. Trata-se de uma facilidade para organização e administração de grupos, cabendo à montagem do portal a efetiva segmentação de permissões quando necessário.

Grupos locais e usuários locais serão removidos quando o diretório que os definiu for removido.

Grupos locais e templates de canais

A vantagem do uso de grupos locais é mais facilmente compreendida em portais que possuem canais criados a partir de ‘templates’, uma funcionalidade provida pelo Lumis Portal.

Templates de canais poderiam ser utilizados para criar uma estrutura padrão de serviços, canais e páginas para todas as escolas do Portal, simplificando desta forma a criação de novas escolas e, em especial, a atualização da estrutura padrão e sua replicação. O modelo apresentado a seguir mostra uma estrutura simples que poderia ser aplicada para todas as escolas (um caso real teria um número bem maior de canais e páginas).

image008.jpg

Esta ‘escola modelo’ seria, na verdade, um modelo a partir do qual as demais escolas seriam criadas. Esta estrutura é chamada pelo Lumis Portal de ‘template de canal’.

Com o uso de grupos locais, poderiam ser definidos na escola modelo (template para criação das demais escolas) os grupos que deveriam ser considerados em cada escola, e o portal se encarregaria de criá-los (ou alterá-los) conforme necessário.

Uma forma simples de visualizar esta padronização de grupos é apresentada na figura a seguir. O exemplo supõe que, para a ‘escola modelo’ foram criados os grupos locais ‘Diretores’, ‘Professores’, ‘Coordenadores’, ‘Alunos’ e ‘Secretárias’.

image009.jpg

No exemplo mostrado, cada grupo local possui como prefixo o nome do canal (escola) gerado. Isto é feito definindo como prefixo a string‘${rootChannel.name}’, que é substituída, em tempo de criação ou alteração do canal, por seu nome.

As escolas criadas replicariam, também, a estrutura padrão do template utilizado como base para sua criação.

image010.jpg

Em um cenário como o apresentado, o uso adequado de grupos locais, templates de canal e permissões simplifica imensamente tanto a criação quanto a manutenção evolutiva de um portal.

Para maiores informações

A administração de grupos e usuários encontra-se no artigo Uso e Criação de Grupos no Lumis Portal.

O Lumis Portal permite a criação de outros tipos de grupos, incluindo grupos dinâmicos, que permite que usuários sejam automaticamente inseridos como seus membros de acordo com regras específicas a serem definidas programaticamente. Grupos dinâmicos e a criação de novos tipos de grupos são mencionados também no artigo.

Usuários e grupos podem ser utilizados programaticamente a partir das APIs GroupManagement, UserManagement e PrincipalManagement.