Trabalhando com componentes do IBM Lotus Quickr 8.1, parte 3: Expondo componentes como feed Atom customizado

Este artigo, o terceiro de uma série de três partes, demonstra como expor o conteúdo (itens) do IBM® Lotus® Quickr™ como um feed Atom customizado. O novo feed Atom pode ser usado para obter conteúdo do Lotus Quickr de componentes como tarefas ou anúncios em todas as áreas de equipe às quais ele pertence. O conteúdo também pode ser filtrado com base em qualquer campo de opção do componente, como o campo de prioridade do componente de tarefa ou o campo de tipo do componente de anúncio.

Amit Pareek, System Software Engineer, IBM

Amit Pareek é Engenheiro de Software de Sistema da equipe de Serviços do laboratório de software da IBM India. Ele é especializado em J2EE e soluções de Gerenciamento de Conteúdo e trabalha em customização do IBM Lotus Quickr. Ele interage com as equipes de desenvolvimento do Lotus Quickr e trabalha com arquitetos para customizar o produto. É possível entrar em contato com Amit pelo e-mail ampareek@in.ibm.com.



Yogesh Karekar, IT Specialist, IBM

Yogesh Karekar é Especialista em TI dos laboratórios de software da IBM India. Ele tem ampla experiência de trabalho em portais múltiplos e produtos de gerenciamento de conteúdo. Atualmente, ele trabalha na divisão Lab Services dentro do laboratório de software. Ele é especializado no IBM Websphere Portal, IBM Lotus Web Content Management e IBM Lotus Quickr, e participa em várias reuniões com clientes. É possível entrar em contato com Yogesh pelo e-mail ykarekar@in.ibm.com.



29/Jun/2009 (Primeira publicação 24/Fev/2009)

Nota do editor: Sabe bastante sobre esse tópico? Quer compartilhar seu conhecimento? Participe hoje mesmo do programa wiki do software IBM Lotus.

Apresentação

É preciso ter um bom entendimento dos serviços Lotus Quickr para WebSphere® Portal V8.1, Java™ Platform, desenvolvimento de Enterprise Edition (Java EE), IBM Lotus Web Content Management API e Struts v1.2 para entender este artigo.


Introdução

Os serviços Lotus Quickr para WebSphere Portal (daqui por diante chamados de Lotus Quickr neste artigo) fornece serviços colaborativos que possibilitam criar, gerenciar, atualizar, consultar e excluir conteúdo do Lotus Quickr. Esses serviços se baseiam na arquitetura de Representational State Transfer (REST) e dá suporte ao Atom Syndication Format e ao Atom Publishing Protocol (APP). Esse suporte permite que o Lotus Quickr exponham seu conteúdo como feeds Atom.

Este artigo mostra como escrever um novo feed Atom para obter conteúdo de um componente no Lotus Quickr e implementá-lo no Lotus Quickr. Esse feed permite que os usuários especifiquem um critério para filtrar o conteúdo usando parâmetros de consulta. Este artigo lhe dá uma visão rápida do que é possível com essa tecnologia. Embora o código de amostra para este aplicativo seja fornecido na seção de Downloads deste artigo, é possível customizar o feed ainda mais.


Antes de começar

Para criação de um feed Atom, é preciso de acesso administrativo ao servidor do Lotus Quickr. O Lotus Quickr vem com muitos feeds Atom. A seção seguinte descreve como gravar um feed customizado para o Lotus Quickr e como implementá-lo. O aplicativo inteiro tem algumas centenas de linhas de código, mas pedimos que você codifique apenas os componentes importantes; o restante é fornecido. Os passos são os seguintes:

  1. Estender a classe de ação Struts para gerenciar o pedido de HTTP
  2. Implementar um arquivo NewFeedWCMResolver.java, que processe o pedido e crie o documento Atom
  3. Modificar a configuração do Struts para registrar a nova ação
  4. Empacotar o código e implementá-lo no Lotus Quickr

Configuração

Este artigo presume que tenha sido usado o IBM Rational® Application Developer V7 para desenvolver o aplicativo da Web, mas não há problema em usar qualquer aplicativo para editar e implementar o aplicativo da Web. Nada neste exercício é específico de determinada ferramenta. Também é preciso ter o Lotus Quickr 8.1 instalado e o WebSphere Portal nele para ser configurado com Rational Application Developer V7 como ambiente de tempo de execução WebSphere Portal V6.0.


