Oracle Universal Content Management Workshop Remoto

Documentos relacionados
Como criar um banco de dados usando o mysql

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Criando uma página de Recados com acesso restrito ( Facebook )

Painel Administrativo Westlock

Visual Studio+SQL Server Express LocalDB ANTONIO LUIS

Tutorial SQL Server 2014 Express

xchekplus Manual do Usuário

Tutorial para atualização de notícias/blog

Amazon WorkSpaces Application Manager. Guia do usuário

Tutorial de Instalação Integratto Contábil SQL. Integratto Contábil SQL

Proficy Historian e SQL Linked Server

Rede VPN UFBA Procedimento para configuração

TRABALHO FINAL 20 Pontos

Manual Técnico. Instalação e Configuração do Reporting Services

Lab - Utilitário de Linha de Comando no Windows XP

MANUAL DE INSTALAÇÃO SAMI HOTELEIRO. REV B

Instalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade

TUTORIAL DE UTILIZAÇÃO DO OWL-S COMPOSER W. Trabalho de Conclusão de Curso Aluno: Adriano Novais Queiroz Orientadora: Prof.ª Daniela Barreiro Claro

TICs IVINHEMA-MS

Lab - Utilitário de Linha de Comando no Windows Vista

NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos realizar os passos abaixo.

Banco de dados Northwind (sample database clique aqui para baixar) em execução ou SqlExpress. Compreensão de C # e ASP.NET

Lab - Backup e Recuperação no Windows XP

2 Criar uma Enterprise Application que num módulo EJB irá conter um ou vários Beans.

Oracle Universal Content Management Workshop Remoto

Sobre o Visual C

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

Lidando com Armazenamento de Dados

TUTORIAL FGV WIKI Professor

Acronis Snap Deploy 2.0 Guia de Instalação

JAVA. Professor: Bruno Toledo

Instalação do MySQL e da ferramenta MySQL- Front

Começando com o AWS IoT

Número do documento: 101 Classificação: Não avaliado Última atualização: Thu, Apr 27, :39 AM

Guia para criar aplicações simples em APEX/ Guide to create simple Apex applications (perte I)

Faça Fácil. Proficy Historian e SQL Linked Server

PROFICY HISTORIAN E SQL LINKED SERVER

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

Dreamweaver CS5 -5- CAPÍTULO 1... Iniciando e conhecendo o dreamweaver...8 Interfaces...23 Criando e confi gurando sites...24 Exercícios...

Tutorial de Instalação do Sistema GED. Gestão Eletrônica de Documentos

JOHN MAYER - PARADISE VALLEY

MANUAL DE PUBLICAÇÃO NO PORTAL CAMPUS MATÃO

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 5 PROF. EMILIO PARMEGIANI


Tutorial Windows Server 2016

Rede VPN UFBA Procedimento para configuração

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER utilizando o Eclipse Galileo Modelling Tools

Manual de instalação do SQL 2012

Como criar casos na Central de atendimento ao cliente Cisco and/or its affiliates. All rights reserved. 1

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Tutorial 1 Configuração Apache Tomcat no NetBeans 8.0 (passo a passo)

MANUAL DE EMISSÃO E INSTALAÇÃO DO CERTIFICADO TIPO A1 (GOOGLE CHROME)

TUTORIAL DE INSTALAÇÃO E USO DO OWL-S COMPOSER 3.0 utilizando o Eclipse Galileo Modelling Tools

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

DISTRIBUINDO SUA APLICAÇÃO

Rápida revisão do Modelo Relacional

Faça Fácil Proficy Historian e SQL Linked Server

Como fazer download e instalaça o a partir da SAi Cloud

HydroGraph Software. Manual do Usuário. Remote Operation

Faremos o backup do banco de dados de exemplo Northwind, após isso apagaremos o banco e depois vamos restaurá-lo.

Sophos SafeGuard Enterprise 8.0.1

Faça Fácil RTIP - Consulta Relacional

Instalação Wiser Discovery Sistema Operacional Windows

