Permissão para Criar Conteúdo

cancel
Showing results for 
Search instead for 
Did you mean: 
joaotpd
Active Member

Permissão para Criar Conteúdo

Bom dia!
… Aqui vai o primeiro "post" em português… Smiley Happy
Estou a usar a versão alfresco-community-tomcat-2.9.0B em linux.
Criei um novo Modelo, com novos tipos de Conteúdo. Também criei novos utilizadores e grupos.

Quero que apenas certos grupos de utilizadores possam criar determinado tipo de Conteúdo.
Exemplo:
Se existem dois Grupos de Utilizadores: "grupo01" e "grupo02". E se existem dois tipos de Conteúdo: "meu:tipo01" e "meu:tipo02".
Quero que o grupo01 possa criar Conteúdo do tipo "meu:tipo01" e nunca do tipo "meu:tipo02".
É possivel fazer isto?

Algumas linhas do meu código:

meuModelo.xml


<namespaces>
   <namespace uri="meuModelo" prefix="meu"/>
</namespaces>

<types>
   <type name="meu:tipo01">
   …
   </type>

   <type name="meu:tipo02">
   …
   </type>
</types>


web-client-config-custom.xml


<config evaluator="string-compare" condition="Content Wizards">
   <content-types>
      <type name="meu:tipo01"/>
      <type name="meu:tipo02" />
   </content-types>
</config>


Obrigado desde já!
Cumprimentos!

João Duarte
14 Replies
ivo_costa
Member II

Re: Permissão para Criar Conteúdo

Bom dia joao,

de momento penso que a unica possibilidade seria implementar um comportamento (behaviour) que implemente algum tipo de filtragem, no entanto esta solução talvez não seja viavel, uma vez que o utilizador só teria o acesso bloqueado já durante a criação do conteúdo.

se alguem tem conhecimento de alguma solução por favor partilhe, já que tambem eu tenho interesse neste tema

Cumprimentos…
sneto
Member II

Re: Permissão para Criar Conteúdo

Olá,

A solução que irei identificar poderá não ser do agrado dos developers, mas como consultora funcional o meu objectivo é resolver requisitos recorrendo o minimo possível a desenvolvimento :-)

Se bem entendi pretende que os utilizadores do grupo 1 só possam criar contéudos do tipo 1 e os utilizadores do grupo 2 só possam criar contéudos do tipo 2.

utilizando restrições de permissão e regras é bastante simples de conseguir.

Passos:
1. Cria um grupo 1 ( no painel de admin)
2. Cria um espaço, por ex. - "Criar documentos tipo 1" ou "Tipo 1".
3. Define uma regra nesse espaço em que todos "All items" ; "Add an aspect" ( onde identifica qual o aspecto que o documento deverá ter associado(http://wiki.alfresco.com/wiki/Aspect) ); "inbound"
4. Configura que apenas os utilizadores do grupo 1 podem editar/criar  no espaço 1.

Assim sendo, apenas os utilizadores do grupo 1 poderão conseguir criar conteúdos daquele tipo.

Não tive oportunidade de testar esta solução, mas penso que será suficiente para resolver o seu requisito.

Espero ter ajudado Smiley Happy
joaotpd
Active Member

Re: Permissão para Criar Conteúdo

Olá sneto!

Muito obrigado pela resposta! Smiley Happy
Não entendo o porquê de adicionar um "aspect" a todos os itens que entram no espaço. Às tantas não me expliquei bem… ou não domino suficientemente bem o Alfresco para entender o que quer dizer…  :?
A ideia é, quando um utilizador adiciona/cria conteúdo pode escolher de entre vários tipos de conteúdo que foram criados (ou o por defeito, "Content"). Quero restringir a criação desses tipos a grupos de utilizadores. Quero, por exemplo, que apenas o Grupo A e o Grupo H possam criar facturas. Ou seja, todos os outros grupos não vão encontrar disponível para escolha o tipo factura.
Obrigado mais uma vez!
Cumprimentos!

João Duarte
sneto
Member II

Re: Permissão para Criar Conteúdo

No Alfresco (versão 2.2 ) as restrições concedem-se por espaço ou por documento.

O cenário que eu lhe indiquei no fundo define que apenas no espaço A é que se podem criar facturas. Como só concedeu acesso ao grupo A e ao grupo B de escrita, significa que só estes é que conseguem criar facturas.

O aspecto é uma forma de especializar o documento e atribuir-lhe atributos que só as facturas têm… mas pode definir outras regras ;-)

Como lhe disse, isto é a resolução do seu requisito sem recorrer a programação ;-) Será que fui eu que não percebi o seu requisito?
ivo_costa
Member II

Re: Permissão para Criar Conteúdo

Olá joao

Como indicado pela Sofia esta solução implica que o os tipos de documentos estão dependentes do espaço onde são criados. Assim imaginemos que só temos disponivel um tipo de Documento (content por exemplo), todos os utilizadores só podem criar esse tipo de documento.