Configurando o projeto e arquivos de importação

O primeiro passo para escrever um novo feed Atom é configurar o projeto. É preciso criar um projeto da Web que possa ser exportado mais tarde como arquivo EAR. Esta seção mostra a configuração do projeto do IBM Rational® Application Developer. Siga estes passos:

  1. Abra o Rational Application Developer.
  2. Selecione Arquivo - Nov - Outro e localize e selecione Projeto da Web Dinâmico no passo Selecione um assistente. Clique em Avançar.

    OBS.: Selecione a opção Exibir Todos os Assistentes se não estiver vendo a seção Portal.

  3. No caso do passo Projeto da Web Dinâmico, insira as seguintes informações e clique em Avançar.

    • No campo de Nome de projeto, digite NewAtomFeed.
    • No campo Tempo de Execução de Destino, selecione WebSphere Portal v6.0.
    • No campo Configurações, selecione <custom>.
    • Selecione a opção Acrescentar projeto a um EAR.
    • No campo de Nome de projeto EAR, digite NewAtomFeedEAR.
  4. No passo Aspectos do Projeto, selecione os seguintes dois aspectos do projeto:

    • Módulo Web Dinâmico (versão 2.4)
    • Java (versão 1.4)

    OBS.: Assegure que as versões desses aspectos de projeto sejam exatamente as mencionadas aqui.

  5. Clique em Concluir para salvar as mudanças.
  6. Se aparecer a mensagem: "Este tipo de projeto associado à perspectiva da Web", clique em Sim.

Devem aparecer os dois projetos conforme a figura 1, criados na área de trabalho atual.

Figura 1. Explorador de Projetos exibindo o projeto NewAtomFeed
Explorador de Projetos exibindo o projeto NewAtomFeed

Configurando seu arquivo EAR de aplicativo corporativo

Após criar o projeto Rational Application Developer, o próximo passo é configurá-lo completamente antes de começar a escrever seu código. O Lotus Quickr vem com um aplicativo da Web chamado ilwwcm-atompublishing.war que contém feeds de conteúdo Atom prontos para usar sem modificação. Crie uma cópia desse aplicativo da Web para trazer automaticamente a maioria das configurações. É preciso modificar a configuração do Struts e o descritor de implementação do arquivo EAR para concluir a configuração.