Guia de Instalação. 1. Guia de Instalação do Nintex Workflow 2010

Índice. 1. Introdução Instalação: Eclipse e Android Primeira aplicação em Android... 11

Tutorial de Instalação do Moodle no Ubuntu

Criando um Editor de Diagramas com Sirius

Benvindo ao Curso de Introdução ao Firebird com Ferramenta de Relatórios!

Criando Mensagens - Editor Drag and Drop

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil -

Conexão com Banco de Dados

Java TM Applets. Java Deployment Course: Aula 3. por Jorge H. C. Fernandes DI-UFPE 30 de Abril de 1999

Executar uma macro clicando em um botão da Barra de Ferramentas de Acesso Rápido

FAQ SPED Auditor. SPED Auditor FAQ. Perguntas Frequentes QUIRIUS Soluções Fiscais QUIRIUS Soluções Fiscais 1

Lab - Configurando um Roteador sem fio no Windows 7

Perguntas e respostas

Como criar o seu Servidor Metatrader5 na Nuvem (cloud) da Amazon

Administrando site em WordPress. Lucia Costa

Nota de Aplicação: Utilização de Base de Dados MySQL com BluePlant. Sumário

Roteiro de apoio Aula 1 - Introdução ao ArcGIS

Analisando Dados Graficamente

Manual do Contribuidor. Portal de Internet e Intranet. Projeto: Novo Portal de internet. Cliente: Inea. Versão: 1.4

LASERJET ENTERPRISE M4555 MFP SERIES. Guia de referência rápida

COLOR LASERJET ENTERPRISE CM4540 SÉRIE MFP. Guia de referência rápida

Administração básica. Acessar a EPRS. Uso do MySonicWall. Usar a interface do SonicOS

Como atualizar casos na Central de atendimento ao cliente Cisco e/ou suas afiliadas. Todos os direitos reservados. 1

Unidade 12: Programação de Banco de Dados com Java Prof. Daniel Caetano

ICPBravo Access. Manual de Instalação

Manual do usuário. Software OLT 4840E

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

SQL Server Management Studio - Backup e Restauração de dados

TUTORIAL UTILIZAÇÃO XOOPS UEFS. AEI - Gerência de Suporte

Dreamweaver CC_15x21.indd 1 06/04/ :04:22

POO Documentation. Release 1.0. Felipe Dau e Francisco Pereira Junior

Fundamentos de Banco de Dados Postgre com Sql

MYSQL - PRIMEIROS COMANDOS CRIAÇÃCO DO BD E DAS TABELAS, INSERÇÃO E CONSULTA DE REGISTROS. create database [if not exists] <nome>

Tutorial do E3 para Iniciantes Capítulo 15 Consultas

Guia de instalação. Configuração necessária Instalação e ativação - 1 -

Criando um site de Notícias - com Administração de Dados

Transcrição:

Oracle Universal Content Management Workshop Remoto Exercício 03 - Criação de Componente no 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 29

