Oracle Universal Content Management – Hands On

Autor: Denis Abrantes (denis.abrantes@oracle.com)


Bem vindo! Nesta série de tutoriais, iremos configurar o ambiente do Universal Content Management.

Esta é a segunda parte do tutorial. Continuando de onde paramos:

Passo 04 - Trabalhando com Tipos e Metadados

Nesta etapa iremos definir os tipos de documentos e atributos de cada tipo.

  • Na página Admin Applets, clique em Configuration Manager
  • Clique em Options -> Content Types
  • Defina os campos conforme a imagem abaixo e clique OK.


  • epetindo os passos anteriores, crie um tipo chamado Notas_Fiscais.


  • Clique em Close.
  • Nesta janela podemos ver a lista dos metadados. Clique em Add… para adicionar um novo.
  • Defina o nome como processo_NumProcesso e pressione OK.
  • Defina o Field Caption como “Número do Processo”. Mantenha os demais campos com os valores default e clique em OK.
  • Crie os demais campos, conforme a tabela abaixo:

Field Name

Field Caption

Type

processo_Partes

Partes no Processo

Long Text

processo_Estado

Estado

Text

processo_Comarca

Comarca

Text

processo_Responsavel

Responsável pelo Processo

Long Text

nf_NumNotaFiscal

Número da Nota Fiscal

Text

nf_DtEmissao

Data de Emissão

Date

nf_DtVencimento

Data de Vencimento

Date

nf_Valor

Valor da Nota Fiscal

Text

nf_Descricao

Descrição da Nota Fiscal

Memo

  • Após a criação dos campos, a lista deverá estar semelhante à da imagem abaixo:
  • Clique no botão Update Database Design e OK na janela de confirmação.
  • Em seguida iremos tornar alguns destes campos mais inteligentes. O primeiro passo é criarmos um relacionamento entre os campos Estado e Comarca. Para isto:
    • Clique na aba Tables e no botão Create Table.
    • Defina o Table Name como Estados
    • Adicione dois campos:
      • sg_estado – tipo: varchar – tamanho: 2 – primary: Yes
      • nm_estado – tipo: varchar – tamanho: 20
      • Clique OK para fechar a janela


 
  • Crie uma outra tabela chamada Comarcas, com os seguintes campos:
    • sg_estado – tipo: varchar – tamanho: 2 – primary: Yes
    • nm_comarca – tipo: varchar – tamanho: 40 – primary: Yes


 
  • Clique na aba Views e em seguida clique no botão Add…
  • Na lista de tabelas, selecione a tabela Estados e clique em Next
  • Selecione os dois campos e clique em Finish.
  • Defina o nome como Estados_view, e no campo Visible Column, selecione nm_estado



 
  • Repita este processo, criando uma view chamada Comarcas_view, baseada na tabela Comarcas.



 
  • Voltando à lista de Views, selecione a Estados_view e clique no botão Edit Values…
  • Clique no botão Add para adicionar valores na tabela.
  • Adicione alguns estados e clique em Close.


 
  • Faça o mesmo procedimento para criar os valores da view Comarcas. Lembre-se que os campos sg_estado devem ter exatamente o mesmo valor nas duas views, ou o relacionamento não irá funcionar.



 
  • Clique na aba Relations e em seguida no botão Add…
  • Defina os campos conforme a imagem abaixo:



 
  • Clique OK.
  • Agora iremos configurar os campos para usarem estas listas.
  • Clique na aba Information Fields, selecione o campo processo_estado e clique em Edit.
  • Marque a opção Enable Option List e clique no botão Configure…



 
  • Na próxima janela, marque a opção Use View e selecione a view Estados_view



 
  • Clique OK e em seguida OK novamente.
  • Selecione o campo processo_Comarca, clique em Edit, marque a opção Enable Option List e clique em Configure
  • Marque a opção Use View, selecione a Comarcas_view. Marque a caixa de opção Dependent Field e selecione o campo xprocesso_Estado. Selecione o relacionamento Estado_Comarca.



 
  • Clique OK e em seguida OK novamente.
  • Com isto, os campos estão relacionados e são dependentes.
  • Para testarmos esta configuração, execute os seguintes comandos:
    • Options -> Publish Dynamic Layout Files
    • Options -> Publish Static Layout Files
    • Options -> Exit
  • Clique no link New Check In
  • (OBS: caso ocorra um erro de Javascript, clique no link Refresh)
  • Desça pelo formulário até os campos de Estado e Comarca e teste os valores



 

Passo 05 - Content Profiles

Como podemos ver nas páginas de Check In, todos os metadados estão disponíveis para configuração.  Para o usuário comum, são muitos campos. Content Profiles, ou Perfis de Conteúdo, são uma forma de simplificar as telas que tratam de conteúdo (check in, busca, etc) e exibir apenas alguns campos e valores de metadados, dependendo de certas regras. Estas telas de check in e busca também podem ser personalizadas.