Siga estes passos:

  1. Dê um clique com o botão direito do mouse no projeto NewAtomFeed na guia Explorador de Projetos e selecione Importar - Importar.
  2. Na página Importar que aparece, selecione Geral - Sistema de Arquivos e depois clique em Avançar.
  3. Na página Importar que aparece, selecione a pasta ilwwcm-atompublishing.war. Depois, aparece o caminho para a pasta ilwwcm-atompublishing.war dentro do diretório-raiz de instalação do Lotus Quickr:
    <quickr_root>/wp_profile/installedApps/<node_name>
    /wcm.ear/ilwwcm-atompublishing.war
  4. No campo Selecione uma pasta para dentro da qual importar, digite "NewAtomFeed/Webcontent" como mostrado na figura 2. Clique em OK para continuar.

    OBS.: Clique em Sim para Todos se aparecer Sobrescrever.

    Figura 2. Importação do arquivo ilwwcm-atompublishing.war para a pasta WebContent
    Importação do arquivo ilwwcm-atompublishing.war para a pasta WebContent
  5. Na página exibida, mantenha os valores-padrão e clique em Concluir para salvar as mudanças.
  6. Selecione Janelas - Preferências e, na janela Preferências que aparecer, selecione Java - Compilador. Mude o valor do campo de nível de conformidade do Compilador para 1,4, como mostrado na figura 3.

    Figura 3. Configurando as preferências do nível do compilador Java
    Configurando as preferências do nível do compilador Java
  7. Na guia Explorador de Projetos, dê um clique com o botão direito do mouse sobre o projeto NewAtomFeed e selecione Propriedades para adicionar bibliotecas de classes ao caminho de construção.
  8. No assistente de Propriedades, selecione a opção Caminho de Construção Java e a guia Bibliotecas, como mostrado na figura 4.

    Figura 4. Assistente Caminho de Construção Java
    Assistente Caminho de Construção Java
  9. Clique em Adicionar JARs Externos para adicionar os seguintes arquivos JAR, como mostrado na figura 5:
    • <quickr_root>/PortalServer/wcm/shared/app/ilwwcm-commons-properties.jar
    • <quickr_root>/PortalServer/wcm/shared/app/ilwwcm-commons-utils.jar
    • <<quickr_root>/PortalServer/wcm/shared/app/ilwwcm-nls-filter.jar
    • <quickr_root>/PortalServer/wcm/shared/app/ilwwcm-server.jar
    Figura 5. Assistente Caminho de Construção Java para o projeto NewAtomFeed
    Assistente Caminho de Construção Java para o projeto NewAtomFeed
  10. Clique em OK para salvar suas mudanças.
  11. Abra o Descritor de Implementação para abrir o arquivo application.xml ou abra-o explicitamente para o projeto NewAtomFeedEAR. Veja a figura 6.

    Figura 6. Visualização do Explorador de Projetos do NewAtomFeedEAR
    Visualização do Explorador de Projetos do NewAtomFeedEAR
  12. Vá para a visualização Módulo.
  13. Selecione o módulo NewAtomFeed para preencher o campo de raiz Contexto. No campo de raiz Contexto, digite "/lotus/customfeed", como mostrado na figura 7.

    Figura 7. Configuração da raiz Contexto do módulo NewAtomFeed
    Configuração da raiz Contexto do módulo NewAtomFeed
  14. Depois, vá para a visualização Segurança clicando na guia Segurança, na parte inferior.
  15. Na seção Funções de Segurança, adicione uma função de segurança com o nome Todas as Funções e a descrição Todos os Usuários Autenticados na Empresa. Outra opção é ir até a visualização de origem clicando na guia Origem e adicionando manualmente uma função de segurança, usando o fragmento de XML mostrado na listagem 1. Clique em Concluir para continuar.
Listagem 1. Adicionando função de segurança
<security-role >
	<description>All Authenticated users in the enterprise.</description>
	<role-name>All Role</role-name>
</security-role>
  1. Salve o arquivo application.xml.
  2. Uma opção é excluir o arquivo ilwwcm-atompublishing.jar da pasta de biblioteca do aplicativo da Web cujo caminho é mostrado aqui: <RAD_Workspace _root>/NewAtomFeed/WebContent/WEB-INF/lib/ilwwcm-atompublishing.war

    OBS.: Esse passo é opcional. Você pode decidir manter o arquivo JAR no aplicativo da Web.


Criando suas próprias classes para o novo feed

O aplicativo da Web importado para o seu projeto na seção anterior usa a estrutura do Struts. Portanto, estenda a estrutura do Struts para criar seu novo feed. É preciso criar um servlet que gerencie todas os pedidos aos feeds Atom para esse novo aplicativo da Web. Depois, crie sua própria classe de ação, que estenda a classe base de ação do Struts chamada org.apache.struts.action.Action.

Sua nova classe de ação usa uma classe resolvedora que processa o pedido e constrói o feed Atom. Também é preciso ter uma classe de utilitário para criar as URLs apropriadas para o seu feed.

