Quando usar
- Para apresentar na entrada do desktop, resumos das informações impactantes pro negocio do usuário (papel corrente), passando para o sistema (e não para o usuário) a responsabilidade extrair e organizar informações do seu interesse;
- Para extrair informações da grande base do ERP aquilo que é impactante e deveria da atenção do papel corrente.
- Para alertar ao usuário sobre itens críticos que precisam da sua atenção (O que mudou ou está fora do padrão);
- Para permitir ao usuário analisar e decidir sobre o resumo exibido;
- Para apresentar ações possíveis sobre o resumo exibido;
Portlet representa um pedaço da interface que exibe um conjunto de informações que precisam ser visualizadas de forma rápida e simples, contendo normalmente:
- Tabelas sumarizadas;
- Itens sumarizados com totalizadores;
- Gráficos;
- Mapas;
- Símbolos (Mensagens ou imagens de alerta).
Normalmente são utilizados no contexto de agregar informações que venham de diversas fontes do ERP ou mesmo fontes externas.
Um portlet pode conduzir o usuário para uma visualização mais detalhada dos dados ou para uma funcionalidade que irá permitir o usuário executar uma ação de negócio.
Estrutura
Quadro (Canvas) - Container principal do componente que engloba os seguintes itens:
- [*Barra de Título*]
Nesta área na parte superior apresenta o título na barra da Janela com o botão fechar, ícone para maximizar, restaurar e menu.
- Título - Deve conter o nome do Caso de Uso ou tarefa sendo suportada na Interface;
- Ícone de Ajuda;
- Ícone de Fechar.
- Cabeçalho do Portlet
No cabeçalho estará disposto um ícone e titulo idêntico da barra. Também nessa área pode estar disposto mecanismos de busca, totalizadores e informações de cabeçalho referente ao assunto tratado no conteúdo.
- Ícone da Funcionalidade (opcional);
- Título - Deve conter o nome do Caso de Uso ou tarefa sendo suportada na Interface;
- Agrupador de Cabeçalho;
- Filtros Rápidos;
- Totalizadores;
- Filtro Simples.
- Área de Conteúdo
O conteúdo comporta um conjunto de informações referente ao contexto utilizado no momento corrente.
- Portlet - Atalhos contextuais
Para apresentar ações relacionadas sem que o usuário tenha que localizar em outro ponto, através de um link direto.
- Painel de ações no Rodapé
O rodapé é composto por uma barra que agrupa um conjunto de ações disponíveis para aquele assunto. Um dos botões deve ser o que tem a maior focalidade, seguindo a prioriodade da esquerda para a direita.
- Ação Focal;
- Ações Normais;
- Ações Subfocais.
Comportamentos
- Estados - Os portlets devem considerar o tamanho corrente para exibir informações. Quando por exemplo tamanho mínimo (235 x 200 px) as informações devem respeitar estas restrições. Assim como em tamanhos maiores o portlet deve explorar os espaços disponíveis apresentando mais informações ou ampliando as anteriores (vide exemplo).
- Icone de Redimensionamento - drag - ajuste de altura e largura do portlet;
- Drag de portlet - altera o posicionamento do portlet em relação a interface;
- Troca de Portlet - clicando sobre a barra de títulos do portlet e arrastando sobre outro portlet, estes trocarão de posicionamento automático. Clicando e precionando a tecla "Ctrl" juntamente, há possibilidade de arrastar um portlet e posicioná-lo sobre outro portlet;
Boas Práticas
- Portlets não devem conter apenas atalhos, devem trazer resumos;
- No modo portlet pequeno as legendas e dados nas séries devem ser evitados dando preferência ao mouse over/tooltips;
- Defina os estados dos portlets (pequeno, médio e grande).
Exemplo
Unknown macro: {flash}
Código fonte
<?xml version="1.0" encoding="utf-8"?>
<Portlet xmlns="com.datasul.framework.ui.templates.portlet.*"
width="100%" height="100%"
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:df="com.datasul.meiu.components.date.*"
xmlns:shortcut="com.datasul.meiu.components.shortcut.*"
xmlns:view="com.datasul.meiu.portlet.states.view.*"
headerVisibility="alwaysShow"
headerIcon="@Embed('/assets/meiu/icons/coinstack.png')"
creationComplete="startUp()" >
<mx:Script>
<![CDATA[
[Bindable]
public var _model:ExemploPortletModel = new ExemploPortletModel();
[Bindable]
public var _controller:ExemploPortletController;
private function startUp():void {
_controller = new ExemploPortletController(this);
}
]]>
</mx:Script>
<headerContent>
<mx:Canvas height="100%" width="100%" horizontalScrollPolicy="off"
verticalScrollPolicy="off">
<mx:Label x="0" y="12" text="Emissão"/>
<mx:Label x="0" y="30" text="Vencimento"/>
<mx:Label x="50" y="12" id="printDateHeader" text="20/08/2007"
fontWeight="bold"/>
<mx:Label x="70" y="30" id="dueDateHeader" text="20/08/2008"
fontWeight="bold"/>
</mx:Canvas>
</headerContent>
<mx:ViewStack id="viewStack" left="0" right="0" height="100%" width="100%"
creationPolicy="all">
<view:ExemploPortletData id="viewData"/>
<view:ExemploPortletConfiguration id="viewConfiguration"/>
<view:ExemploPortletChart id="viewChart"/>
</mx:ViewStack>
</Portlet>
Referências
Ver Também