Overview Neste terceiro exercício do Workshop, iremos aprender a criar um componente para o Content Server. O nosso primeiro componente, embora não seja tão simples, será feito apenas com recursos do Content Server. Neste tutorial, vamos desenvolver um recurso de Favoritos, aonde os usuários poderão marcar determinados documentos como seus Favoritos, e depois consultar estes documentos em uma lista. Não iremos montar o componente com todas as suas funcionalidades, mas com o que vocês verão aqui, será fácil aprimorar este componente, inclusive para ambientes de produção. Componente MyFavorites Algumas características do nosso componente favoritos: - Por motivos de espaço, iremos montar este componente de uma forma rápida e crua, ou seja, sem seguir necessariamente as melhores práticas de desenvolvimento de componentes. Para entender melhor a prática de desenvolvimento de componentes, recomendo a leitura do guia Working With Components. - Ele será desenvolvido apenas para português-brasil. Outros idiomas podem ser adicionados posteriormente. - Ele irá apresentar uma opção Adicionar aos Favoritos no menu Content Actions (tela Content Information), para que o usuário possa definir este arquivo como um dos seus favoritos. - Ao clicar neste link, o usuário será direcionado à uma tela aonde ele poderá digitar um comentário sobre este favorito, para facilitar a leitura depois. - Os favoritos ficarão salvos em uma tabela de banco de dados que iremos criar como parte do componente - A aba My Content Server terá uma opção nova chamada Meus Favoritos, que irá trazer uma tela que lista os favoritos, permitindo que o usuário possa deletar os links - Alguns recursos ficarão de fora deste exercício, novamente por motivos de espaço. Mas iremos listar estes recursos ao final, como exercícios complementares. Recursos do nosso Componente O componente Favoritos será desenvolvido com alguns recursos. Vamos conhecer melhor o que são estes recursos e quais são as suas funções: - Query: Uma query é qualquer atividade que eu preciso executar no banco, o famoso CRUD: Criar, Ler, Atualizar, Deletar. Existem diferentes jeitos de chamar a query, dependendo do propósito: Select Query: executa um comando SQL, mas descarta o resultado. Usado apenas para testar se a conexão com o banco está ok. Não será usado no nosso exercício. Execute Query: executa um comando SQL que altera informações do banco. Pode ser um INSERT, UPDATE ou DELETE. Descarta os resultados. Iremos usar Execute Query para criar, alterar e excluir os favoritos. Page 2 of 29

Select Cache Query: executa um comando SQL SELECT e armazena os resultados em um ResultSet. Este ResultSet retorna como resultado do serviço e pode ser manipulado em IDOC, Java ou outras linguagens. Iremos utilizar Select Cache Query para retornar a lista de favoritos de um usuário. - Service: Os serviços são os responsáveis por executar as queries (ou classes java, mas isso é papo para um outro tutorial...). O serviço recebe os parâmetros de entrada, executa a query e retorna o ResultSet (no caso de um SELECT). Os serviços podem ser executados através de templates, páginas IDOC, outras aplicações (através de API), ou diretamente na URL do browser. Neste exercício criaremos serviços para Criar, Editar, Deletar e Listar os favoritos de um usuário. - Template: Os templates são as interfaces gráficas (páginas) que serão apresentadas aos usuários. Por exemplo, antes de executar o serviço que deleta um documento do favoritos, quero que o usuário veja uma tela com o ID do Documento e um botão Confirma, para que ele tenha certeza que está deletando o registro correto. Esta tela pode ser criada como um template. Neste exercício iremos construir templates para os principais serviços, além da página que lista todos os favoritos do usuário e apresenta as ações de editar e deletar. Os templates nada mais são do que páginas HTML com scripts IDOC. A nossa sequência de atividades para o desenvolvimento deste componente será: - Criar a Tabela do banco - Criar o componente usando o Component Wizard - Criar as Queries para inserir, editar, deletar e listar os favoritos - Criar os Serviços que executam estas Queries - Criar os templates, que são as páginas que irão interagir com os usuários - Criar os links, na página de informações do conteúdo e no painel My Content Server Pois bem, vamos começar! Page 3 of 29

Criando o Componente Criando a Tabela Primeiro vamos criar a tabela que vai guardar o registro dos favoritos. Para isso: Acesse o Content Server como sysadmin. Expanda a aba Administration e clique em Admin Applets Abra o Configuration Manager e acesse a aba Tables Clique no botão Create Table Defina os detalhes e campos da tabela conforme a imagem abaixo: Page 4 of 29

Nesta tabela teremos 4 campos: ddocname, UserName, keywords e createdate. O campo de data será usado para ordenarmos os favoritos por data de criação Clique OK para criar a tabela Usando uma ferramenta como o SQL Developer, podemos ver que a tabela foi criada no mesmo schema do usuário do UCM no banco de dados: Agora iremos criar o componente que vai gerenciar as informações desta tabela. Criando o Componente Abra o Component Wizard. Acesse via menu Iniciar -> Programas -> Oracle Content Server -> ucm -> Utilities -> Component Wizard Em ambiente Linux, acesse via /UCM_HOME/bin/ComponentWizard Page 5 of 29