Siga estes passos:

  1. Selecione Janelas - Abrir Perspectiva - Web para ir para a perspectiva da Web.
  2. Crie um novo pacote clicando com o botão direito do mouse sobre Recursos Java: src no projeto NewAtomFeed, na guia Explorador de Projetos, e selecionando Novo - Pacote.
  3. No campo Nome, digite "com.ibm.test.wcm.app.atom.servlet". Clique em Concluir.
  4. Crie uma nova classe dando um clique com o botão direito do mouse sobre o pacote com.ibm.test.wcm.app.atom.servlet e selecionando Nova - Classe.
  5. No assistente de Nova Classe Java, faça o seguinte:

    • Digite AuthServlet no campo Nome.
    • Digite org.apache.struts.action.ActionServlet no campo Superclasse.
    • Selecione os campos Construtores na superclasse e Herdar métodos abstratos. Veja a figura 8.
    Figura 8. Configurações da Classe AuthServlet
    Configurações da Classe AuthServlet
  6. Clique em Concluir para criar a classe.
  7. Crie um novo pacote clicando com o botão direito do mouse sobre Recursos Java: src no projeto NewAtomFeed e selecionando Novo - Pacote.
  8. Digite com.ibm.test.wcm.app.atom.util no campo Nome e clique em Concluir.
  9. Crie uma nova classe dando um clique com o botão direito do mouse sobre o pacote com.ibm.test.wcm.app.atom.util e selecionando Nova - Classe.
  10. No assistente de Nova Classe Java, faça o seguinte:

    • Digite AtomURLBuilder no campo Nome.
    • Digite java.lang.Object no campo Superclasse.
    • Selecione os campos Construtores na superclasse e Herdar métodos abstratos. Veja a figura 9.
    Figura 9. Configurações da classe AtomURLBuilder
    Configurações da classe AtomURLBuilder
  11. Clique em Concluir para criar a classe.
  12. Crie um novo pacote clicando com o botão direito do mouse sobre Recursos Java: src no projeto NewAtomFeed e selecionando Novo - Pacote.
  13. Digite com.ibm.test.wcm.app.atom.actions no campo Nome e clique em Concluir.
  14. Crie uma nova classe dando um clique com o botão direito do mouse sobre o pacote com.ibm.test.wcm.app.atom.actions e selecionando Nova - Classe.
  15. No assistente de Nova Classe Java, faça o seguinte:

    • Digite NewFeedAction no campo Nome.
    • Digite org.apache.struts.action.Action no campo Superclasse.
    • Selecione os campos Construtores na superclasse e Herdar métodos abstratos, como mostrado na figura 10.
    Figura 10. Configurações da classe NewFeedAction
    Configurações da classe NewFeedAction
  16. Clique em Concluir para criar a classe.
  17. Crie um novo pacote clicando com o botão direito do mouse sobre Recursos Java: src no projeto NewAtomFeed e selecionando Novo - Pacote.
  18. Digite com.ibm.test.wcm.app.atom.resolver no campo Nome e clique em Concluir.
  19. Crie uma nova classe dando um clique com o botão direito do mouse sobre o pacote com.ibm.test.wcm.app.atom.resolver e selecionando Nova - Classe.
  20. No assistente de Nova Classe Java, faça o seguinte:

    • Digite NewFeedWCMResolver no campo Nome.
    • Digite java.lang.Object no campo Superclasse.
    • Selecione os campos Construtores na superclasse e Herdar métodos abstratos, como mostrado na figura 11.
    Figura 11. Configurações da classe NewFeedWCMResolver
    Configurações da classe NewFeedWCMResolver
  21. Clique em Concluir para criar a classe.

Completando o código

Agora que o aplicativo da Web está configurado, é possível começar a codificar as classes internas do feed Atom. Já foram criadas quatro classes Java para esse fim.

A classe servlet é o ponto de partida para o processamento do pedido de feed Atom. O objetivo da classe AuthServlet, como o nome sugere, é assegurar que o usuário seja autenticado antes de o pedido ser redirecionado para a classe de ação. A classe servlet também assegura que, quando o pedido atingir a classe de ação, seja por um caminho de servlet protegido (/myatom).

A classe AuthServlet é o servlet de autenticação comum para todos os feeds Atom criados no aplicativo da Web NewAtomFeed. A classe AuthServlet estende a classe org.apache.struts.action.ActionServlet e substitui o método process(). O método process() é aquele usado para executar o processamento padrão de pedido e gerar a resposta correspondente. Veja a listagem 2.

