Estendendo um Painel Existente ao Incluir Novos Dashlets no Web UI Framework

É possível customizar/estender um painel existente ao incluir dashlets.

Sobre esta tarefa

A seguir há um XML de amostra, com definições de metadados de dashlet:

<Dashlets>
			<Dashlet id="dashlet_one" title="Dashlet One" type="html" tag="tag_1">
						<Url>/stk/dashboard/dashlet_one.jsp</Url>
						<Imgurl>/stk/img/dashboard/dashlet_one_preview.png</Imgurl>
						<Description>
									Dashlet one description bundle key
						</Description>
						<Config numberOfColumns="3">
						</Config>
			</Dashlet>
			<Dashlet id="dashlet_two" title="Dashlet Two" type="extscreen" tag="tag_2"
												multiInstance="true" refreshable="Y">
						<Url>/stk/dashboard/dashlet_two.jsp</Url>
						<Imgurl>/stk/img/dashboard/dashlet_two_preview.png</Imgurl>
						<Description>
									Dashlet two description bundle key
						</Description>
						<Config numberOfColumns="2">
						</Config>
						<!-- Other metadata relevant to the dashlet can be added based on type
						and url of the dashlet -->						
			</Dashlet>
			<Dashlet id="dashlet_three" title="Dashlet Three" type="html" tag="tag_3">
						<Url>/stk/dashboard/dashlet_three.jsp</Url>
						<Imgurl>/stk/img/dashboard/dashlet_three_preview.png</Imgurl>
						<Description>
									Dashlet three description bundle key
						</Description>
						<Config>
						</Config>
			</Dashlet>
</Dashlets> 
As descrições dos atributos e elementos da amostra acima são fornecidas a seguir.
ID

Um identificador exclusivo do dashlet. Esse id é usado para consultar um dashlet e suas propriedades. Ele é usado por uma definição de painel para incluir um dashlet nele.

título
O título do dashlet. Pode ser uma chave de pacote configurável que pode ser localizada.
tipo
O tipo de dashlet é um metadados sobre o tipo de conteúdo retornado por uma URL de dashlet. Por padrão, o Web UI Framework suporta os tipos de dashlet a seguir:
  • HTML. A resposta do tipo HTML deve ser um fragmento de documento HTML válido. Os exemplos a seguir ilustram as várias maneiras pelas quais ela pode ser usada para renderizar a UI do dashlet: (1) Um fragmento HTML totalmente renderizado que pode ser visualizado em um navegador sem nenhum processamento adicional. (2) Um iframe que pode ser usado para integrar com segurança um widget a partir de websites externos. (3) um scriptlet que pode renderizar dinamicamente o conteúdo no contêiner.
  • extscreen. Um extscreen é um script de renderização de IU JavaScript ExtJS-based. Ele pode ser usado para renderizar componentes de UI dinâmicos e interativos.
identificação
Um valor separado por vírgula de nomes de tag do dashlet.
refreshable

Configure esse valor para Y para tornar o painel atualizável e exibir um ícone de atualização na caixa de ferramentas do dashlet. Quando o ícone de atualização é clicado, o dashlet individual é atualizado.

multiInstance

Configurar isso para true permite que o dashlet seja incluído no painel diversas vezes. Esse é um parâmetro opcional que é padronizado para false.

URL

A URL usada para obter o conteúdo para renderizar um dashlet. Para renderizar um dashlet no painel, uma solicitação precisará ser feita no servidor. A solicitação é feita nessa URL e a resposta é renderizada na UI.

Imgurl

A URL para a imagem a ser exibida mostrando uma visualização do conteúdo exibido pelo dashlet.

descrição
A descrição do dashlet. Pode ser uma chave de pacote configurável que pode ser localizada.
Configuração
O elemento Config é usado para definir as opções de configuração usadas para renderizar o dashlet na UI. Alguns dashlets que não requerem uma opção de configuração podem escolher não especificar o elemento Config.
Observação: Além do elemento Config, um dashlet pode ter outros elementos de metadados Em geral, o Config é usado para definir propriedades de UI, mas pode ser usado para reter qualquer tipo de metadados.

Para customizar/estender um painel existente ao incluir dashlets, execute o seguinte:

Procedimento

  1. Crie o novo arquivo XML para os dashlets usando o código de amostra acima como diretriz.
  2. Execute um dos procedimentos a seguir:
    • Navegue para a pasta << INSTALL_DIR>>> /extensions/ <app-name> /webpages Crie a estrutura de diretório desejada e coloque os arquivos XML de dashlet nela.

      Os arquivos XML definidos aqui são copiados para a pasta < application-war> /extn/ < sua estrutura de diretório>

    • Navegue para a pasta << INSTALL_DIR>> /repository/eardata/ > <app-name> /extn Crie a estrutura de diretório desejada e coloque os arquivos XML de dashlet nela.

      Os arquivos XML definidos aqui são copiadas para a pasta < application-war> / < sua estrutura de diretório>

  3. Crie um novo servlet para carregar seus arquivos XML e inclua-os no painel do usuário.

    Código de amostra:

    //<dirPath> = <your directory structure> or extn/<your directory 
    structure> depending on procedure used.
    String appId = SCUIUtils.getApplicationId(config.getServletContext());
    String dashletsFilePath = “<dirPath>/dashlets.xml";
    InputStream isDlts = servletContext.getResourceAsStream(dashletsFilePath);
    SCUIDashboardManager.getInstance(appId).registerDashlet(isDlts);
  4. Empacote esse servlet em um arquivo jar e use o segundo método no caso de uma implementação de diversos wars. Em outros casos, é possível usar um dos métodos.
    • Execute o script Install3rdParty.sh a partir de << INSTALL_DIR>>/bin para incluir esse arquivo JAR no aplicativo
    • Navegue até a pasta << INSTALL_DIR>> /repository/eardata/ <app-name> /extn. Crie a pasta WEB-INF/lib. Copie o arquivo jar aqui.
  5. Navegue até a pasta << INSTALL_DIR>> /repository/eardata/ <app-name> /extn. Faça uma entrada no arquivo web.xml para carregar seu servlet e assegure-se de que ele seja carregado depois do servlet do inicializador de seu aplicativo dando ao carregar na inicialização um valor por volta de 1000 ou mais.
  6. Execute o comando buildwar/buildear.
    Na ativação do aplicativo, seus novos dashlets serão carregados e será possível visualizá-los quando selecionar o link customizar no painel.
    Nota: a configuração e os layouts de painel existentes não podem ser mudados durante a extensibilidade do painel.... Apenas novos dashlets podem ser associados a um painel.
    Nota: para incluir um painel em um aplicativo, as etapas semelhantes precisam ser seguidas. A seguir há um XML de amostra, com definições de metadados de painel:
    <Dashboards>
       <Dashboard id="myhomepage" title="My Homepage" tag="tag_1,tag_n"
                  version="0.0.1">
          <Config> 
             <Layouts currentLayoutId="twoEqualColumn">
                <Layout id="twoEqualColumn" type="column"
                        previewIconUrl="/stk/img/dashboard/2col_preview.png">
                   <Column id="d_one" width=".49"/>
                   <Column id="d_two" width=".49"/>
                </Layout>
             </Layouts>
          </Config>
          <Dashlets>
             <Dashlet id="dashlet_one" parent="d_one" >
             </Dashlet>
             <Dashlet id="dashlet_two" parent="d_two">
                <Config numberOfColumns="1" >
                </Config>
             </Dashlet>
          </Dashlets>
       </Dashboard>
    </Dashboards>
    
    ID

    Um identificador exclusivo do painel. Esse id é usado para verificar permissões e autorização de recursos. Se um painel contiver um dashlet para o qual o usuário não possui permissão, esse dashlet não será mostrado para o usuário.

    título
    O título do painel. Pode ser uma chave de pacote configurável que pode ser localizada.
    identificação
    Um valor separado por vírgula de nomes de tag do painel. Essas tags são usadas para localizar dashlets que possuem tags correspondentes. Esses dashlets relacionados estão disponíveis quando você customizar o painel.
    Nota: você poderá ver outras tags também, mas por padrão, apenas dashlets com tags correspondentes serão exibidos.
    versão

    A versão dos metadados do painel. Ela pode ser usada no caso de ocupação variada para suportar diferentes versões dos metadados de painel.

    Configuração
    O elemento Config é usado para definir opções de configuração usadas para renderizar o painel. Uma opção de configuração assim é o layout de dashlets em um painel.

    Os layouts são usados para definir estratégias de layout suportadas por um painel. Ele contém elementos filho definindo estratégias de layout individuais. Atualmente, apenas um layout de coluna é suportado como um layout padrão de painel.

    Dashlets
    Uma lista de todos os dashlets a serem exibidos no painel. Cada dashlet pode ter o seguinte conjunto de atributos e de elementos:
    • id. ID de referência do dashlet a ser incluído no painel.
    • Parent. O id do contêiner do layout no qual o dashlet será incluído.