Vamos criar uma nova tela de Check In que irá tornar mais fácil a navegação dos usuários. Vamos acionar este Profile com base no campo Profile Trigger. Vamos remover todos os campos desnecessários e montar um formulário com apenas os campos importantes.

  • Expanda a pasta Administration, clique em Admin Applets e abra o Configuration Manager.
  • Precisamos criar um campo que conterá os perfis de conteúdo. Os valores deste campo irão compor as opções no link New Check In.
  • Clique no botão add e crie um campo chamado ProfileTrigger
  • Defina o campo como Text, marque a opção Enable Option List e clique em Configure
  • Na próxima janela, clique no botão Edit. Insira os valores conforme a imagem abaixo:



 
  • Clique OK, OK e OK novamente. Clique no botão Update Database Design e OK na janela de confirmação.
  • Clique na aba Rules e no botão Add…
  • Defina o nome como Basico e marque a opção Is Group



 
  • Clique na aba Fields e no botão Add…
  • Selecione o Field Name Content_ID e clique OK.
  • Defina o Type como Hidden e clique OK.



 
  • Repita os passos anteriores, para inserir os seguintes campos:

Field Name

Type

Custom Label

Title

Edit

Título do Documento

Author

Info Only

Autor

Revision

Info Only

Versão

Release Date

Info Only

Data de Publicação

  • Usando os botões Up e Down, mova os campos Info Only para a parte superior da lista.



 
  • Clique OK
  • Clique no botão add e crie uma regra chamada Processo.
  • Na aba Fields, clique no botão Add… e selecione o campo Type.
  • Defina o campo como Info Only.
  • Marque a opção Use Custom Label e defina o texto como “Tipo de Documento”
  • Marque a caixa de opção Use Default Value  e clique no botão Edit…
  • Clique no botão Add…, defina o nome da regra como 1.
  • Selecione, no campo Field, a opção ProfileTrigger. No campo Value, selecione o valor Processos e clique no botão Add.
  • No campo Value na parte de baixo da tela, selecione o valor Processo e clique OK.



 

 

  1. Clique OK.
  2. Clique em Add para adicionar um novo campo. Selecione Security Group e clique OK.
  3. Defina a opção “Use custom label” como Grupo de Segurança
  4. Marque a opção Use Default Value e clique em Edit…
  5. Clique no botão Add.. e adicione uma condição chamada 1.
  6. No campo Field, selecione ProfileTrigger. No campo Value, selecione Processos e clique em Add
  7. No campo Value na parte de baixo da tela, selecione o valor Juridico e clique OK.
  8. Clique OK.
  9. Repita os passos acima para os campos Account e ProfileTrigger.
  10. Você também pode definir em qual pasta o documento será armazenado. Veremos como mais adiante.
  11. Adicione os seguintes campos:

Field Name

Type

Numero do Processo

Edit

Partes no Processo

Edit

Estado

Edit

Comarca

Edit

Responsável pelo Processo

Edit


 

Definindo Valores Dinamicamente

Vamos imaginar que todos os processos cadastrados no sistema vencem exatamente 1 ano após a data do cadastro. Como podemos definir este valor dinamicamente?
O Content Server oferece uma poderosa linguagem de scripts para que você possa definir este tipo de regra sem complicação. Qualquer metadado de entrada ou variável de sistema pode ser validado em tempo de check-in para que o sistema possa definir o valor adequado de um determinado
 


 


 
  1. Seguindo estes passos, crie uma outra regra chamada Nota_Fiscal.
  2. Adicione os mesmos campos de sistema da regra Processos (Type, Security Group, Account, ProfileTrigger), com os valores para Contabil.
  3. Adicione os seguintes campos:

Field Name

Type

Numero da Nota Fiscal

Edit

Data de Emissão

Edit

Data de Vencimento

Edit

Valor da Nota Fiscal

Edit

Descrição da Nota Fiscal