Listagem 2. Trecho de código do servlet de ação
protected void process(HttpServletRequest p_request, HttpServletResponse p_response) 
        throws IOException, ServletException 
    { 
        try 
        { 
                // verificar se o usuário está autenticado 
  
                // se o usuário estiver autenticado, verifique se o caminho servlet 
  
// se o usuário estover atenticado e o caminho do servlet for um caminho protegido, 
// redirecione a solicitação para que ela possa 
// ser processada pelo suporte Action 
                
    }

A classe de ação é aquela registrada na configuração de Struts e, portanto, a chamada quando um pedido é recebido após ser redirecionado pelo AuthServlet. O método substituído execute(), que é herdado da superclasse org.apache.struts.action.Action, é chamado para processar o pedido.

No método execute(), primeiro é determinado o método do pedido. Somente pedidos Get e Head são considerados válidos, de acordo com a especificação APP. Se o pedido recebido for Get ou Head, o cabeçalho do objeto de resposta é configurado e depois encaminha esse pedido para o método get(). O método get() então processa esse pedido. Veja a listagem 3.

Listagem 3. Código do método execute()
public ActionForward execute(ActionMapping mapping, ActionForm aform, 
HttpServletRequest request, HttpServletResponse response) throws Exception
{
    ActionForward forward = null;
    response.setHeader("Server", "Teamspace Web Content 1.0");
    String httpMethod = request.getMethod();
    if(httpMethod.equalsIgnoreCase("GET"))
    {
	m_isHead = false;
	forward = get(mapping, aform, request, response);
    } else
    if(httpMethod.equalsIgnoreCase("HEAD"))
    {
	m_isHead = true;
	forward = get(mapping, aform, request, response);
    } else
    {
	response.setStatus(405);
	response.setHeader("Allow", "GET, HEAD");
	return null;
    }
    return forward;
}

No método get(), primeiro são extraídas todas as informações úteis do pedido que é passado como parâmetros de consulta. Depois, cria-se uma instância do repositório do Lotus Web Content Management para o usuário autenticado. No código de amostra, mostrado na listagem 4, também se usa uma classe de utilitário com.ibm.test.wcm.app.atom.util.AtomURLBuilder que tem métodos para ajudá-lo a criar URLs que apontam de volta para o servidor Lotus Quickr. Todos esses dados (ou seja, parâmetros de consulta, instância do repositório do Lotus Web Content Management e instância do AtomURLBuilder) são então passados para o método getFeed() da classe NewFeedWCMResolver onde o documento Atom é criado. O documento Atom retornado pela classe NewFeedWCMResolver é enviado de volta como resposta para o navegador. Veja a listagem 4.

Listagem 4. Código do método get()
public ActionForward get(ActionMapping actionMapping, ActionForm actionForm, 
HttpServletRequest request, HttpServletResponse response) throws Exception
{
	/*
	*	..... criar os dados de parâmetros de consulta ....
	*/

	/*
	*	..... criar a instância do repositório WCM .... 
	*/
	
	/*
	*	..... criar a instância do utilitário AtomURLBuilder .... 
	*/

	/*
	*	..... passar todos os dados capturados dos parâmetros e instâncias de consulta do 
	*	repositório WCM e utilitário AtomURLBuilder para o método getFeed da classe
*	NewFeedWCMResolver  .... 
	*/
	
	/*
	*	..... envie o documento atom como resposta para o navegador 
	*/
}

O método getFeed da classe NewFeedWCMResolver primeiro envia uma consulta para que o Lotus Web Content Management busque o conteúdo do tipo de componente selecionado de todas as áreas de equipe das quais o usuário autenticado é membro. O documento Atom é criado começando da seção do cabeçalho, seguida pelas entradas. A filtragem é feita enquanto as entradas são adicionadas ao documento Atom. Esse documento Atom é então retornado à classe NewFeedAction. Veja a listagem 5.

OBS.: Enquanto cria o campo atom, é preciso ter cuidado com os valores (dados) com os quais você preenche o feed. Alguns caracteres, como espaço em branco " ", não são aceitos por alguns elementos do feed Atom. Consulte a seção de Recursos para obter mais informações sobre o Atom Publishing Protocol.

Listagem 5. Código do método getFeed()
public Feed getFeed(Workspace p_workspace, AtomURLBuilder p_urlBuilder, 
Locale locale, String p_atName, String p_optionAttr, 
String p_optionVal, HttpServletRequest p_request) throws AuthorizationException, 
InvalidIdException, AtomException
{
	/*
	*	..... consultar o WCM para criar o conteúdo do  
	tipo de componente selecionado para o usuário autenticado ....
	*/

	/*
	*	..... adicionar os elementos do cabeçalho no documento Atom  .... 
	*/
	
	/*
	*	..... adicionar os elementos do cabeçalho no documento Atom  .... 
	*/

	/*
	*	..... passar todos os dados capturados a partir dos 
	parâmetros de consulta e instâncias do 
	*	..... repositório WCM e utilitário AtomURLBuilderpara 
	o método getFeed da classe 
	NewFeedWCMResolver.... 
	*/
	
	/*
	*	..... retornar o documento atom para a classe NewFeedAction
	*/
}

OBS.: Esse código de origem para as quatro classes é fornecido como arquivo na seção de Downloads deste artigo. Os nomes de arquivos são os seguintes:

  • AuthServlet.java
  • NewFeedAction.java
  • NewFeedWCMResolver.java
  • AtomURLBuilder.java

Registrando a nova classe servlet com o descritor de implementação da Web

A nova classe servlet precisa ser registrada com o descritor de implementação da Web. Visto que o seu aplicativo da Web foi criado a partir de um aplicativo da Web existente, a entrada apropriada para esse servlet já existe no descritor de implementação da Web. Só é possível mudar o atributo de classe para apontar para a nova classe servlet AuthServlet.

Siga estes passos:

  1. Abra o Descritor de Implementação da Web para abrir o arquivo web.xml ou abra este explicitamente para o projeto NewAtomFeed.
  2. Vá até a visualização Servlets.
  3. Selecione o servlet WCM Atom Publishing.
  4. Clique no botão Procurar ao lado do campo de classe Servlet para mudar o valor desse atributo. Veja a figura 12.

    Figura 12. Visualização Servlets do arquivo web.xml
    Visualização Servlets do arquivo web.xml
  5. No assistente Selecionar Servlet ou JSP, faça o seguinte:

    • Digite AuthServlet no campo Escolha um servlet.
    • Selecione a classe servlet AuthServlet no pacote com.ibm.test.wcm.app.atom.servlet para mudar o atributo Classe Servlet desse servlet.
  6. Salve o arquivo web.xml.

Registrando a nova classe de ação com a configuração do Struts

A nova classe de ação criada precisa ser registrada com a configuração do Struts. A configuração do Struts é definida no arquivo struts-config-atom.xml. Um mapeamento da classe de ação com o caminho da URL é registrado com a configuração de Struts de modo que todos os pedidos com caminho que combina são enviados para a classe de ação mapeada para processamento.

Siga estes passos:

  1. Abra o arquivo struts-config-atom.xml no projeto NewAtomFeed.
  2. Remova todos os três mapeamentos de ação do elemento action-mappings. Adicione um novo mapeamento de ação para o novo feed, como mostrado na listagem 6.
Listagem 6. Mapeamento de ação para o novo feed
<action path="/newfeed/*" type="com.ibm.test.wcm.app.atom.actions.NewFeedAction" />
  1. Salve o arquivo struts-config-atom.xml.

Implementando o novo arquivo EAR do feed Atom

Agora que o aplicativo está pronto para implementação, é preciso fazer uma compilação integral e depois exportar o aplicativo como arquivo EAR. Depois disso feito, use o console do WebSphere Application Server para implementar o arquivo EAR exportado no servidor de aplicativos WebSphere_Portal. Lembre-se de que você precisa abrir o aplicativo implementado explicitamente antes de poder usá-lo. De modo similar, se você reimplementar o arquivo EAR por qualquer motivo, é preciso reiniciar o aplicativo para que as mudanças entrem em vigor.

Siga estes passos:

  1. Dê um clique com o botão direito do mouse sobre o projeto NewAtomFeedEAR e selecione Exportar - Arquivo EAR.
  2. Selecione o projeto NewAtomFeedEAR no aplicativo EAR e digite o caminho de destino do EAR no campo Destino no assistente de Exportação. Veja a figura 13.

    Figura 13. Exportando o aplicativo como arquivo EAR
    Exportando o aplicativo como arquivo EAR
  3. Clique em concluir para exportar o projeto como NewAtomFeed.ear no caminho selecionado.
  4. Efetue login no console de administração do WebSphere Application Server.
  5. Selecione Aplicativo - Aplicativos Corporativos, como mostrado na figura 14.

    Figura 14. Console de administração do WebSphere Application Server
    Console de administração do WebSphere Application Server
  6. A página Preparando a instalação do aplicativo é exibida; essa página é onde se pode instalar o arquivo EAR recém-criado. Clique em Avançar.
  7. Uma nova página, mostrada na figura 15, é exibida, na qual é possível configurar as ligações e mapeamentos padrão. Faça o seguinte:

    • Selecione o campo Gerar Ligações Padrão
    • Selecione o campo Substituir ligações existentes
    • Selecione o campo Usar o nome do host virtual padrão para os módulos da Web
    • Clique em Avançar para continuar.
    Figura 15. Configurações de ligação padrão
    Configurações de ligação padrão
  8. A página da Etapa 1, Selecionar opções de instalação, é mostrada. Não mude as configurações padrão. Clique em Avançar para continuar.
  9. A página da Etapa 2, Mapear módulos para os servidores, é mostrada. Faça o seguinte, conforme mostrado na figura 16:

    • Selecione o segundo campo, WebSphere: cell=ykare, node=<node_name>,server=Websphere_Portal, na seção Clusters e Servidores.
    • Selecione a caixa de opção sob Selecionar título.
    • Clique em Aplicar.
    • Clique em Avançar para continuar.
    Figura 16. Mapeando o módulo no servidor
    Mapeando o módulo no servidor
  10. A página da Etapa 3, Mapear hosts virtuais para módulos da Web, do assistente é mostrada. Mantenha os valores-padrão e clique em Avançar para continuar.
  11. A página da Etapa 4, Mapear funções de segurança para usuários/grupos, do assistente é mostrada. Faça o seguinte, conforme mostrado na figura 17:

    • Selecione a caixa de opção Todos autenticados? em Todas as Funções.
    • Clique em Avançar para continuar.
    Figura 17. Mapeando as funções de segurança de usuário/grupos
    Mapeando as funções de segurança de usuário/grupos
  12. A página de resumo do assistente de instalação é mostrada. Clique em Concluir.
  13. A página de resumo de instalação é mostrada. Clique no link Salvar na Configuração Master, como mostrado na figura 18.

    Figura 18. Página de resumo da instalação
    Página de resumo da instalação
  14. Clique no botão Salvar. A ação o leva de volta para a visualização Aplicativo Corporativo.
  15. Abra o aplicativo instalado no passo anterior.

Usando o novo feed Atom

Assim, concluímos a implementação de um novo feed Atom. É possível testá-lo usando a seguinte URL:

http://<host>:<port>/lotus/customfeed/myatom/newfeed/?atname=<
authoring_template_name>'optionattr=<element_name>
&optionval=<element_value>

A URL de amostra para o feed de personalização de anúncio é a seguinte:

http://<host>:10038/lotus/customfeed/myatom/newfeed/?atname=list_announcement &optionattr=type'optionval=@nls@special.title@

onde:

  • <host>: Nome do host ou IP
  • <port>: Número da porta (valor-padrão: 10038)
  • <authoring_template_name>: Nome do modelo de criação para o componente
  • <element_name>: Nome de elemento pelo qual a filtragem deve ser feita. Esse elemento deve ser do tipo OptionSelection.
  • <element_value>: Valor pelo qual a filtragem deve acontecer.

Conclusão

Este artigo tratou de como criar um novo feed Atom para obter conteúdo do Lotus Quickr. Usamos o arquivo existente ilwwcm-atompublishing.war para criar um projeto para seu novo feed. Depois, configuramos o aplicativo para suportar o novo feed modificando os arquivos application.xml e struts-config-atom.xml. Depois, implementamos duas classes Java, NewFeedAction.java e NewFeedWCMResolver.java. Por último, aprendemos a implementar o aplicativo e a testá-lo.


Downloads

DescriçãoNomeTamanho
Código de amostraAtomURLBuilder.java1.52KB
Código de amostraAuthServlet.java2.45KB
Código de amostraNewFeedAction.java3.74KB
Código de amostraNewFeedWCMResolver.java7.17KB

Recursos

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Lotus
ArticleID=413766
ArticleTitle=Trabalhando com componentes do IBM Lotus Quickr 8.1, parte 3: Expondo componentes como feed Atom customizado
publish-date=06292009