Conteúdo


Crie relatórios customizados com BIRT e Rational Team Concert

Use BIRT para acessar vários atributos de item de trabalho customizados

Comments

Objetivos

Após ler este artigo, você terá o conhecimento para:

  • Entender como atributos customizados são armazenados no repositório do Rational Team Concert.
  • Visualizar e localizar atributos customizados no repositório do Rational Team Concert.
  • Criar conjuntos de dados BIRT para cada tipo de dados de atributo customizado.
  • Aplicar código JavaScript a cada um dos conjuntos de dados para armazenar atributos customizados.
  • Exibir os valores de atributos customizados.

Pré-requisitos

Esta série de artigos pressupõe que o leitor já conheça os relatórios no Rational Team Concert com BIRT. Isso inclui como criar relatórios, como trabalhar com fontes de dados e conjuntos de dados e como incluir tabelas em um relatório. Os seguintes artigos no IBM developerWorks tratam desses tópicos. Se você não conhece os relatórios no Rational Team Concert e BIRT, siga primeiro os artigos a seguir:

Para acompanhar esses artigos, é necessário ter uma conta gratuita no jazz.net e as versões completas ou de teste do servidor e do cliente do Rational Team Concert.

Instrução do problema

Atributos padrão e integrados do Rational Team Concert são armazenados em colunas de tabela. No entanto, atributos de itens de trabalho customizados do Rational Team Concert são armazenados no armazém de dados em colunas KEY e VAL genéricas. Essa abordagem é usada para acomodar atributos customizados definidos pelo usuário que existem em itens de trabalho. O exemplo a seguir mostra como três atributos de sequência, Phase, Release e Type, são armazenados para um item de trabalho de defeito.

Esquema atual usado para armazenar atributos customizados

Como o Rational Team Concert não pode criar colunas dinamicamente no banco de dados para cada atributo customizado, um mecanismo de armazenamento genérico foi implementado, como mostra a Tabela 1 abaixo. Na Tabela 1, três atributos de sequência customizados são adicionados a um tipo de item de trabalho. Para dois itens de trabalho específicos, existe um total de seis linhas recuperadas para os três atributos customizados. Para cada item de trabalho, uma linha é armazenada para cada atributo customizado.

Tabela 1. Exemplo do esquema de atributo customizado atual
WI_IDSTRING_KEYSTRING_VAL
1PhaseDevelopment
1Release2.1
1TypeCode Error
2 PhaseTesting
2 Release2.5
2 TypeBug

Esquema ideal para armazenar atributos customizados

A tabela ideal para criar relatórios sobre atributos customizados do Rational Team Concert contém colunas para cada atributo armazenado no banco de dados. A Tabela 2 mostra o esquema e layout ideais para a tabela.

Tabela 2. Exemplo de um esquema de atributo customizado ideal
WI_IDPhaseReleaseType
1Development2.1Code Error
2 Testing2.5Bug

Localização de atributos customizados

A Tabela 3 define quais campos contêm os atributos customizados nas tabelas de armazém de dados no Rational Team Concert.

Tabela 3. Localização de alguns campos de atributo customizado
StringsTimestampsIntegersLong
Data sourceJazz Data Source
SnapshotWORKITEMS_SNAPSHOT
Data setAdvanced Data Set
Table nameLIVE_WORKITEM_CNT
Filter byPROJECT_AREA_NAME
WI_TYPE
Column to selectSTRING_KEY
STRING_VAL
TIMESTAMP_KEY
TIMESTAMP_VAL
INTEGER_KEY
INTEGER_VAL
LONG_KEY
LONG_VAL

Solução para criar um relatório BIRT para vários atributos

Para criar um relatório BIRT customizado para vários atributos customizados, siga estas instruções:

  1. Crie variáveis globais para armazenar os dados de atributo customizado.
  2. Crie conjuntos de dados separados e avançados para cada tipo de atributo (por exemplo, conjunto de dados, número inteiro e registro de data e hora).
  3. Use JavaScript para capturar e armazenar os dados de atributo customizado.
  4. Crie um conjunto de dados final, principal, de resumo, para consolidar todos os dados de atributo customizado em um formato utilizável.