No Component Wizard, clique no botão Add para criar um novo componente Defina o nome como MyFavorites e clique OK. Clique OK na janela de confirmação. Agora temos o nosso componente. Vamos começar criando as queries que vão buscar e gravar no banco. Page 6 of 29

Clique no botão Add, dentro do painel Resource Definition Selecione a opção Query e clique em Next Na próxima tela, aceite os valores padrão e clique em Next. Na próxima tela, defina os seguintes valores: Name: MYFAV_Q_SAVE Query: insert into myfavorites values (?,?,?,?) Parameters: o ddocname (varchar) o UserName (varchar) o keywords (varchar) o createdate (date) Page 7 of 29

OBS: repare que o parâmetro createdate tem que ser do tipo date. Cuidado para não criá-lo como varchar, pois isto causará um erro na hora da inserção no banco. Clique em Finish e No na janela de confirmação Clique no botão Add no painel da direita para criar uma nova Query Page 8 of 29

Defina os seguintes valores: Name: MYFAV_Q_DELETE Query: delete from myfavorites where UserName =? and ddocname =? Parameters: o UserName (varchar) o ddocname (varchar) Page 9 of 29

Clique OK para criar a Query. Crie mais duas Queries, com as seguintes informações: Name: MYFAV_Q_EDIT Query: update myfavorites set keywords =? where UserName =? and ddocname =? Parameters: o keywords (varchar) o UserName (varchar) o ddocname (varchar) Name: MYFAV_Q_LIST Query: select * from myfavorites where UserName =? order by createdate Parameters: o UserName (varchar) Page 10 of 29

Agora que temos as consultas prontas, iremos criar os serviços que executam estas consultas. No painel Custom Resource Definition, clique no botão Add Selecione a opção Service e clique em Next Na próxima tela, mantenha as opções padrão e clique em Next Page 11 of 29

Defina os campos com os seguintes valores: Name: MYFAV_SAVE_FAVORITE Service Class: Service Template: MYFAV_SAVE_FAVORITE_CONFIRM Access Level: Read e Scriptable No painel Actions, clique no botão Add Defina os campos com os seguintes valores: Type: Execute Query Action: MYFAV_Q_SAVE Parameters: UserName, ddocname, keywords, createdate Clique OK para criar a ação Page 12 of 29

Clique Finish para criar o serviço e No na janela de confirmação No painel da direita, clique no botão Add para criar um novo serviço Page 13 of 29

Defina o serviço da seguinte forma: Name: MYFAV_DELETE_FAVORITE Service Class: Service Template: MYFAV_DELETE_FAVORITE_CONFIRM Access Level: Read e Scriptable Actions: o Type: Execute Query o Action: MYFAV_Q_DELETE o Parameters: UserName, ddocname Page 14 of 29

Clique OK para criar o serviço. Crie mais dois serviços, com os seguintes valores: Name: MYFAV_EDIT_FAVORITE Service Class: Service Template: MYFAV_EDIT_FAVORITE_CONFIRM Access Level: Read e Scriptable Actions: o Type: Execute Query o Action: MYFAV_Q_EDIT o Parameters: keyword, UserName, ddocname Name: MYFAV_LIST_FAVORITES Service Class: Service Access Level: Read e Scriptable Actions: o Type: Select Cache Query o Action: MYFAV_Q_LIST o Parameters: ResultSet Agora temos todas as queries e serviços criados, podemos criar as interfaces visuais Page 15 of 29

No painel Custom Resource Definition, clique no botão Add e selecione a opção Template Na próxima tela, mantenha os valores padrão e clique em Next Page 16 of 29

Crie o template com os seguintes valores: Name: MYFAV_T_SAVE Class: RootPage Form Type: HomePage File Name: MYFAV_T_SAVE.htm Description: Save to Favorites Template Clique Finish e No na janela de confirmação No Component Wizard, clique em Options -> Configuration No campo HTML Editor Path, selecione o aplicativo editor de Texto que irá editar os templates. O Notepad++ é uma boa opção. OBS: Evite usar o Notepad do Windows, use o Wordpad. Page 17 of 29

