Hands-On do UCM

Transcrição

Hands-On do UCM
Oracle Universal Content Management
Workshop Remoto
Exercício 02 – Hands-On UCM
Denis Abrantes | Senior Product Manager - Latin America
Oracle Fusion Middleware
Oracle Enterprise Content Management 11g Certified Implementation Specialist
blogs.oracle.com/ecmbrasil/
"True Enterprise Content Management is an initiative, not an application"
Page 1 of 58
Oracle Universal Content Management – Hands On
Bem vindo! Neste tutorial, iremos configurar o ambiente do Universal Content Management.
O Oracle Universal Content Management (UCM) é uma solução focada em gestão de conteúdo. O objetivo desta
solução é gerenciar o conteúdo não-estruturado (ou seja, o conteúdo que não está armazenado em tabelas de
bancos de dados) que é importante para o dia-a-dia da empresa: emails, contratos, planilhas, notas fiscais,
projetos, imagens, vídeos, desenhos de arquitetura, etc. Segundo os institutos de pesquisa, este conteúdo
corresponde à 80% do conteúdo de negócios que existe em um ambiente corporativo, o que é um volume muito
maior do que o volume de conteúdo estruturado (ou seja, os dados gerenciados por sistemas de gestão – ERP,
CRM, etc). Apesar disso, durante muito tempo não existia uma tecnologia capaz de administrar esta imensa massa
de informações. O UCM surgiu para atender à esta demanda.
Dando sequência ao tutorial de Instalação, iremos agora configurar o nosso repositório, definindo os tipos de
documentos, regras, fluxos e muito mais.
Iniciando os Serviços
Se o seu ambiente estiver fora do ar, siga a seguinte sequência para iniciar os serviços:
1. Inicie o banco de dados através do menu Start -> Oracle Database Express Edition -> Start Database.
2. Abra a janela de serviços do Windows, através do menu Start -> Run -> services.msc
3. Selecione o serviço IDC Inbound Refinery Service ibr e clique em Start.
4. Selecione o serviço IDC Content Service ucm e clique em Start.
5. Verifique se o serviço do Apache está no ar; se não estiver, clique em Start.
Usuários e senhas disponíveis:
Usuários (Nome completo)
sysadmin (System Administrator)
Senhas
idc
Os demais usuários serão criados ao longo do exercício.
Page 2 of 58
Introdução
Antes de iniciarmos, vamos rever alguns dos principais conceitos do Universal Content Management:
Infraestrutura do UCM
O Content Server é uma aplicação baseada em Java, que usa um banco de dados para armazenar os atributos dos
documentos, um motor de busca (que pode ser o próprio banco de dados, ou um motor externo) e o sistema de
arquivos para armazenar os documentos. É possível também armazenar os documentos diretamente no banco de
dados.
Page 3 of 58
O Content Server oferece múltipla formas de acesso ao conteúdo: usuários finais podem acessar via Web, Windows
Explorer (através do protocolo WebDav), sites da Web (desenvolvidos com o Site Studio ou Content Publisher),
portais de mercado (através de Portlets) e aplicações diversas, através de APIs de integração e Web Services. O
objetivo é que o conteúdo do repositório esteja disponível aos usuários através do maior número possível de
interfaces diferentes.
Processo de Armazenamento de Arquivos
O processo de armazenamento, também chamado de Checkin, permite que um documento seja carregado no
repositório. Este processo pode ser iniciado de várias formas: Copiar e Colar pelo Windows Explorer, um formulário
de armazenamento na Web, através de Portal, cliente de Email (Outlook/Lotus Notes), ou até mesmo através de
aplicativos customizados, via APIs ou Web Services.
Independente da forma utilizada para publicar este documento, o mesmo processo é realizado quando ele é
armazenado. Embora este processo possa ser configurado ou customizado, ele basicamente segue as seguintes
etapas:
• Os metadados são definidos e armazenados no banco de dados
• O arquivo nativo (formato original) é armazenado na pasta Vault do local de armazenamento
• O documento é enviado para o módulo de conversão, para que a versão Web seja criada. Uma vez criada,
ela será armazenada na pasta Weblayout do local de armazenamento
• O servidor irá validar se este documento atende algum critério de workflow. Caso atenda, o fluxo de
aprovação é iniciado
Page 4 of 58
• O documento é indexado para que os usuários possam fazer buscas pelo seu conteúdo textual (full-text)
• Finalmente, o documento é liberado para uso, através das diversas interfaces listadas anteriormente.
Como comentamos, este processo pode variar: nem todos os arquivos terão versão web, e os documentos poderão
ser armazenados no banco de dados ao invés da file system.
Arquivos de Configuração e Estrutura de Pastas
O UCM está instalado na pasta C:\oracle\ecm\ucm. Abra esta pasta no Windows Explorer para ver a estrutura
dos diretórios.
Estrutura de Pastas do UCM
No processo de check-in, o arquivo é armazenado no diretório vault, em uma subpasta com o nome do Content
Type. O arquivo é renomeado com o ID do conteúdo, que é gerado automaticamente pelo UCM.
C:\oracle\ecm\ <instance> \ vault \ benefits \ 1.doc
Instalação do ECM
Type
ID do documento
O diretório weblayout armazena a versão “webviewable” de todos os documentos armazenados no servidor. Um
componente de conversão como o PDF Converter é necessário. Caso não haja componente de conversão, uma
cópia no mesmo formato do documento é inserida nesta pasta.
Page 5 of 58
C:\ecm\ucm\<instance>\weblayout \groups\public \documents\benefits \id_00001.doc
Instalação do ECM
Security Group
Type
ID do documento
Os arquivos de configuração ficam na pasta config. O mais importante é o config.cfg, que pode ser editado em
qualquer editor de texto ou via interface web do Content Admin Server:
Naturalmente esta estrutura de armazenamento é configurável: ter um volume muito grande de arquivos na
mesma pasta compromete a performance do sistema operacional. As regras dinâmicas de armazenamento podem
contornar este problema, inclusive criando novas pastas periodicamente para melhor distribuir os documentos, tudo
de forma automática.
Para obter mais detalhes sobre as configurações de sistema, recomendamos a Documentação Oficial do UCM:
Managing System Settings and Processes:
http://download.oracle.com/docs/cd/E10316_01/cs/cs_doc_10/admin/system/wwhelp/wwhimpl/js/html/wwhelp.htm
Trabalhando com Componentes
Componentes são módulos adicionais que trazem novas funcionalidades ao Content Server. Existem alguns
componentes de exemplo disponíveis no website da Oracle: http://otn.oracle.com.
A arquitetura de componentes permite que desenvolvedores acessem as funcionalidades do core do Content
Server, criando customizações avançadas que não seriam possíveis através de simples customizações. É possível
sobrescrever alguns recursos do Content Server por componentes customizados.
Alguns exemplos de recursos que podem ser customizados:
• Modificar o HTML exibido após uma requisição de serviço;
• Modificar ou criar comandos SQL utilizados durante a execução de um serviço;
• Modificar ou criar métodos Java executados durante um serviço;
Page 6 of 58
•
Adicionar serviços completamente novos, com SQL, Java e templates customizados
Existem componentes disponíveis para download no Metalink, mais detalhes nos notes abaixo:
Note: 459642.1 - Reference Table for Locations of Content Server Published Components (Extras and Misc)
Note: 452978.1 - 10gR3 (10.1.3.3.0 to 10.1.3.3.3) Stellent-Oracle Cross Reference for E-delivery Downloads
Como parte deste workshop, iremos desenvolver um componente, em um próximo exercício.
Passo 1 – Definir Grupos de Segurança e Atribuições
A segurança do Content Server é dividida em quatro elementos:
-
Security Group: Grupo de conteúdo. Cada arquivo armazenado no servidor é associado a um grupo de
segurança. Os usuários ganham acesso aos grupos de segurança através das roles.
Role: Define as permissões (read, write, delete, admin) que os usuários tem em cada security group. Cada
usuário pode ter várias Roles.
User: Indivíduo que irá ter acesso às informações do Content Server. Um usuário pode ter diversas Roles e
Accounts.
Account: Grupo de conteúdo. Funcionalidade opcional que aumenta as funcionalidades de segurança e
oferece mais flexibilidade e granularidade do que usar apenas grupos. Diferente dos grupos, as accounts
são associadas diretamente aos usuários. Cada arquivo armazenado no servidor é associado a um grupo e
opcionalmente, a uma account.
OBS: existem componentes adicionais que implementam controle de acesso granular e regras dinâmicas, mas
eles não serão explorados neste exercício.
Modelo de Segurança:
Page 7 of 58
Definindo Configurações de Segurança:
Vamos criar um grupo chamado Contabil e definir as permissões de segurança para este grupo.
Na página do Content Server, vá ao menu Administration e clique em Admin Applets
Clique no botão User Admin.
Vá ao menu Security -> Permissions by Group...
Clique em Add Group… e preencha de acordo com as informações abaixo:
Clique em OK. Crie um outro grupo chamado Juridico.
Clique no botão Close para fechar esta janela.
De volta à janela de usuários, vá ao menu Security -> Permissions by Role.
Clique em Add New Role… e preencha o nome como leitor:
Page 8 of 58
Crie outra role chamada gerente
Para cada Role, vamos definir as seguintes permissões nos grupos:
Grupo
Juridico
Contabil
Role
Admin
Contributor
Leitor
Gerente
Admin
Contributor
Leitor
Gerente
Permissão
RWDA
RW
R
RWD
RWDA
RW
R
RWD
Para isso, selecione os Grupos de Segurança para cada Role e clique no botão Edit Permissions.
Page 9 of 58
Confira se as permissões de segurança estão de acordo com a tabela acima.
Clique em Close para retornar à tela de User Admin. Clique em Options -> Exit para sair.
Antes de criarmos os usuários, precisamos habilitar as Accounts (Contas) no sistema. Para isto:
o Expanda a aba Administration e clique em Admin Server.
o Clique no botão ucm e em seguida em General Configuration
o Na janela Additional Configuration Variables, abra uma nova linha e digite:
• UseAccounts=true
o
o
Clique em Save e reinicie o Content Server.
Feche todas as janelas abertas.
Passo 2 – Criar Accounts e Usuários
Abra o Internet Explorer e acesse o Content Server como sysadmin. Expanda o painel Administration e
clique em Admin Applets. Abra o User Admin.
Antes de criarmos os usuários, iremos criar as Accounts. Para isto:
o Clique no menu Security -> Predefined Accounts
o Clique em Add e defina o nome como Juridico
o Clique em Add e defina o nome como Contabil
Page 10 of 58
o
Clique em Close.
Para que servem as Accounts?
Neste contexto, teremos dois usuários com privilégios (role) de Contributor: advogado e
contador. O que impede o contador de acessar os processos, ou o advogado de ter
acesso às notas fiscais? Nada, uma vez que os dois tem o mesmo privilégio.
Uma solução seria criar duas roles: Contributor_Juridico e Contributor_Contabil. Porém,
isto aumenta em muito a complexidade em ambientes com muitos grupos e roles.
Uma solução para este problema seria criamos duas Accounts: Jurídico e Contábil. Então
poderemos associar os usuários e os documentos às Accounts, permitindo, desta forma,
que apenas os usuários com a role Contributor e a Account Jurídico possam ter acesso
aos processos, e apenas usuários com a role Contributor e a Account Contábil tenham
acesso às notas fiscais..
Para criar um usuário, clique no botão Add… , deixe Authorization Type como Local, clique OK e
preencha com os seguintes dados:
o Name: advogado
o Full Name: Advogado Interno
o Password e Confirm Password: welcome1
o E-mail Address: [email protected]
OBS: O nome do usuário é case sensitive. Para este exercício, manteremos todos em minúsculas.
Os campos restantes não precisam ser preenchidos
Na aba Roles, clique em Add Role e adicione a role Contributor
Na aba Accounts, clique em Add, selecione Juridico, desmarque Delete e Admin e clique OK. Selecione
o Default Account como Juridico.
Clique OK. O usuário Advogado é criado.
Crie outros usuários, conforme a tabela abaixo (defina também as Default Accounts):
Name
contador
gerjuridico
gercontabil
Full Name
Contador
Gerente Jurídico
Gerente Contábil
Password
welcome1
welcome1
welcome1
Email
contador@…
gerjuridico@…
gercontabil@…
Role
Contributor
Gerente
Gerente
Account (Default)
Contabil (RW)
Juridico (RWD)
Contabil (RWD)
Page 11 of 58
assjuridico
asscontabil
Assistente Jurídico
Assistente Contábil
welcome1
welcome1
assjuridico@…
asscontabil@…
Leitor
Leitor
Juridico (R)
Contabil (R)
OBS1: Os usuários Assistente não terão Account Default, pois serão somente leitura
Clique em Options -> Exit para fechar a janela do User Admin.
OBS2: Neste momento você terá diversos usuários com a senha welcome1, e o sysadmin com a senha
idc. Talvez seja interessante mudar a senha do sysadmin para welcome1. Você pode fazer isso clicando
no link My Profile na barra de links.
Opcionalmente, você pode criar contas de email para que os usuários sejam notificados pelos
Workflows. Para isso, clique com o botão direito no ícone do ArgoSoft Mail Server Freeware na barra de
tarefas (
) e selecione a opção Users
Clique no botão Add New User e preencha com os dados do usuário (senha welcome1)
Clique OK. Também é necessário criar um perfil para estes usuários no Outlook. Consulte a
documentação do Outlook para obter mais informações sobre este procedimento.
Volte ao User Admin e clique na aba Information Fields
A tabela Field Info mostra a lista de todos os metadados configurados no servidor.
Vamos criar um metadado customizado. Clique no botão Add… que fica abaixo da lista Field Info
Coloque o Field Name como Departamento e clique em OK.
Page 12 of 58
Na tela de informações, deixe o campo Field Type como Text e marque a caixa de opção Option List
Clique no botão Edit. Na caixa de texto que aparecer, digite os seguintes valores, um em cada linha:
Juridico
Contabil
RH
Financeiro
Clique em OK para fechar esta janela e OK novamente na próxima janela.
Com o metadado criado, podemos voltar na aba Users, selecionar o usuário advogado e clicar em
Edit…
Na tela de edição, podemos ver que agora temos um novo atributo disponível, Departamento. Vamos
definir o Departamento deste usuário como Juridico.
Page 13 of 58
Clique OK para fechar esta janela.
Edite o mesmo atributo para os demais usuários.
Volte na aba Information Fields e clique no botão Update Database Design e OK para confirmar.
No menu Options, clique em Exit.
Passo 03 – Criando Tokens
Se quisermos criar um critério dinâmico, que se aplique à diferentes cenários, muitas vezes utilizamos ‘Tokens’.
Tokens nos permitem definir um passo dinâmico em um workflow, dependendo do valor de um determinado
metadado ou informação de um usuário. Por exemplo, ao invés de declarar especificamente o usuário advogado
como aprovador, vamos também definir o usuário autor do documento como aprovador. Obviamente, o autor do
documento irá variar de acordo com o usuário que submeteu o documento ao repositório. Mas, usando Tokens,
precisaremos criar apenas um workflow e um step.
Na tela do Admin Applets, abra o Workflow Admin
No menu Options, selecione a opção Tokens…
Clique em Add… e defina o nome como Autor
Clique no botão Add… ao lado de Users
Deixe a seleção em User e digite dDocAuthor no campo Name
Page 14 of 58
Clique OK e, na próxima janela, Close.
Ainda não iremos criar os Workflows, portanto clique em Options -> Exit.
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
Clique no botão Add... para criar um novo tipo
Defina os campos conforme a imagem abaixo e clique OK.
Repetindo os passos anteriores, crie um tipo chamado Notas_Fiscais.
Page 15 of 58
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:
Page 16 of 58
Field Name
processo_Partes
processo_Estado
processo_Comarca
processo_Responsavel
nf_NumNotaFiscal
nf_DtEmissao
nf_DtVencimento
nf_Valor
nf_Descricao
Field Caption
Partes no Processo
Estado
Comarca
Responsável pelo Processo
Número da Nota Fiscal
Data de Emissão
Data de Vencimento
Valor da Nota Fiscal
Descrição da Nota Fiscal
Type
Long Text
Text
Text
Long Text
Text
Date
Date
Text
Memo
OBS: Atualizando o UCM para a versão 10.1.3.5, um novo tipo de campo chamado Decimal estará
disponível, e poderá ser utilizado no campo Valor da Nota Fiscal.
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:
o Clique na aba Tables e no botão Create Table.
o Defina o Table Name como Estados
o Adicione dois campos:
sg_estado – tipo: varchar – tamanho: 2 – primary: Yes
nm_estado – tipo: varchar – tamanho: 20
Clique OK para fechar a janela
Page 17 of 58
o
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
Page 18 of 58
o
o
o
o
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
o
o
Clique OK para criar a View
Repita este processo, criando uma view chamada Comarcas_view, baseada na tabela Comarcas.
Page 19 of 58
o
o
o
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.
Page 20 of 58
o
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.
Page 21 of 58
o
o
Clique na aba Relations e em seguida no botão Add…
Defina os campos conforme a imagem abaixo:
o
o
o
o
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…
o
Na próxima janela, marque a opção Use View e selecione a view Estados_view
Page 22 of 58
o
o
o
o
o
o
o
o
o
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.
Page 23 of 58
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
Page 24 of 58
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
Title
Author
Revision
Release Date
Type
Edit
Info Only
Info Only
Info Only
Custom Label
Título do Documento
Autor
Versão
Data de Publicação
Usando os botões Up e Down, mova os campos Info Only para a parte superior da lista.
Page 25 of 58
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 Processo.
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.
Page 26 of 58
Clique OK.
Clique em Add para adicionar um novo campo. Selecione Security Group e clique OK.
Defina este campo como Info Only.
Defina a opção “Use custom label” como Grupo de Segurança
Marque a opção Use Default Value e clique em Edit…
Clique no botão Add.. e adicione uma condição chamada Processo.
No campo Field, selecione ProfileTrigger. No campo Value, selecione Processos e clique em Add
No campo Value na parte de baixo da tela, selecione o valor Juridico e clique OK.
Clique OK.
Repita os passos acima para os campos Account e ProfileTrigger (OBS: este último como Hidden).
Você também pode definir em qual pasta o documento será armazenado. Veremos como mais adiante.
Adicione os seguintes campos:
Field Name
Numero do Processo
Partes no Processo
Estado
Comarca
Responsável pelo Processo
Type
Edit
Edit
Edit
Edit
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 atributo.
Page 27 of 58
Seguindo estes passos, crie uma outra regra chamada Nota_Fiscal.
Adicione os mesmos campos de sistema da regra Processos (Type, Security Group, Account,
ProfileTrigger), com os valores para Contabil.
Adicione os seguintes campos:
Field Name
Numero da Nota Fiscal
Data de Emissão
Data de Vencimento
Valor da Nota Fiscal
Descrição da Nota Fiscal
Type
Edit
Edit
Edit
Edit
Edit
Page 28 of 58
Clique OK para salvar esta regra.
OBS: Como você deve ter reparado, não era necessário incluir os campos (Type, Security Group,
Account, ProfileTrigger) nas duas regras. O ideal seria que estes campos fossem incluídos na regra
Basicos, com as duas condições (Processos e NotasFiscais). Desta forma, o mesmo campo, na mesma
regra, pode receber valores diferentes, de acordo com um parâmetro (neste caso, o valor do campo
ProfileTrigger).
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"
Page 29 of 58
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.
Page 30 of 58
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
Page 31 of 58
Clique OK.
Crie um novo perfil chamado Notas_Fiscais, com as regras Basico e Nota_Fiscal
Page 32 of 58
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
Page 33 of 58
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.
Repare que a opção New Check In agora virou um menu, com 3 opções: Processos, Notas Fiscais e
Standard Check In
OBS: Standard Check In é a opção sem perfil, ou seja, com todos os campos do repositório.
Repare que o usuário advogado não tem permissão de criar documentos contábeis, portanto a opção
Notas Fiscais será confusa, uma vez que ele irá receber uma mensagem de erro se tentar criar um
documento deste tipo. Assim como o tipo Processo está inacessível para o usuário contador. Para
evitarmos problemas, não deixaremos o usuário advogado ver a opção Notas Fiscais e também não
deixaremos o usuário contador ver a opção Processo.
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:
Page 34 of 58
Ainda no Configuration Manager, vá até a aba Profiles, selecione o perfil Processo e clique em Edit
Marque a opção Restrict Personalization Links e clique no botão Edit
Marque as duas caixas de opção (Has script for the checkin link e Has script for the search link)
Page 35 of 58
Clique no botão Edit do primeiro para definirmos a regra.
Existem várias opções para criar a regra. Como este é um exercício, vamos utilizar o campo
Departamento que criamos anteriormente.
Clique no botão Add, crie uma regra chamada Processo e defina os parâmetros de acordo com a
imagem:
Page 36 of 58
Esta regra vai garantir que apenas usuários do departamento Jurídico possam ver esta opção
ATENÇÃO: Esta não é a melhor forma de definir esta regra. Primeiro porque “Departamento” é um
metadado que não tem relação com as políticas de segurança. Segundo porque, neste caso, o
assistente jurídico, mesmo não tendo permissão de gravação, continuaria vendo a opção Processos no
menu de checkin. Neste caso, e em ambientes de projeto, o ideal é validar se o usuário possui uma
Role ou Account válidas para fazer o checkin. A Role pode ser validada na interface gráfica, da mesma
forma como fizemos com o Departamento. Para validar por Account, será necessário acessar a aba
Custom e criar um script, como:
<$if userHasAccessToAccount("Juridico", "W")$>
<$isLinkActive=1$>
<$endif$>
Este script valida se o usuário possui permissão de Write na Account Juridico. Esta permissão é
necessária para fazer o checkin. Naturalmente, é possível somar as duas condições, para garantir que o
usuário tem permissão na Role e na Account.
OBS: Neste caso, a regra para Search seria diferente da regra para Checkin. Mesmo não tendo acesso
de W (write), o usuário Assistente Jurídico ainda deverá ser capaz de fazer buscas, portanto, deve ter a
opção habilitada no menu. Por isso, vale usar regras um pouco diferentes para checkin e busca.
Crie as mesmas regras para Notas Fiscais.
OBS: Antes de testar as regras, volte no User Admin e verifique se os usuários estão com os
Departamentos corretamente definidos.
Agora vamos fazer um Check-In e testar as regras de publicação.
Page 37 of 58
Feche todas as janelas do navegador, abra uma nova janela e faça login como Advogado.
Clique no link New Check-In e selecione a opção Processo. Repare que a opção Notas Fiscais não está
disponível para este usuário.
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.
Page 38 of 58
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.
Page 39 of 58
Uma página de confirmação será exibida
OBS: O ID do documento pode variar
Feche a janela do Internet Explorer.
Page 40 of 58
Passo 07 - Integração com Windows Explorer
Neste tópico iremos explorar algumas características da integração com Windows Explorer.
No Desktop, execute o ícone Oracle Content Servers
Clique duas vezes no link UCM, e faça o login como sysadmin.
Abra a pasta Contribution Folders -> Jurídico -> Processos. O arquivo que publicamos anteriormente
deverá estar armazenado nesta pasta.
Selecione o arquivo. Neste momento conseguimos ver todos os metadados referentes à este
documento, além de podermos fazer alterações.
Page 41 of 58
Como vimos anteriormente, o comportamento do Desktop Integration Suite pode ser modificado para
efetuar um checkout toda a vez em que um documento for aberto. Iremos ver agora como fazer
manualmente o checkout e checkin de um documento via Windows Explorer.
Selecione o arquivo, clique com o botão direito e escolha a opção Checkout
Repare que, ao fazer o checkout, o ícone do documento será modificado, mostrando que este
documento está reservado (checked-out)
Para podermos editar o documento de forma offline, clique com o botão direito no arquivo e selecione
a opção Syndicate
Page 42 of 58
Uma vez feito o syndicate, podemos clicar duas vezes para abrir o documento para edição. Neste
modo, o documento estará reservado (checked-out) para este usuário por tempo indeterminado.
Os usuários que acessarem este documento poderão ver qual usuário está com este arquivo. O
administrador poderá cancelar o checkout deste documento (Undo Check Out), liberando para os
demais usuários.
OBS: Qualquer usuário que tenha permissão de Admin no Security Group do documento poderá fazer o
Undo Check Out, não somente o sysadmin.
Com o documento aberto, faça algumas alterações, salve e feche.
O novo ícone indica que o documento foi modificado
Page 43 of 58
Clicando com o botão direito no documento, temos a opção de fazer o Checkin (enviar o documento
modificado para o servidor) ou Undo Check Out (descartar a alteração feita e liberar o documento
original no repositório para os demais usuários). Selecione Unsyndicate, para devolver o arquivo ao
servidor.
Clique novamente com o botão direito e selecione Checkin.
Repare que uma nova versão do documento irá aparecer na tela de metadados.
A versão original do documento fica preservada, incluindo seus metadados, para consulta posterior.
Atividades Adicionais: Navegue pela interface do Windows Explorer, altere alguns atributos, crie um
track de discussão para este documento. Copie e cole outros 4 documentos do desktop para dentro
desta pasta e veja como são configurados os Metadados.
Feche todas as Janelas
Passo 08 – Explorando recursos da interface Web
Nesta etapa iremos explorar alguns recursos adicionais da interface web do UCM.
Page 44 of 58
Agora iremos habilitar o português e o espanhol na interface. Para isto:
o Feche todas as janelas.
o Clique no menu Start -> Programs -> Oracle Content Server -> ucm -> Utilities -> System
Properties
o Clique na aba Localization
o Selecione a linha Portugues-Brasil e clique no botão Enable.
o Selecione a linha Español e clique no botão Enable.
o Selecione a linha English-US e clique no botão Enable.
o Clique OK e reinicie o Content Server
Acesse o UCM como advogado, clique em My Profile e modifique o idioma para Português. A interface
deverá estar no idioma selecionado.
Clique no link Pesquisar -> Processo.
Na tela de busca, clique no botão Pesquisar.
A tela deverá retornar os documentos encontrados.
Clique no menu Alterar Exibição e selecione Exibição Clássica.
Veja que o layout da tela de retorno mudou.
Page 45 of 58
Os usuários podem customizar as telas de busca. Clique no menu Alterar Exibição e selecione
Personalizar
Clique no link adicionar ( ) ao lado do texto Exibição clássica
Defina o ID como Visao_Processo e o label como Visão Processo
Defina os campos conforme a imagem abaixo
Page 46 of 58
Clique em Save. Refaça a busca, defina a exibição como Visão Resultados e veja os resultados
Na tela de retorno de busca, clique no menu Ações de consulta e selecione Pesquisar nos Resultados.
Preencha o campo Número do Processo com o valor 1234 e clique em Pesquisar nos Resultados
Vemos que apenas um documento foi retornado
Clique em Ações da Consulta e selecione Salvar Pesquisa
Defina um nome como Processo 1234 e clique em OK.
Page 47 of 58
Esta consulta pode ser acessada expandindo a aba Meu Servidor de Conteúdo e clicando na pasta
Minhas consultas salvas
Content Folios
A funcionalidade chamada Folios implementa o conceito de pasta virtual, aonde podemos associar diversos
documentos sem alterar a localização física dos mesmos. Para criarmos um Folio:
Expanda a pasta Gerenciamento de Conteúdo e clique no link Nova Pasta (
Selecione Pasta Avançada e clique em Carregar Pasta
Clique no campo Nome e modifique o conteúdo para Processo 1234
Clique com o botão direito na pasta raiz e selecione Criar nó
Defina o nome desta pasta como Intimações
Crie um novo nó chamado Pareceres
Clique com o botão direito na pasta raiz e selecione Inserir hipertexto
Crie um link para o site da Oracle (http://www.oracle.com)
)
Page 48 of 58
No quadro Itens de origem, clique no botão Pesquisar…
Mantenha a configuração padrão, clique em Continuar…
Na próxima tela, clique em Pesquisa
Selecione 3 documentos e clique em Avançar
Estes documentos irão ser listados na janela Itens de Origem.
Você pode arrastar os documentos para uma das duas pastas: Intimações e Pareceres.
Distribua os arquivos entre as pastas
Você também pode reordenar os documentos dentro da pasta, arrastando os arquivos para cima ou
para baixo dos outros documentos.
Para salvar esta pasta, clique no menu Ações e selecione Salvar pasta
Page 49 of 58
Defina o perfil como Processo e clique em Avançar
Defina o campo título como Pasta do Processo 1234
Preencha o campo Número do Processo com o valor 1234 e clique em Armazenar
Na próxima tela, clique em Concluir.
De volta à pasta, clique no menu Processadores e selecione Fazer download da rendição do arquivo zip.
Na janela que abrirá, clique em Open.
A solução reúne todos os documentos da Pasta em um arquivo zip para o usuário.
Para testarmos a conversão para PDF, precisamos remover o hyperlink para o site da Oracle. Clique
com o botão direito neste link e selecione Excluir.
Salve a pasta. Clique no menu Processadores e selecione Fazer download da rendição PDF.
A solução gera um único documento PDF com todos os arquivos da pasta, gerados na mesma ordem
das pastas.
Expanda a aba Procurar Conteúdo e clique nas pastas Contribution Folders, Jurídico, Processos.
A Pasta que criamos aqui foi salva nesta pasta
Feche todas as janelas.
Page 50 of 58
Passo 09 - Trabalhando com Workflows
Vamos criar dois workflows: um para que todos os documentos publicados pelo usuário advogado sejam
aprovados pelo usuário gerjuridico, e outro que faz com que todos os documentos publicados pelo usuário
contador sejam aprovador pelo usuário gercontabil. No caso de Processos, queremos também que o próprio
autor seja o primeiro aprovador (usando o Token que criamos antes).
Abra o Internet Explorer, acesse o UCM como sysadmin
No menu Administration, selecione Admin Applets
Clique em Workflow Admin
Clique na aba Criteria, e em seguida no botão Add…
Preencha com os seguintes dados:
Com esta configuração, todo o conteúdo do grupo Jurídico com o Type = Processo irá disparar um
workflow de aprovação.
Clique OK.
Na janela Criteria Workflows, selecione o Revisao_Processos, e no clique no botão Add… ao lado da
lista de Steps.
Page 51 of 58
Preencha com os dados abaixo. Clique no botão Add Token… e selecione o Token Autor
Clique OK.
Crie um outro Step para aprovação do usuário gerjuridico.
Page 52 of 58
Na tela principal, clique em Enable para ativar este workflow.
Clique Yes na tela de confirmação.
Na tela Workflow Admin, clique em Options -> Exit.
Feche todas as janelas.
Agora vamos fazer um teste… Acesse o UCM como o usuário advogado, clique em Novo
Armazenamento -> Processo e publique um documento qualquer.
Confira o status do documento, ele deve mudar para Review, após ficar em GenWWW (gerando a
versão Webviewable).
Clique no link Revisao_Processos para abrir a página do workflow.
Clique no ícone Ações ( ) e selecione Informações sobre fluxo de trabalho
Nesta tela podemos ver todos os passos do workflow, assim como as tarefas que já ocorreram.
Page 53 of 58
Expanda a aba Meu Servidor de Conteúdo e clique em Minhas atribuições de fluxo de trabalho
Podemos ver que o documento que publicamos está para a aprovação do autor, neste caso o usuário
advogado
Clique no ícone ( ) para acessar a tela de aprovações
Clique no link Aprovar. O documento será encaminhado ao usuário gerjuridico.
Feche todas as janelas.
Caso você tenha configurado o perfil do usuário gerjuridico no Outlook, cheque sua caixa de emails.
Page 54 of 58
O link leva direto à página de aprovação.
Abra o Internet Explorer, acesse o UCM com o usuário gerjuridico
Clique em My Content Server -> My Workflow Assignments
Confira o Workflow pendente de aprovação
Você pode clicar neste ícone ( ) para ver os detalhes da aprovação, ou pode aprovar ou rejeitar
diretamente nesta tela, clicando neste ícone( ) e selecionando a opção desejada
Clique neste ícone ( ) para acessar a tela de aprovação do documento.
Na tela que aparecer, revise o documento e clique em Approve.
Page 55 of 58
A tela de My Workflow Assignments irá aparecer novamente, mas desta vez não haverá nenhum
documento para aprovação
Vamos conferir como está o status do documento? Volte na pasta Processos, veja as propriedades
deste arquivo. O status deverá estar como Released.
Feche todas as janelas.
Seguindo estas etapas, crie o workflow de aprovação para os documentos contábeis, com o usuário
gercontabil como aprovador.
Page 56 of 58
Atividade Adicional: UCM
Para completar este exercício, implemente o seguinte cenário:
01- Crie um novo usuário e senha com o seu nome – você será um funcionário da área de RH.
02- Queremos facilitar a publicação de políticas e outros documentos no Content Server
03- O primeiro problema é que todos os funcionários devem poder acessar o conteúdo do RH, como políticas e
procedimentos, mas apenas funcionários do RH podem ser capazes de editar ou publicar novo conteúdo.
Dica: Como você protege conteúdo do RH? Você precisa criar novos Roles e Grupos? Como as Accounts
podem ajudar?
04- O próximo problema é que queremos tornar mais fácil a busca por políticas e procedimentos. Também
queremos tornar mais fácil a publicação de novas políticas e procedimentos para os funcionários do RH.
Dica: Como podemos categorizar este conteúdo? Precisamos de novos metadados? E Perfis de Conteúdo?
05- Usuários do RH também não gostam de preencher metadados. Podemos montar alguma forma para que
eles possam facilmente carregar o conteúdo sem precisar preencher formulários?
Dica: Alguma forma de arrastar e soltar pelo Windows Explorer?
06- Em seguida precisamos criar um workflow que é acionado quando o usuário faz o check in de um arquivo.
Nossos funcionários do RH querem ser capazes de carregar novas políticas e procedimentos que precisam
ser aprovados, mas apenas quando o autor achar necessário. E ele deve notificar todos os gerentes de RH
do sistema. Apenas um dos gerentes precisa aprovar o documento antes que ele seja liberado.
Dica: É possível reutilizar algumas configurações já existentes?
Dica: É possível utilizar Tokens?
Dica: Como o usuário vai disparar o workflow? Talvez um metadado?
Dica: Lembre-se de modificar o Content Profile para permitir que o usuário decida se o workflow deve ser
enviado aos gerentes.
07- Eles também querem que os workflows possam ser iniciados a partir do Windows Explorer.
Dica: É possível criar duas pastas para este tipo de documento? Uma que aciona o workflow e outra que
não aciona?
Page 57 of 58
Workshop UCM 10g – Exercício 2 – Hands-on UCM
Setembro 2010
Author: Denis Abrantes
Oracle Corporation
World Headquarters
500 Oracle Parkway
Redwood Shores, CA 94065
U.S.A.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Copyright © 2010, Oracle. All rights reserved.
This document is provided for information purposes only and the
contents hereof are subject to change without notice.
This document is not warranted to be error-free, nor subject to any
other warranties or conditions, whether expressed orally or implied
in law, including implied warranties and conditions of merchantability
or fitness for a particular purpose. We specifically disclaim any
liability with respect to this document and no contractual obligations
are formed either directly or indirectly by this document. This document
may not be reproduced or transmitted in any form or by any means,
electronic or mechanical, for any purpose, without our prior written permission.
Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle
Corporation and/or its affiliates. Other names may be trademarks
of their respective owners.
Page 58 of 58