Crie variáveis globais no relatório

Após iniciar um novo relatório BIRT, a primeira etapa é criar variáveis globais para armazenar os dados de atributo customizado. Para cada tipo de atributo customizado (cadeia de caracteres, número inteiro e registro de data e hora), crie uma variável global separada.

  1. Crie um novo modelo de relatório BIRT e crie as fontes de dados necessárias para a fonte do Rational Team Concert, selecione Report na janela do BIRT Navigator.
  2. Na visualização Template, selecione a guia Script na parte inferior para ir para a janela de JavaScript do relatório.
  3. No menu suspenso de seleção de script, selecione a categoria initialize, como mostra a Figura 1. O código que você escreverá na seção initialize será executada quando o relatório for iniciado.
  4. Crie novos objetos por tipo de atributo para armazenar os atributos customizados. Neste exemplo, você criará variáveis para cadeias de caractere e registros de data e hora. Coloque o código a seguir na seção de inicialização, como mostra a Figura 1:
    Strings = new Object();
    Timestamps = new Object();
Figura 1. Inicializar o relatório com variáveis globais

Crie um conjunto de dados separado para cada tipo de atributo customizado

Crie conjuntos de dados avançados separados para cada um dos tipos de atributos customizados. Neste exemplo, você criará relatórios para os atributos customizados de cadeia de caractere e registro de data e hora. Portanto, é necessário criar dois conjuntos de dados avançados: um para as cadeias de caracteres e um para registros de data e hora. As instruções a seguir supõem que você saiba como criar um conjunto de dados no BIRT, que é conectado ao respectivo banco de dados do Rational Team Concert.

Crie um conjunto de dados avançado para cadeias de caractere

Para criar um conjunto de dados avançado para o tipo de atributo de sequência, use os valores a seguir, que também são mostrados na Figura 2:

  • Table: LIVE_WORKITEM_CNT
  • Columns to incude: WI_ID, STRING_KEY, STRING_VAL
  • Filter by: PROJECT_AREA_NAME and WI_TYPE
Figura 2. Conjunto de dados avançado para cadeias de caracteres

Conjunto de dados avançado para registros de data e hora

Para criar um conjunto de dados avançado para o tipo de atributo de registro de data e hora, use os valores a seguir, que também são mostrados na Figura 3:

  • Table: LIVE_WORKITEM_CNT
  • Columns to inc:lude WI_ID, TIMESTAMP_KEY, TIMESTAMP_VAL
  • Filter by: PROJECT_AREA_NAME and WI_TYPE
Figura 3. Conjunto de dados avançado para registros de data e hora

Use JavaScript para capturar e armazenar os dados de atributo customizado

Após criar os conjuntos de dados avançados para os atributos customizados de cadeia de caractere e registro de data e hora, use JavaScript para armazenar os dados nas variáveis globais. Em cada conjunto de dados, capture o valor de cada atributo customizado e armazene-o na respectiva variável global como um array.

Busque os dados de atributo customizado para o conjunto de dados avançado de cadeia de caractere

  1. Selecione o conjunto de dados avançado de cadeia de caractere que criamos e selecione a guia Script, como mostra a Figura 4.
  2. Na seção do script onFetch, inclua o código JavaScript a seguir:
    Strings[row["WI_ID"] + row["STRING_KEY"]] = row["STRING_VAL"];
Figura 4. JavaScript para o conjunto de dados avançado de cadeia de caractere

Busque os dados de atributo customizado para o conjunto de dados avançado de registro de data e hora

  1. Selecione o conjunto de dados avançado de registro de data e hora que criamos e acesse a guia Script, como mostra a Figura 5.
  2. Na seção do script onFetch, inclua o código JavaScript a seguir:
    Timestamps[row["WI_ID"] + row["TIMESTAMP_KEY"]] = row["TIMESTAMP_VAL"];
Figura 5. JavaScript para o conjunto de dados avançado de registro de data e hora

Resultado do JavaScript usado para capturar e armazenar dados