Voltando à lista de templates, selecione o template recém-criado e clique no botão Launch Editor Este template é a página que será exibida quando o usuário clicar na opção Adicionar aos Favoritos. Como parâmetro, receberemos o ID do documento. O nome do usuário é uma variável de sistema que podemos capturar na própria página, assim como a data atual. Nesta página, iremos adicionar um campo aonde o usuário poderá digitar as palavras-chave para este documento. O botão Submit irá executar o serviço MYFAV_SAVE_FAVORITE. O template MYFAV_SAVE_FAVORITE_CONFIRM é a tela que aparece após a execução do serviço (tela de confirmação). Apague qualquer código que exista no arquivo e insira o seguinte código: <$include std_doctype_html_decl$> <head> <$defaultpagetitle="adicionar aos Favoritos"$> <$include std_html_head_declarations$> </head> <$include body_def$> <$include std_page_begin$> <center><h2 class=pagetitle> Adicionar aos Favoritos </h2></center> <br><br> <form name="savetofavorites" method="get" action="<$httpcgipath$>"> <input type="hidden" name="idcservice" value="myfav_save_favorite"> <input type="hidden" name="username" value="<$username$>"> <input type="hidden" name="createdate" value="<$formatdatedatabase(datecurrent())$>"> Page 18 of 29

<input type="hidden" name="ddocname" value="<$ddocname$>"> Palavras-chave: <input type="text" name="keywords" value=""> <input type="submit" value="ok"> </form> </body></html> Salve e feche o arquivo. Vamos criar agora os templates para executar os serviços de Delete e Edit. Crie um novo template, chamado MYFAV_T_DELETE, igual ao template que criamos anteriormente. Defina o seguinte código para este template: <$include std_doctype_html_decl$> <head> <$defaultpagetitle="excluir dos Favoritos"$> <$include std_html_head_declarations$> </head> <$include body_def$> <$include std_page_begin$> <center><h2 class=pagetitle> Excluir documento dos Favoritos </h2></center> <br><br> ID Documento: <$ddocname$> <br><br> <form name="deletefromfavorites" method="get" action="<$httpcgipath$>"> <input type="hidden" name="idcservice" value="myfav_delete_favorite"> <input type="hidden" name="username" value="<$username$>"> <input type="hidden" name="ddocname" value="<$ddocname$>"> Confirma? <input type="submit" value="ok"> </form> </body></html> Salve e feche o arquivo. Agora vamos criar um novo template, chamado MYFAV_T_EDIT, com o seguinte código: <$include std_doctype_html_decl$> <head> <$defaultpagetitle="editar Documento dos Favoritos"$> <$include std_html_head_declarations$> </head> <$include body_def$> <$include std_page_begin$> <center><h2 class=pagetitle> Editar documento dos Favoritos </h2></center> <br><br> Page 19 of 29

ID Documento: <$ddocname$> <br><br> <form name="editfavorites" method="get" action="<$httpcgipath$>"> <input type="hidden" name="idcservice" value="myfav_edit_favorite"> <input type="hidden" name="username" value="<$username$>"> <input type="hidden" name="ddocname" value="<$ddocname$>"> Palavras-chave: <input type="text" name="keywords" value=""> <input type="submit" value="ok"> </form> </body></html> Salve e feche o arquivo. Agora iremos criar os templates de confirmação dos serviços de criação, edição e exclusão de um registro nos favoritos. Crie um novo template, chamado MYFAV_SAVE_FAVORITE_CONFIRM, com o seguinte código: <$include std_doctype_html_decl$> <head> <$defaultpagetitle="adicionar aos Favoritos"$> <$include std_html_head_declarations$> </head> <$include body_def$> <$include std_page_begin$> <center><h2 class=pagetitle> Documento Adicionado aos Favoritos com Sucesso! </h2></center> <br><br> <a href="<$httpcgipath$>?idcservice=doc_info_by_name&ddocname=<$ddocname$>"> Clique Aqui </a> para retornar. </body></html> Salve e feche o arquivo. Crie um novo template, chamado MYFAV_DELETE_FAVORITE_CONFIRM, com o código: <$include std_doctype_html_decl$> <head> <$defaultpagetitle="remover dos Favoritos"$> <$include std_html_head_declarations$> </head> <$include body_def$> <$include std_page_begin$> <center><h2 class=pagetitle> Documento Deletado dos Favoritos com Sucesso! </h2></center> <br><br> <a href="<$httpcgipath$>?idcservice=get_doc_page&action=gettemplatepage&page=myfav_ T_LIST"> Page 20 of 29

