Problemas de instalação e de usuário final
Geral
Qual versão do Eclipse devo usar para instalar o plug-in de ferramentas do Mosaic?
Quais versões do Java Development Kit devo usar com o Mosaic?
Quais plataformas são compatíveis com o cliente Mosaic e qual software é necessário para executá-lo?
Existem esquemas XML para o aplicativo Mosaic e XML de catálogo que os desenvolvedores podem consultar?
Existe uma maneira de determinar se a versão de depuração do servidor Mosaic está implantada?
O Mosaic é compatível com acessibilidade?
Qual versão do Eclipse devo usar para instalar o plug-in de ferramentas do Mosaic?
Eclipse 3.5.0 ou posterior (a Adobe recomenda o Flash Builder 4.0 ou posterior).
Quais versões do Java Development Kit devo usar com o Mosaic?
Java Development Kit 1.6 Update 10 e posterior. Para mais informações sobre os requisitos do sistema, consulte Introdução ao Mosaic.
Quais plataformas são compatíveis com o cliente Mosaic e qual software é necessário para executá-lo?
Consulte a página da web Adobe LiveCycle Mosaic ES2 - Requisitos do sistema.
Existem esquemas XML para o aplicativo Mosaic e XML de catálogo que os desenvolvedores podem consultar?
Sim, os arquivos de esquema do W3C estão na pasta [Diretório de instalação do Mosaic]/docs/schemas. A documentação dos arquivos de esquema está disponível aqui: Referência do esquema XML do LiveCycle Mosaic.
Existe uma maneira de determinar se a versão de depuração do servidor do Mosaic está implantada?
Quando você inicia o servidor Mosaic, o console (ou mensagens de log) exibe o conteúdo que inclui o bootstrap de depuração. Por exemplo:
[SWF] /mosaic/gravity_bootstrap_flex4.1.0p10-debug-auto.swf - 8,356,841 bytes after decompression
O Mosaic é compatível com acessibilidade?
Em geral, os recursos de acessibilidade do Mosaic são semelhantes aos oferecidos pelo Flex, Adobe Flash Player e Adobe AIR. O Mosaic é limitado até certo ponto pelo Flex e pelo Flash Player. Especificamente, ele não possui um método para controlar a ordem das guias de sub-aplicativos que são carregados usando o controle SWFLoader. Como resultado, alguns aplicativos são menos acessíveis para usuários que não usam mouse.
Amostras
Existe uma maneira de visualizar o código-fonte para aplicativos, catálogos e blocos para as amostras postadas online?
Existe uma amostra do Mosaic que demonstre como usar o LiveCycle Data Services?
Existe uma maneira de visualizar o código-fonte para aplicativos, catálogos e blocos para as amostras postadas online?
Todo o código-fonte dos aplicativos, incluindo blocos e recursos relacionados, está incluído no arquivo de amostra *.zip.
Existe uma amostra do Mosaic que demonstre como usar o LiveCycle Data Services?
Uma amostra do Mosaic que demonstra como usar o LiveCycle Data Services está disponível aqui. Devido a um problema com o Flash Player, a amostra atualmente demonstra uma abordagem que não é a ideal.
Mensagens de erro
Por que recebo a mensagem "ERRO - O recurso RetrieveData não é encontrado no catálogo sample_catalog" quando abro a amostra Básica?
Por que recebo o erro Erro: Erro do objeto em flash.external::ExternalInterface$/_ toAS() ... sempre que efetuo logon no aplicativo Mosaic usando o Internet Explorer?
Por que o erro http (500) é exibido quando inicializo as amostras?
Por que o erro "StylesheetReference não é um elemento legal da tag Shell" exibida toda vez que carrego a amostra usando o cliente da área de trabalho?
Por que o Erro http (403) é exibido quando faço upload de aplicativos no servidor LiveCycle ES2.5?
Por que recebo a mensagem "ERRO - O recurso RetrieveData não foi encontrado no catálogo sample_catalog" quando abro a amostra Básica?
Este erro é um comportamento esperado. A amostra Básica usa um recurso chamado RetrieveData para salvar dados inseridos pelo usuário. Na primeira vez que o bloco é carregado, esse recurso não existe e o servidor registra a mensagem de que o recurso não foi encontrado.
Em geral, assegure-se de que os blocos e recursos relacionados sejam consultados no catálogo do aplicativo. Além disso, verifique se os arquivos correspondentes estão incluídos nas pastas corretas do seu projeto. Para mais informações, consulte Desenvolvimento de aplicativos para Mosaic.
Por que recebo o erro "Erro:Erro do objeto em flash.external:: ExternalInterface$ /_toAS() ..." sempre que faço logon no meu aplicativo Mosaic usando o Internet Explorer?
A mensagem de erro completa é Error:object Error at flash.external::ExternalInterface$/_toAS() at flash.external::ExternalInterface$/call() at mx.automation.qtp::QTPAdapter()[C:\work\flex\dmv_automation\projects\qtp\src\mx\automation\qtp\QTPAdapter.as:488]
Esse erro ocorre se você implementar as versões de depuração do mosaic.war, mas não tiver o QTP instalado. Siga um destes procedimentos:
- Ignore o erro.
- Implemente a versão de lançamento do arquivo mosaic.war no servidor.
O Flex SDK envia vários SWCs (os nomes de arquivos usam o formato de automação*.swc) com dependências QTP. Quando as blocos são vinculados a esses SWCs, uma dependência se forma no QTP. Quando o ambiente de tempo de execução usa a versão de depuração do servidor Mosaic, exceções são lançadas se o QTP não estiver instalado.
Por que o erro http (500) é exibido quando inicializo as amostras?
A provável causa desse problema é que o servidor Mosaic não foi implementado corretamente. Reimplemente o arquivo mosaic.war no servidor de aplicativos. Por exemplo, se você estiver usando o JBoss incluído no LiveCycle ES2.5 com o Service Pack 1 instalado como o servidor de aplicativos, faça o seguinte:
-
Pare o JBoss.
-
Exclua a pastajboss/server/lc_turnkey/work em que o LiveCycle ES2.5 SP1 está instalado (por padrão, C:\Adobe\Adobe LiveCycle ES2.5\jboss\server\lc_turnkey\work).
-
Exclua o mosaic.war da pasta jboss/server/lc_turnkey/deploy em que o LiveCycle ES2.5 SP1 está instalado (por padrão, C:\Adobe\Adobe LiveCycle ES2.5\jboss\server\lc_turnkey\deploy).
-
Reinicie o JBoss.
-
Implemente o arquivo mosaic.war no JBoss.
Para obter mais informações sobre a implantação do servidor Mosaic, consulte Introdução ao LiveCycle Mosaic.
Por que o erro "StylesheetReference não é um elemento legal da tag Shell" é exibido toda vez que carrego a amostra usando o cliente da área de trabalho?
As versões de cliente e servidor do Mosaic não são idênticas. Verifique se a versão do servidor Mosaic implantada é idêntica à versão do cliente da área de trabalho que você está usando para visualizar as amostras.
Por que o Erro http (403) é exibido quando faço upload de aplicativos no servidor LiveCycle ES2.5?
O erro 403 ocorre quando as credenciais do usuário na tarefa Ant são válidas, mas o usuário não possui as permissões apropriadas. Assegure-se de que o usuário especificado na tarefa Ant esteja designado para a função ROLE_MOSAIC_DESIGNER. Para obter informações sobre como atribuir funções de usuário, consulte Introdução ao LiveCycle Mosaic.
Por que recebo o erro "Formato de catálogo inválido detectado" ao implantar um catálogo?
A mensagem de erro completa é:
[mosaic-catalog] <crx:Error code="CAT_E41002"> [mosaic-catalog] <crx:Message>Invalid catalog format detected. Arquivo incorreto: {}</crx:Message> [mosaic-catalog] <crx:Key position="0">Tiles/Header.swf</crx:Key>
O erro é exibido porque você está usando uma estrutura de catálogo não compatível. No Mosaic, a estrutura do catálogo exige que você armazene blocos em subpastas nomeadas após o arquivo SWF compilado do bloco. Por exemplo, /Tiles/HelloWorld/HelloWorld.swf.
Servidor
Posso integrar o Mosaic ao SiteMinder?
O que é Single Sign-On (SSO) no Mosaic?
É possível personalizar o logon do Mosaic para aceitar credenciais LDAP?
Posso integrar o Mosaic ao SiteMinder?
Sim. A melhor maneira de integrar o Mosaic ao SiteMinder é usar a configuração de segurança do Spring. Como o Mosaic usa a segurança do Spring para toda a infraestrutura de autenticação e autorização, não há nenhuma configuração específica do aplicativo para ser concluída. Depois que o SiteMinder estiver instalado e funcionando corretamente (consulte a documentação fornecida pela segurança do Spring: http://static.springsource.org/spring-security/site/docs/3.0.x/reference/preauth.html), o Mosaic o usará de forma transparente.
Para obter mais informações sobre a segurança do Spring no Mosaic, consulte Administração do LiveCycle Mosaic.
O que é Single Sign-On (SSO) no Mosaic?
O Mosaic foi projetado para que, depois de efetuar logon, um bloco do aplicativo Mosaic possa acessar outros aplicativos do servidor sem repetir o processo de logon. Esse processo pressupõe que as mesmas credenciais sejam válidas para os aplicativos de servidor subseqüentes. Por exemplo, um Mosaic Tile pode acessar o LiveCycle Data Services ES2.5 ou um utilitário (por exemplo, Assembler Service) que aceita as mesmas credenciais que o Mosaic. Essa metodologia não é o mesmo que tentar inserir um novo URL na mesma sessão do navegador. A API do kit de desenvolvimento de software do Mosaic Tile fornece um meio de obter as credenciais usadas para o logon que serão, em seguida, usadas para acesso subsequente ao servidor.
Para mais informações, consulte Administração do LiveCycle Mosaic.
É possível personalizar o logon do Mosaic para aceitar credenciais do LDAP?
Sim. O Mosaic usa o Spring security para autenticação de usuário e determinação de função. Para permitir que o Mosaic acesse as credenciais do LDAP, os administradores do servidor Mosaic configuram seu sistema de segurança existente para trabalhar com o Spring security.
Para obter mais informações sobre o Spring security no Mosaic, consulte Administração do LiveCycle Mosaic.
Problemas de desenvolvimento de aplicativos
Geral
Por que meu bloco HTML parece ou se comporta de maneira diferente no cliente do navegador do que no cliente de desktop?
Existe uma maneira de definir valores de contexto com uma configuração padrão, de modo que, quando um aplicativo Mosaic é implantado, determinados valores possam ser predefinidos?
Os tempos limite da sessão são compatíveis com aplicativos Mosaic?
Como os artefatos do Mosaic são armazenados ao usar o ambiente do servidor LiveCycle ES2.5?
Como funciona o mecanismo de persistência do Mosaic?
Por que meu bloco HTML parece ou se comporta de maneira diferente no cliente do navegador do que no cliente de desktop?
O cliente do navegador e o cliente de desktop usam mecanismos diferentes para renderizar blocos HTML. O cliente do navegador usa o recurso de renderização do navegador (isto é, usando quadros inline ou iframes). O cliente de desktop renderiza usando o Adobe AIR (ou seja, o WebKit). Os resultados e problemas encontrados dependem do nível de conformidade com os padrões da página que você está usando como um bloco HTML.
Existe uma maneira de definir valores de contexto com uma configuração padrão, de modo que, quando um aplicativo Mosaic é implantado, determinados valores possam ser predefinidos?
Você poderá definir a Exibição de valores de contexto no xml de seu aplicativo que estão disponíveis na inicialização. Para o application Context, ainda não há uma maneira de fazer isso no 9.0.0, mas esse é um recurso necessário para o próximo lançamento.
Os tempos limite da sessão são compatíveis com aplicativos Mosaic?
As sessões do Mosaic não têm tempo limite. O protocolo cliente-servidor do Mosaic usa um encadeamento de segundo plano que faz com que a sessão permaneça válida contanto que o servidor esteja disponível.
Como os artefatos do Mosaic são armazenados ao usar o ambiente do servidor LiveCycle ES2.5?
Quando ele está em execução em um ambiente de servidor do LiveCycle ES2.5, o Mosaic detecta a presença do repositório do LiveCycle ES2.5. Ele usa esse repositório como o mecanismo de armazenamento de conteúdo padrão. Todos os ativos (por exemplo, arquivos XML e SWF) são armazenados diretamente no repositório do LiveCycle ES2.5 em uma árvore. Esta árvore é um homólogo para a árvore de aplicativos.
A partir do Mosaic 9.5 SP1, você também pode configurar o Mosaic para usar um repositório do sistema de arquivos simples ou uma implementação personalizada do repositório. Para obter informações, consulte Administração do LiveCycle Mosaic 9.5.
Como funciona o mecanismo de persistência do Mosaic?
As exibições e o XML do aplicativo são salvos em um sistema de armazenamento de conteúdo configurado no servidor de aplicativos. As exibições estão associadas ao aplicativo específico que as criou. Há um objeto de Usuário disponível por meio das APIs do kit de desenvolvimento de software do Tile. Esse objeto é projetado para fornecer o que é necessário para atributos do usuário. No entanto, o Mosaic é um produto novo e é possível que recursos que você precisa ainda não estejam presentes. Relate quaisquer requisitos ausentes para a equipe de desenvolvimento, que prioriza os requisitos novos conforme eles são recebidos. Quaisquer valores que o seu bloco precise e estejam armazenados na interface IContext da exibição são mantidos no armazenamento de conteúdo como parte da exibição. Seu bloco também poderá usar seus próprios mecanismos de persistência externos ao Mosaic. Se você estiver usando o LiveCycle ES2.5 para persistência, leia Amostras do LiveCycle ES2.5.
Depuração
Existe uma maneira de carregar aplicativos Mosaic no Flash Builder para depuração?
Sim. Em um projeto Flex que compila um bloco baseado em Flex, altere a propriedade do URL de inicialização da configuração de depuração para o URL do aplicativo Mosaic. Por exemplo, defina o valor do URL de inicialização como http://localhost:8080/mosaic/#/applications/Brokerage. Para obter mais informações sobre depuração, consulte Desenvolvendo aplicativos para o LiveCycle Mosaic.
Ladrilhos
Por que meus blocos de módulo não são exibidos em meu aplicativo?
Por que meus blocos baseados em Flex estão em branco no tempo de execução?
Existe alguma maneira de movimentar os blocos ao usar o layout absoluto?
Existe uma maneira de recuperar dinamicamente nomes de blocos de um catálogo?
Por que recebo este erro de bloco HTML: 'A referência à entidade "source" deve terminar com o delimitador ; (ponto e vírgula)'?
É possível bloquear um bloco para que um usuário final não possa movê-lo ou excluí-lo?
Os blocos do Mosaic acessados por meio do cliente do navegador podem ser indexados para pesquisas (por exemplo, usando algo como um Google Appliance)?
Tenho uma exibição que inclui um bloco HTML com reconhecimento de sessão (por exemplo, um que usa cookies). Se eu salvar essa exibição, o cookie será gerenciado para que fique disponível quando a sessão HTML for restaurada?
Repliquei uma exibição que inclui um bloco HTML com reconhecimento de sessão. Existe algum mecanismo para impedir que o cookie da exibição original sobrescreva os cookies das exibições subseqüentes (como a criação de um controle HTML)?
Os blocos podem ser carregados como módulos Flex no domínio de aplicativo atual ou filho de um aplicativo shell?
Por que um bloco parece estar distorcido (a grade é mostrada, mas não contém conteúdo de célula) em alguns servidores, mas é exibido normalmente em outros servidores?
Existe uma maneira de recuperar uma lista dos blocos e alguns de seus atributos a partir da API?
É possível exibir um vídeo em um bloco do aplicativo Mosaic? Por exemplo, um arquivo SWF de uma demonstração que está disponível em um servidor http remoto, mas não é reproduzido a menos que o usuário o inicie?
Por que o conteúdo incorporado é exibido no cliente do navegador, mas não no cliente do desktop (baseado no AIR)?
Por que os dataTips de gráficos do Flex não aparecem no local correto quando são usados em um bloco e acessados usando o cliente do navegador?
O domínio do aplicativo para um bloco modular pode ser especificado quando carregado para permitir que ele herde as definições de classe?
É possível criar uma imagem de fundo que cubra todo o aplicativo Mosaic?
Como faço para definir a propriedade backgroundColor para um bloco de módulo no tempo de execução?
Por que os blocos de HTML são exibidos corretamente no cliente do desktop, mas não no Flash Player?
É possível implantar blocos diretamente de um projeto Eclipse ou Flash Builder?
Ao iniciar um aplicativo Mosaic de amostra usando o cliente do desktop, os blocos podem ser iniciados em janelas nativas separadas?
Por que meus blocos de módulos não são exibidos em meu aplicativo?
Na entrada do catálogo para os módulos, defina a propriedade loadAs como "module":
<tile:Content loadAs="module" ... />
Por que meus blocos baseados em Flex estão em branco no tempo de execução?
Esse problema ocorre se a versão do Mosaic usada para compilar os blocos for diferente da versão do Mosaic no servidor. Por exemplo, você usou uma versão de pré-lançamento para criar blocos, mas implantou a versão de lançamento do servidor Mosaic no servidor de aplicativos. Versões devem corresponder exatamente.
Existe alguma maneira de movimentar os blocos ao usar o layout absoluto?
O layout absoluto não é dinâmico, por isso não permite o movimento de blocos. Somente layouts dinâmicos permitem que o usuário movimente blocos. Devido a restrições técnicas, os blocos não podem se sobrepor, por isso os layouts dinâmicos sempre se organizam automaticamente. Para mais informações sobre layouts, consulte Desenvolvendo aplicativos para o LiveCycle Mosaic.
Existe uma maneira de recuperar dinamicamente nomes de blocos de um catálogo?
Não explicitamente. Uma solução alternativa é carregar o arquivo descriptor.xml do catálogo e analisá-lo usando um objeto XML no Flex para recuperar os nomes dos blocos.
Por que recebo esse erro de bloco HTML: 'A referência à entidade "source" deve terminar com o delimitador ; (ponto e vírgula)'?
Assegure-se de usar sequências de escape para caracteres especiais, como 'e' comercial em links. Isto é, substitua "&" por "&").
É possível bloquear um bloco para que um usuário final não possa movê-lo ou excluí-lo?
Em termos de remoção de conteúdo, você pode definir o atributo allowContentDelete de uma exibição ou painel para "false" para impedir que o conteúdo seja excluído. Como alternativa, para um bloco, defina o atributo allowDelete do elemento tileReference no catálogo correspondente para "false".
Observação: blocos só podem ser movidos em layouts dinâmicos. Portanto, outra solução para esse problema é usar um layout não dinâmico. Se for necessário que parte de um layout de bloco seja dinâmico, uma opção é aninhar painéis. Ao aninhar painéis, você pode criar um espaço fixo para o bloco fixo e um subpainel para um ou mais blocos dinâmicos. Para mais informações sobre layouts, consulte Desenvolvendo aplicativos para o LiveCycle Mosaic.
Os blocos do Mosaic acessados por meio do cliente do navegador podem ser indexados para pesquisas (por exemplo, usando algo como um Google Appliance)?
Exceto para blocos HTML, a resposta é não. O HTML é pesquisável, desde que exista outro link para o mesmo bloco em algum lugar que o rastreador possa alcançar. Precisamente, os arquivos XML do aplicativo não estão disponíveis para serem rastreados e, portanto, a aranha do mecanismo de pesquisa não segue seus indicadores. Os blocos HTML podem ser indexados se a aranha puder acessar o bloco HTML sem precisar usar o arquivo xml do aplicativo.
Tenho uma exibição que inclui um bloco HTML com reconhecimento de sessão (por exemplo, um que usa cookies). Se eu salvar essa exibição, esse cookie será gerenciado para que fique disponível quando a sessão HTML for restaurada?
Sessões HTML não persistem. Para criar essa funcionalidade, a sessão precisa ser restabelecida quando a exibição é restaurada. Ao criar o bloco HTML, você pode usar as APIs JavaScript do Mosaic para inserir informações no contexto de exibição que sejam persistentes. Essa configuração ajuda a restabelecer a sessão na próxima vez em que o bloco HTML for carregado.
Repliquei uma exibição que inclui um bloco HTML com reconhecimento de sessão. Existe algum mecanismo para impedir que o cookie da exibição original sobrescreva os cookies das exibições subsequentes (como a criação de um controle HTML)?
Cada bloco HTML possui seu próprio controle, portanto, nenhum ataque cruzado deverá ocorrer. Se ocorrer, relate à equipe de desenvolvimento como um bug.
Os blocos podem ser carregados como módulos Flex no domínio do aplicativo atual ou filho de um aplicativo shell?
Os blocos de módulo são compilados com a mesma versão do Flex usada para o Mosaic. A subclassificação do MXML para ModuleTile também requer a alteração do atributo loadAs para "mod" no arquivo xml do catálogo para o bloco.
Por que um bloco parece estar distorcido (a grade é mostrada, mas não contém conteúdo de célula) em alguns servidores, mas é exibido normalmente em outros servidores?
A correção é definir o parâmetro fitContent="true" na tag TileClass no arquivo descriptor.xml para que a grade seja mostrada corretamente.
Existe uma maneira de recuperar uma lista dos blocos e alguns de seus atributos a partir da API?
Existe um método "get tiles ()" no IPanel. Por exemplo:
var t:Array = parentPanel.tiles
Esse método fornece um conjunto de interfaces do ITile para cada bloco no painel. Em seguida, é possível converter cada elemento no conjunto para IMosaicNode para obter o nodeName ou nodeLabel. Se você quiser todos os blocos no aplicativo, primeiro use o método get views() do IApplication, depois o método get panels() em cada IView, e assim por diante. Atualmente, não é possível obter uma lista de blocos do catálogo.
É possível exibir um vídeo em um bloco do aplicativo Mosaic? Por exemplo, um arquivo SWF de uma demonstração que está disponível em um servidor http remoto, mas não é reproduzido a menos que o usuário o inicie?
Sim. Se o vídeo for apenas um arquivo SWF e não um aplicativo criado com o Flex, hospede o arquivo SWF em um servidor da web. Em seguida, registre o URL como um bloco HTML no Mosaic.
Por que o conteúdo incorporado é exibido no cliente do navegador, mas não no cliente do desktop (baseado no AIR)?
É recomendável colocar recursos no catálogo e carregá-los por meio do URL, conforme ilustrado em algumas das amostras do Mosaic. A incorporação de ativos cria o problema de tempo de execução.
Por que os dados de gráficos do Flex não aparecem no local correto quando usados em um bloco e acessados usando o cliente do navegador?
Quando o código é executado como um aplicativo, o dataTip aparece no gráfico. Mas quando ele é executado como um bloco, o dataTip aparece alguns centímetros abaixo do gráfico. Esse problema com o dataTips de gráfico no Mosaic 9.5.0.0 é conhecido e tem a ver com o espaço de coordenadas herdado. As bibliotecas envolvidas com o gráfico não usam o método correto para determinar onde / como exibir o texto do dataTip. Esse problema ocorre apenas para dicas de dados. Dicas de ferramentas funcionam corretamente.
O domínio do aplicativo para um bloco modular pode ser especificado quando é carregado para permitir que ele herde as definições de classe?
Atualmente, você não pode especificar o domínio do aplicativo ao carregar um módulo. A única maneira de carregar blocos no Mosaic é através do catálogo do aplicativo usando a API do kit de desenvolvimento de software do Tile (ActionScript ou Javascript). Para obter mais informações, consulte o método "getTile" do ICatalog.
É possível criar uma imagem de fundo que cubra todo o aplicativo Mosaic?
Se você estiver usando blocos HTML, não será possível ter uma imagem de plano de fundo. A imagem de fundo interfere no próprio bloco HTML. Esse problema é uma limitação conhecida do Flash Player. Se você estiver usando blocos baseados em Flex, faça o seguinte:
-
Crie um bloco de módulos no nível do shell do seu application.xml. Por exemplo:
-
No bloco "MyMenuTile", defina os seguintes atributos na definição do bloco do módulo:
Como faço para definir a propriedade backgroundColor para um bloco de módulo no tempo de execução?
Os blocos de módulos herdam o padrão backgroundAlpha = 0 do estilo do contêiner no próprio tempo de execução. Para garantir que a cor de fundo que você definiu seja exibida corretamente, defina backgroundAlpha para "1.0".
Por que os blocos de HTML são exibidos corretamente no cliente de desktop, mas não no Flash Player?
O motivo é por que as folhas de estilo no tempo de execução do cliente de desktop (com base no AIR) e do tempo de execução do cliente do navegador são diferentes. Especificamente, cada um definiu um valor diferente do atributo backgroundAlpha. O resultado é que não há necessidade de substituir o alpha de segundo plano por itens no tempo de execução do cliente de desktop para que os blocos de HTML sejam exibidos corretamente.
É possível implantar blocos diretamente de um projeto do Eclipse ou Flash Builder?
Não. Para instruções de implementação, consulte Introdução ao Mosaic.
Ao iniciar um aplicativo de amostra do Mosaic usando o cliente de desktop, os blocos podem ser iniciados em janelas nativas separadas?
Não. No entanto, no cliente de desktop, você pode definir um bloco para abrir janelas nativas que possam "flutuar" - ou seja, elas são desanexadas da janela do shell.
Painéis
Por que estou tendo problemas para adicionar blocos e fechar painéis criados dinamicamente?
Posso definir o foco do painel por programação?
Posso alterar o nome de um painel por programação?
Por que os nós têm nomes e rótulos?
Por que estou tendo problemas para adicionar blocos e fechar painéis criados dinamicamente?
Para evitar esse problema, defina a propriedade nodeLabel para o painel. Por exemplo:
var pPanel:IPanel = this.mosaicApp.createBlankPanel(); pPanel.nodeLabel = pLabel; // which is some String this.mosaicApp.activeView.addPanel(pPanel);
Posso definir o foco do painel por programação?
Não.
Posso alterar o nome de um painel por programação?
Não. Você pode alterar o nome de um nó do Mosaic DOM por programação usando a interface com.adobe.mosiac.om.interfaces.IMosaicNode. Para mais informações, consulte Referência do ActionScript 3.0 para a plataforma Adobe Flash.
Por que os nós têm nomes e rótulos?
Atributos de nome CRX são IDs internos que são o nome base para o ativo quando ele é armazenado no repositório. As APIs do cliente devem solicitar que o usuário defina o rótulo, não o nome. O rótulo representa o ativo na interface e pode usar qualquer caractere. Esse nome é a tag para o ativo que é exibido na interface do usuário. O nome pode ser derivado do rótulo. No entanto, ele deve ser adequado para uso como o nome sob o qual o ativo é armazenado no repositório. Além disso, o servidor pode alterar o nome (por exemplo, definindo o nome para um ID exclusivo para exibições salvas).
Visualizações
O que significa que uma exibição pode ser "salva"?
Por que meu atributo clientName está indefinido quando abro uma exibição salva?
É possível um objeto do conjunto persistir para uma exibição?
O que significa uma exibição poder ser "salva"?
Quando uma exibição é salva, a lista de blocos, os respectivos layouts de blocos e o contexto da exibição são todos salvos no servidor Mosaic.
Por que meu atributo clientName está indefinido quando abro uma exibição salva?
Você está usando um valor de "activeView" no método init ao tentar recuperar o contexto. A exibição ativa não é necessariamente a exbição que está sendo executada durante a inicialização. Uma alternativa seria usar um valor "parentView". Por exemplo:
ClientID.text = parentView.context.getAttribute("clientName");
É possível um objeto do conjunto persistir para uma exibição?
Não. A persistência existe apenas para objetos do tipo sequência, data, número, um valor booleano e null.
Organizadores
É possível minimizar automaticamente o organizador ou minimizá-lo de forma dinâmica se não houver exibições atuais salvas?
Posso mudar as cores exibidas em um organizador?
É possível minimizar automaticamente o organizador ou minimizá-lo de forma dinâmica se não houver exibições atuais salvas?
Não.
Posso mudar as cores exibidas em um organizador?
No Mosaic, é possível alterar a cor dos aspectos de um organizador. Existem várias partes em um organizador que são definidas no XML do aplicativo. Para mais informações, consulte Referência do esquema XML do LiveCycle Mosaic. Além disso, a amostra do Adobe Spark Page Client Dashboard incluída no Mosaic demonstra a personalização da aparência dos aspectos de um organizador (consulte SlateOrganizerSkin.mxml).
Layouts
Existe uma maneira de definir layouts de painel padrão?
Posso criar um layout de bloco que não exiba nenhuma interface de usuário ("chrome")?
Existe uma maneira de definir layouts de painel padrão?
Sim. No Mosaic, é possível definir (pré-configurar) exibições e painéis usando os padrões do aplicativo. Para obter informações sobre configuração de padrões, consulte Desenvolvendo aplicativos para o LiveCycle Mosaic.
Posso criar um layout de bloco que não exiba nenhuma interface de usuário ("chrome")?
Use o atributo tileChrome definido no XML do aplicativo para ativar e desativar a interface do usuário visível (ou "chrome"). Para mais informações sobre o atributo tileChrome, consulte Referência do esquema XML do LiveCycle Mosaic.
Folhas de estilo
Como associo um bloco do Mosaic com um skin no Spark?
Sua única opção para atribuir um skin a um bloco é definir a propriedade HostComponent para o seu bloco para uma instância de com.adobe.mosaic.core.IMosaicComponent. Esse mecanismo é deliberadamente genérico e exposto por meio de uma interface. Por exemplo, veja a aula com.adobe.mosaic.skins.aqua.TileSkin disponível aqui: Referência do ActionScript 3.0 para a plataforma Adobe Flash.