Quando cada linha no conjunto de dados avançado é buscada, os dados são armazenados no array global de uma dimensão para cada um dos tipos de dados de atributo customizado. Por exemplo, as informações a seguir armazenadas na Tabela 1 são armazenadas no array de uma dimensão com a combinação de WI_ID e STRING_KEY como valor de índice.

Listagem 4. Exemplo de array global de uma dimensão
	Strings [1Phase] = "Development"
	Strings [1Release] = "2.1"
	Strings [1Type] = "Code Error"
	Strings [2Phase] = "Testing"
	Strings [2Release] = "2.5"
	Strings [2Type] = "Bug"

Vincule os dados ao relatório para executar o JavaScript

Para garantir que o código JavaScript criado é executado quando o relatório é exibido, é necessário vincular um elemento de texto dinâmico para o relatório e para os conjuntos de dados avançados.

  1. Crie um elemento de texto dinâmico e inclua-o no relatório.
  2. Selecione o elemento de texto dinâmico e selecione a guia Binding para definir alguns parâmetros de vinculação de dados.
  3. Na guia Binding, selecione o conjunto de dados de sequência de caractere para garantir que o conjunto de dados avançado de sequência de caractere seja executado quando o relatório é exibido, como mostra a Figura 6.
Figura 6. Vincular o texto dinâmico ao relatório
  1. Oculte o elemento de texto dinâmico para que não seja exibido no relatório. Com a caixa de texto dinâmico selecionada, acesse as configurações de visibilidade e selecione a opção Hide Element, como mostrado na Figura 7.
Figura 7. Ocultar a caixa de texto dinâmico

Exiba os valores dos atributos customizados

Nós criamos dois conjuntos de dados avançados que armazenam os valores de atributos customizados. Em seguida, criamos um conjunto de dados principal para exibir os atributos customizados de maneira organizada. A primeira etapa é criar colunas calculadas que fazem referência ao array global para exibir os respectivos atributos customizados:

  1. Crie um conjunto de dados avançado final chamado Main.
  2. Selecione os valores de coluna apropriados. Selecione o valor WI_ID, pois é necessário para as etapas a seguir. Não selecione os atributos KEY e VAL para cadeias de caractere ou registro de data e hora.
  3. No conjunto de dados avançado principal, crie uma coluna calculada. Colunas calculadas são usadas para exibir os valores dos atributos customizados armazenados nos arrays globais.
  4. Na coluna calculada, inclua a expressão a seguir para indicar o array global e o valor de atributo necessário:
    Strings[row["WI_ID"] + "<id of custom attribute>"];

Neste exemplo, há três colunas calculadas para três atributos customizados: Phase, Release e Type, como mostra a Figura 8.

Figura 8. Colunas calculadas para cadeias de caractere

Observação:
Como os arrays estão vinculados ao layout do relatório, esses campos aparecem vazios quando você visualiza os resultados no conjunto de dados. Os valores aparecerão corretamente quando o relatório for executado.

Após concluir os conjuntos de dados, como mostra a Figura 8, exiba os campos do conjunto de dados principal no relatório BIRT. Faça upload do relatório para o Rational Team Concert e execute-o. Os atributos customizados são exibidos de maneira ordenada, como mostra a Figura 9.

Figura 9. Conjunto de dados concluído
Figura 10. Exibição final do relatório

Resumo

O artigo explicou como capturar e exibir valores de atributos personalizados de maneira ordenada. Ao usar esse método, é possível criar facilmente relatórios com base em atributos personalizados adicionados ao Rational Team Concert.

Agradecimentos

Os autores agradecem a seus colegas Amin Eskooch e Karen por seu apoio e orientação. Os autores também agradecem a vários membros da comunidade Rational Jazz que ofereceram orientação e suporte no jazz.net e nos fóruns jazz.net.


Recursos para download


Temas relacionados


Comentários

Acesse ou registre-se para adicionar e acompanhar os comentários.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Rational
ArticleID=964428
ArticleTitle=Crie relatórios customizados com BIRT e Rational Team Concert
publish-date=02282014