Clique Aqui </a> para retornar. </body></html> Crie um novo template, chamado MYFAV_EDIT_FAVORITE_CONFIRM, com o código: <$include std_doctype_html_decl$> <head> <$defaultpagetitle="editar Documento dos Favoritos"$> <$include std_html_head_declarations$> </head> <$include body_def$> <$include std_page_begin$> <center><h2 class=pagetitle> Documento Editado com Sucesso! </h2></center> <br><br> <a href="<$httpcgipath$>?idcservice=get_doc_page&action=gettemplatepage&page=myfav_ T_LIST"> Clique Aqui </a> para retornar. </body></html> Crie um novo template chamado MYFAV_T_LIST para listar todos os favoritos do usuário. Este template será a página que irá listar todos os favoritos, além de permitir as ações de Editar e Deletar. Defina o seguinte código para este template: <$include std_doctype_html_decl$> <head> <$defaultpagetitle="lista de Favoritos"$> <$include std_html_head_declarations$> </head> <$include body_def$> <$include std_page_begin$> <center><h2 class=pagetitle> Lista de Favoritos </h2></center> <br><br> <b> Username: <$UserName$> </b> <br><br> <$UserName=UserName$> <$executeservice("myfav_list_favorites")$> <$if ResultSet$> <table border="1" width="80%" align="center"> <tr bgcolor="#cccccc"> <td align="center"> <b> Doc ID </b> </td> <td align="center"> <b> Palavras-Chave </b> </td> <td align="center"> <b> Data </b> </td> <td> <b> Editar </b> </td> <td> <b> Excluir </b> </td> </tr> <$loop ResultSet$> <tr> <td align="center"> Page 21 of 29

<a href="<$httpcgipath$>?idcservice=doc_info_by_name&ddocname=<$ddocname$>" target="new"> <$ddocname$></a> </td> <td><$keywords$></td> <td><$createdate$></td> <td align="center"> <a href="<$httpcgipath$>?idcservice=get_doc_page&action=gettemplatepage&page=myfav_ T_EDIT&dDocName=<$dDocName$>"> <small> Editar </small> </a> </td> <td align="center"> <a href="<$httpcgipath$>?idcservice=get_doc_page&action=gettemplatepage&page=myfav_ T_DELETE&dDocName=<$dDocName$>"> <small> Excluir </small> </a> </td> </tr> <$endloop$> </table> <$else$> <b> Nenhum Favorito Encontrado! </b> <$endif$> </body></html> Já temos as queries, serviços e templates que iremos precisar. Tudo o que precisamos fazer agora é criar os links na tela de resultado de busca e de informações do conteúdo, para incluir o Adicionar aos Favoritos, e o link Meus Favoritos no painel My Content Server. Clique no botão Add no painel Custom Resource Definition, escolha Resource e clique em Next Page 22 of 29

Na próxima tela, defina o nome como docinfo_menus_checkin_update_setup e o corpo como <$exec rsappendnewrow("pagemenusdata")$> <$PageMenusData.nodeId = "ADDFAVORITOS"$> <$PageMenusData.parentId = "CONTENT_ACTIONS"$> <$PageMenusData.label = "Adicionar aos Favoritos"$> <$PageMenusData.type = "item"$> <$PageMenusData.href =HttpCgiPath&"?IdcService=GET_DOC_PAGE&Action=GetTemplatePage&Page=MYFAV_T_SAVE &ddocname="&ddocname$> <$PageMenusData.loadOrder = 10$> <$include super.docinfo_menus_checkin_update_setup$> OBS: cada tag <$PageMenusData deverá estar em uma linha única. Neste documento, por falta de espaço, as linhas estão quebradas. Clique em Add no painel Custom HTML Includes para criar um novo link. Defina os seguintes valores: Page 23 of 29