Edit


 



 
  • Clique OK para salvar esta regra.
  • Clique em Add para criar uma nova regra. Defina o nome desta regra como Campos_Dinamicos.
  • Na aba General, marque a opção "Use rule activation condition" e clique no botão Edit ao lado
  • Clique no botão Add…, defina o nome da Condição como 1 e clique OK.
  • Marque as seguintes opções: "Use Event", "On Submit", "Use action", "Check In New", "Check In Selected", "Content Update", "Is not workflow"



 
  • Clique OK.
  • Clique na aba Fields e adicione o campo Expiration Date.
  • Marque a caixa de opção Use Default Value e clique no botão Edit…
  • Clique na aba Custom, marque a caixa de opção Custom e digite o código abaixo:

    <$filetype=#active.dDocType$>
    <$if strIndexOf(filetype, "Processo") >= 0$>
             <$dprDefaultValue=dateCurrent(365)$>
    <$endif$>
  • OBS: o comando dateCurrent(365) retorna a data atual do sistema e adiciona 365 dias.
  • Clique OK.
  • Marque a opção Is Derived Field e clique no botão Edit…
  • Clique na aba Custom, marque a caixa de opção Custom e digite o código abaixo:

    <$filetype=#active.dDocType$>
    <$if strIndexOf(filetype, "Processo") >= 0$>
             <$dprDerivedValue=dateCurrent(365)$>
    <$endif$>
  • Clique OK.


 
  • Clique OK e OK novamente
  • OBS: Outros campos dinâmicos poderão ser adicionado à esta regra no futuro.
  • Agora que já temos nossas regras, vamos criar os Perfis.
  • Clique na aba Profiles e em seguida no botão Select…
  • Selecione o campo ProfileTrigger e clique OK.


 
  • Clique no botão Add e defina o nome como Processo
  • Defina o Label e Description como Processo
  • No campo Trigger, selecione o valor Processo.
  • Marque a opção Exclude non-rule fields
  • Clique no botão Add e adicione as regras Básico – Processo e Campos Dinâmicos



 
  • Clique OK.
  • Crie um novo perfil chamado Notas_Fiscais, com as regras Basico e Nota_Fiscal



 
  • Clique em Options -> Publish Dynamic Layout Files
  • Clique em Options -> Publish Static Layout Files
  • Clique em Options -> Exit
  • Feche todas as janelas abertas.



Passo 06 – Estrutura de Pastas e Check In de Conteúdo


Vamos fazer via browser o checkin de um documento, através de um formulário dinâmico.

  • Primeiramente vamos criar uma nova pasta para armazenar este documento.
  • Abra o Content Server, faça login como sysadmin.
  • No menu lateral, expanda o grupo Browse Content e clique em Contribution Folders
  • Na página que contém a lista de pastas, clique na caixa de seleção Actions e selecione New Folder.
  • Preencha os campos de acordo com a tela abaixo:



 
  • Desca até o final da página e clique em Save.
  • Clique novamente em Contribution Folders e crie uma nova pasta chamada Contabil



 
  • Dentro da pasta Juridico, crie uma subpasta Processos
  • Dentro da pasta Contabil, crie uma subpasta Notas Fiscais
  • A estrutura final deverá ficar como a da imagem abaixo:



 
  • Podemos agora testar a efetividade das nossas políticas de segurança. Da forma como montamos nossas regras, o usuário advogado não deveria ter acesso às pastas Contábeis, mesmo tendo a role Contributor.
  • Feche todas as janelas abertas, abra uma nova janela e acesse o UCM como o usuário advogado.
  • Expanda a aba Browse Content, e clique na pasta Contribution Folders. Podemos ver que apenas as pastas Documentos e Jurídico estão visíveis. O usuário nem mesmo sabe que a pasta Contabil existe.
  • OBS: aproveite para verificar os Ids das pastas. Para isto, deixe o mouse em cima da pasta Processos e verifique na barra de status o valor do parâmetro CollectionId.



 
  • Com estes valores, volte nas regras criadas e adicione o campo Folder (xCollectionID). Defina como o valor default o ID da pasta. Desta forma, os documentos serão armazenados nas pastas corretas durante o check-in. Faça o mesmo com a pasta Notas Fiscais. OBS: Esta configuração deve ser feita com o usuário syadmin.
  • A configuração deverá ser feita seguindo a imagem abaixo:



 
  • Agora vamos fazer um  Check-In e testar as regras de publicação.
  • Clique no link New Check-In e selecione a opção Processo
  • Verifique se os valores padrão dos campos estão de acordo com o que definimos.
  • Selecione um arquivo qualquer, preencha os campos e clique em Check-In



 
  • Com as regras definidas, o usuário não tem como modificar as permissões de segurança do documento. Isto pode ser útil para evitarmos que usuários destreinados gravem documentos sem a definição correta de segurança. Estes campos podem ficar escondidos para simplificar a tela de publicação.
  • Na tela de retorno, clique no link Content Info para acessar a tela de informações
  • Repare que o campo Expiration Date está definido de acordo com a regra que criamos: exatamente um ano após a publicação.



 
  • Feche a janela do Internet Explorer. Abra uma nova janela e acesse o UCM com o usuário contador.
  • Navegue nas pastas para verificar quais são visíveis ao usuário:



 
  • A mesma segurança se aplica à todo o conteúdo que for publicado com a Account configurada, mesmo que eles não sejam armazenados nestas pastas.
  • Clique no link New Check In -> Notas Fiscais
  • Na tela de Check In, clique no botão Browse… ao lado do campo Primary File e selecione um arquivo qualquer.
  • Preencha o campo Título com o texto Nota Fiscal 1234
  • Confira se os campos estão de acordo com a tela abaixo, vá até o final da página e clique em Check In.


 
  • Uma página de confirmação será exibida


 
  • Feche a janela do Internet Explorer.

Com isso encerramos a segunda parte do nosso tutorial. Não perca a terceira e última parte do nosso exercício, aonde veremos integração com Windows Explorer, pastas virtuais e workflows. Veja Parte 3