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