No entanto através de regras podemos indicar que todos os documentos criados dentro de um determinado espaço vão adquirir um determinado aspecto.

A diferença entre aspecto e tipo, é que um tipo já está implicitamente ligado a um conteúdo, e um aspecto é como se fosse um rótulo que se adiciona posteriormente a um conteúdo.

Como em tudo, as "leis" da Engenharia dizem que toda a solução tem os seus pros e contras, se por um lado isto permite implementar a funcionalidade que deseja sem custos adicionais em desenvolvimento, por outro isto também vai limitar a funcionalidade uma vez que só será possivel ter esta funcionalidade (como desejada) nos espaços definidos para o efeito.
Outro defeito que esta solução apresenta, é o facto de que apesar de automatizar a atribuição de aspectos, por si só as regras anteriormente apresentadas, não vão impedir a atribuição manual desses mesmos aspectos por parte de quem não deve, isto porque a funcao de adicionar aspectos se encontra disponivel para todos os utilizadores.
Para evitar este problema pode tambem acrescentar uma regra geral para todos os espaços que permita "apagar" todos os ficheiros com os atributos x e y, e nos espaços autorizados seleccionar que não deseja herdar as regras dos espaços anteriores.

Apesar de tudo esta solução pode se apresentar mais simples ou mais economica do que recorrer a desenvolvimento de código (sem descartar os "contras"), tudo depende da empresa onde está inserido.

Espero que tenha esclarecido pelo menos alguns dos pontos Smiley Wink

A solução a escolher depende agora dos seus objectivos e do contexto em que se aplica este seu projecto…

Cumprimentos
Ivo Costa
joaotpd
Active Member

Re: Permissão para Criar Conteúdo

Olá Ivo e Sofia!

Muito obrigado a ambos pelo excelente esclarecimento…  Smiley Very Happy
Acabo de testar a solução indicada pela Sofia… Criei um novo "aspect". Todos os itens que entram em determinado espaço vão adquirir o "aspect" criado. Configurei que apenas alguns grupos podem editar/criar neste espaço (apenas os que podem criar este "aspect"). Até aqui tudo bem!… Smiley Happy
Mas, como alerta o Ivo, qualquer utilizador pode criar esta lógica anterior… visto que a acção "Gerir Regras de Conteúdo" e "Adicionar Aspecto ao Item" se encontra disponível para todos os utilizadores…
Não entendo como posso evitar isto com a regra geral para todos os espaços indicada pelo Ivo.  :?
Muito obrigado mais uma vez!…
Cumprimentos!

João Duarte
hpalma
Member II

Re: Permissão para Criar Conteúdo

Olá João,
desculpa a resposta tardia mas só agora dei por esta conversa.

Na minha opinião penso que a melhor forma de implementar tal funcionalidade seria com um script.

Um script que seja executado como inbound tem acesso ao utilizador criador do conteúdo, aos grupos a que este pertence e claro ao conteúdo propriamente dito. Assim sendo o script apenas teria de aplicar a regra de segurança que descreves.
Para configurar o script no alfresco apenas o terias de o associar ao espaço root e definir como sendo recursivo para que não tenhas de fazer esta configuração espaço a espaço.

Espero ter ajudado.
sneto
Member II

Re: Permissão para Criar Conteúdo

Caros Ivo,

Muito obrigado pelo seu complemento à explicação.

De facto, é uma solução simples, mais barata mas com os seus contras. Tudo depende dos recursos e da organização, como disse e muito bem.

Se a organização tiver disponibilidade para desenvolver uma solução mais "eficaz" acho que o deve fazer. No entanto, o Alfresco consegue cumprir este requisito com uns truques e sem recorrer a desenvolvimento Smiley Very Happy

Procuro sempre dar as soluções mais simples e que recorram ao mínimo a desenvolvimento, até para exemplificar como é possível satisfazer os mais diversos requisitos usando simplesmente Alfresco ;-)

Usamos Alfresco desde Junho de 2006, e internamente apenas desenvolvemos um módulo de Assinatura Digital, todos os outros nossos requisitos - uns mais complexos que outros  - são resolvidos com recurso às funcionalidades base do Alfresco.
ivo_costa
Member II

Re: Permissão para Criar Conteúdo

Olá João

desculpa a demora, quando me refiro a uma regra geral quero dizer uma regra que aplicas à raiz de todos os teus espaço,
a ideia seria essa regra "eliminar" todos os ficheiros dos tipos que queres restringir.

Os espaços que definiste como locais de "criação" dos tipos de ficheiro que queres teriam então que não ter a opção de herança activa.

Isto é apenas uma ideia e ainda nem testei esta hipótese, diz qualquer coisa sobre como correu Smiley Wink

Já agora penso que também devias estudar a solução do hpalma, é certo que é algum desenvolvimento, mas não é um desenvolvimento por dizer "profundo" e responde a este teu requisito.


Cumprimentos
Ivo Costa