Nome: custom_finish_layout_init Corpo: <$include super.custom_finish_layout_init$> <$include myfavorites_link$> Clique em Add no painel Custom HTML Includes para criar um novo link, com os seguintes dados: Nome: myfavorites_link Corpo: navbuilder.addchildnodeto('my_content', 'item', 'id==myfavorites', 'label==meus Favoritos', 'url==<$httpcgipath$>?idcservice=get_doc_page&action=gettemplatepage&page=myfav_ T_LIST&username=<$UserName$>'); OBS: este texto deve ficar em uma única linha. Cuidado com espaços em branco. Agora já podemos testar o nosso componente. Clique no menu Options -> Enable para habilitar o componente e reinicie o Content Server. Acesse o Content Server, faça uma busca rápida e clique no link de informações de um conteúdo qualquer. No menu Content Actions, repare na nova opção Adicionar aos Favoritos Page 24 of 29

Clique nesta opção. Insira alguma informação no campo Palavras-Chave e clique em OK. A tela de confirmação será exibida, com o link para retornar à página de informações do conteúdo Expanda a aba My Content Server e veja a nova opção criada, Meus Favoritos Page 25 of 29

Clique no link e a lista dos Favoritos será exibida, conforme o template que criamos Clique no link Editar para mudar as palavras-chave. Defina um texto qualquer e clique em OK Na tela de confirmação, clique no link Voltando à tela dos favoritos, podemos ver que o texto foi modificado Page 26 of 29

No banco de dados, podemos ver que as informações dos favoritos estão sendo armazenadas na tabela myfavorites Faça alguns testes, incluindo, editando e excluindo documentos dos favoritos. Podemos também testar a chamada ao serviço via URL. Para isso, acesse este endereço na URL: http://localhost/ucm/idcplg?idcservice=myfav_list_favorites&username=sysadmin&issoap=1 OBS: Substitua localhost pelo nome do seu servidor aonde o UCM está instalado. Podemos ver o ResultSet criado, com a lista dos documentos favoritos. Neste caso, temos apena 1 favorito cadastrado. Parabéns, a criação do seu primeiro componente está terminada! Ou não? Page 27 of 29

Atividades Adicionais Complementar o Componente MyFavorites O nosso primeiro componente ficou muito simples; mas, com o UCM, o céu é o limite! Abaixo algumas dicas de recursos que você pode implementar. - Multi-idiomas: troque as strings estáticas das páginas de Template por variáveis de internacionalização. - Na página de Editar Favoritos, o campo palavra-chave está vindo em branco. Crie uma query e um serviço que trazem o conteúdo daquela palavra chave para o campo (dica: select keywords from myfavorites where ddocname =? and UserName =?) - Usando CSS, melhore o layout destas páginas - Na lista de Favoritos, inclua links para os arquivos nativo e webvieweable do conteúdo - Na lista de Favoritos, inclua o thumbnail do conteúdo (Dica: estude a função computerenditionurl. Um exemplo: <$QueryText = "ddoctitle <substring> `test`"$> <$executeservice("get_search_results")$> <$loop SearchResults$> <$if drendition1$> <a href="<$url$>"> <img src="<$computerenditionurl(url, drevlabel, drendition1)$>"> </img></a> <$else$> <a href="<$url$>"><$ddoctitle$></a> <$endif$> <$endloop$> - Substitua os templates por janelas Javascript, desta forma é possível manter o gerenciamento dos favoritos na mesma tela - Implemente busca de favoritos por palavra-chave (select where keywords LIKE %?% ) - Implemente organização de favoritos por categoria. Page 28 of 29

Workshop UCM Criação de Componente September 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 29 of 29