Property Bag
O recurso Property Bag permite adicionar propriedades para canais e páginas que podem ser herdadas através da estrutura do portal. As propriedades não são pré-definidas e podem conter quaisquer valores dependendo da necessidade da solução. Normalmente os valores customizados são lidos por serviços customizados através do uso da API disponível no pacote lumis.portal.propertybag.
As propriedades nativas disponíveis no LumisXP estão listadas na tabela abaixo:
Propriedade | Descrição |
---|---|
lumis.content.table.selectmetadatacontroller.params.inline |
Determina se alguns parâmetros no SQL genérico utilizado para carregar source tipo contentTable serão incluídos de forma inline ou por bind variable. Este comportamento será aplicado aos sources pertencentes à instância de serviço que possuir esta propriedade. Esta configuração não traz diferença funcional, mas pode trazer diferença de desempenho em alguns cenários. Se o valor for "true", os parâmetros que levam em conta esta propriedade serão incluídos de forma inline, caso contrário serão incluídos por bind variable. O valor padrão para esta propriedade é "false". |
lumis.portal.url.IURLResolver |
Determina a classe java responsável por resolver URLs amigáveis. |
lumis.portal.url.preservePreviousParameters |
Se o valor for "true", determina que a API de geração de URL deve gerar URLs que mantenham os parâmetros anteriores. Ao habilitar esse recurso é adicionado, sempre que for necessário, o parâmetro lumPSId na URL. O valor de default é "false". |
lumis.portal.serviceinterfaceinstance.renderBefore.print |
Se o valor for "false", determina que o HTML escrito no BeforeWriter deve ser descartado. O valor default é "true". |
lumis.portal.url.extension.html |
Configura a extensão do web resource como .html. A configuração é utilizada apenas no momento de criação do web resource. Os já existentes não são atualizados ao efetuar uma reconfiguração. Quando não especificado, o valor utilizado é obtido do lumisportalconfig.xml. Caso seja configurado como ${""} o web resource não terá extensão. |
lumis.portal.url.extension.shtml |
Configura a extensão do web resource como .shtml. A configuração é utilizada apenas no momento de criação do web resource. Os já existentes não são atualizados ao efetuar uma reconfiguração. Quando não especificado, o valor utilizado é obtido do lumisportalconfig.xml. Caso seja configurado como ${""} o web resource não terá extensão. |
lumis.portal.url.forceFirstPageLinkToChannelLink |
Se o valor for "true", não será feita a criação do web resource da página (sem parâmetros), usando a URL do canal em seu lugar. O objetivo desta configuração é evitar que seja gerada uma URL para uma página e outra URL para um canal, evitando assim a potencial duplicidade de páginas. O valor padrão desta propriedade é "true". |
lumis.portal.file.validation.height |
Define o limite máximo de altura para um determinado arquivo. Esta validação será aplicada apenas em arquivos que possuam este tipo de informação como meta-dado. |
lumis.portal.file.validation.width |
Define o limite máximo de largura para um determinado arquivo. Esta validação será aplicada apenas em arquivos que possuam este tipo de informação como meta-dado. |
lumis.portal.file.validation.size |
Define o limite máximo de tamanho em bytes para um determinado arquivo. Esta validação será aplicada a todos os tipos de arquivos. |
lumis.portal.file.validation.extension |
Define a lista de extensões de arquivos permitidas. Esta validação será aplicada a todos os tipos de arquivos. |
lumis.portal.file.validation.className |
Define a lista de validadores a serem utilizados pelo gerenciador de arquivos (File Manager) ao incluir um arquivo. O valor desta propriedade é uma lista de nomes de Classes que implementam a interface IFileValidator. O comportamento e/ou regras de validação ficam a critério da implementação. |
lumis.portal.presentation.outputDateTime |
Se o valor for "true" será inserido um comentário no HTML da página com a data e hora da geração da página. Caso esta propriedade apresente mais de um valor, apenas o primeiro será considerado e os demais serão ignorados. |
lumis.portal.presentation.outputMetaGenerator |
Se o valor for "true" será inserido um elemento meta de generator junto com os demais elementos meta gerados no HTML da página. O valor padrão desta propriedade é "true". |
lumis.portal.presentation.outputServerId |
Se o valor for "true", será inserido um comentário no HTML da página a identificação do servidor que a gerou. Caso esta propriedade apresente mais de um valor, apenas o primeiro será considerado e os demais serão ignorados. |
lumis.portal.presentation.htmlevaluation.level |
Define o nível de problemas de acessibilidade a ser considerado. Valores esperados para esta property bag são: INFO, WARNNIG, ERROR e SUMMARY. Maiores detalhes consultar Monitoração de Acessibilidade. |
lumis.portal.presentation.X-UA-Compatible |
Será usada para adicionar um cabeçalho HTTP com o nome X-UA-Compatible e valor igual ao definido na property bag, quando uma página do portal é acessada. Se esta property bag não estiver definida o valor padrão será IE=edge. Caso o valor seja vazio este cabeçalho não será adicionado. |
lumis.portal.servicecontainer.disableRenderDebugOutput |
Por padrão o LumisXP, quando está com modo de desenvolvimento habilitado, inclui na renderização de interfaces comentários HTML contendo informações sobre a mesma. As interfaces em páginas que possuírem (ou herdarem) esta propriedade com valor true não incluirão tais comentários. |
lumis.service.socialnetworkservice.socialprofile.photosizelimit |
Quando esta propriedade está aplicada (ou herdada) a uma instância do serviço de Perfil Social, ela indica o tamanho máximo, em bytes, do arquivo que se pode ser feito upload para utilizar como foto quando o usuário atualiza seu perfil. Se esta propriedade não estiver definida, o tamanho máximo padrão é 500KB. |
lumis.portal.isAdministrationArea |
Propriedade para indicar se uma determinada estrutura do portal é uma área administrativa. Na renderização padrão, haverá mudanças no estilo visual dependendo do valor dessa propriedade. Suporta dois valores: true, para indicar que a área é administrativa e false para indicar que a área não é uma área administrativa. Para interfaces DOUI (quaisquer interfaces que estendam a classe lumis.doui.service.DouiServiceInterface) que não sobrescrevam o método lumis.doui.service.DouiServiceInterface.renderData(IServiceInterfaceRenderResponse, DouiContext) padrão, conterá no nó de CSSs da interface, no Xpath /renderData/douiContext/interfaceCss, uma das seguintes entradas:
|
lumis.content.workflow.action.WorkflowSendMailActionHandler.enabled |
Se o valor for "false", a classe lumis.content.workflow.action.WorkflowSendMailActionHandler (workflow action handler), que é utilizada no workflow padrão do portal, não irá enviar um e-mail ao responsável pelo processo do workflow. |
lumis.portal.url.autoGenerateWebResource |
Quando uma página possui valor "true" para esta propriedade, o web resource referente à URL da página sem parâmetros extras será automaticamente gerado. Isto é útil para cenários em a navegação para a página ocorrerá de origem externa, sem antes ser renderizada internamente algum link para ela, o que provocaria a geração do web resource. |
lumis.portal.url.pathProcessing.type |
Indica qual o método de processamento de URLs o portal utilizará. Adimite os seguintes valores:
|
lumis.portal.url.pathProcessing.referencetype |
Indica como no HTML de uma página os urls internos do portal vão ser referenciados. Adimite os seguintes valores:
|
lumis.portal.url.pathProcessing.legacyProcessing |
Indica se o portal deverá processar URLs em elementos legados (conteúdo de tags script e atributos value de elementos option). Adimite os valores true ou false, para indicar que o processamento de URLs em elementos legados está habilitado ou não, respectivamente. |
lumis.portal.url.theme.includeHashParameters |
Propriedade utilizada para indicar se deverá ser desabilitada a inclusão de |
lumis.portal.file.contenttype.provider.className |
Define uma classe a ser utilizada pelo gerenciador de arquivos para definir o content-type de um arquivo. O valor desta propriedade é o nome de uma Classe que implementa a interface IContentTypeProvider. |
lumis.content.preview.enabled |
Indica se a página deve aparecer na lista de páginas disponíveis na visualização do conteúdo. O valor padrão é "true". |
lumis.service.analytics.filter.geolocation.defaultvalue |
Define os valores padrão de latitude e longitude para serem usados no filtro avançado por geolocalização na interface de Dashboard de relatórios do serviço de Análise de dados. Os valores de latitude e longitude devem ser informados utilizando o ponto como separador decimal e devem estar separados por vírgula. Ex.: 40.4172, -3.684 |
lumis.service.analytics.report.groupByRowsLimit |
Property bag que pode ser colocado no serviço de Customer Experience para alterar o limite de linhas geradas por agrupamentos em seus relatórios. Valor padrão |
lumis.service.htmlinjector.ignore |
Determina se uma página do portal deve ou não receber injeção HTML pelo serviço Injetar HTML. Se o valor for "true", ele não fará injeção HTML na página. O valor padrão desta propriedade é "true" se a página for Page Block e "false" caso contrário. |
lumis.service.analytics.usersegmentation.control.UserSegmentationData.subQueriesResultLimit |
Property bag usada para alterar o limite padrão de resultados executados nas subqueries feitas no repositório de big data pela Segmentação de usuários. |
lumis.service.analytics.usersegmentation.rest.UserSegmentationRestAPI.downloadSegmentationCSV#maxResults |
Property bag utilizada para alterar o número máximo de usuários que o Download em CSV de uma Segmentação de Usuários irá retornar.
Essa propriedade admite valores inteiros positivos (inteiros maiores ou iguais a |
lumis.service.analytics.eventanalytics#isDashboardTemplateInstance |
Property bag que pode ser colocado em uma instância de serviço de Customer Experience com o valor |
lumis.doui.ckeditor.configScript |
Property bag usada pelo controle de edição de HTML,
obtido da instância de serviço da interface sendo usada, que permite definir um script para ajustar a configuração do CKEditor.
O valor desta propriedade deve ser um fragmento de código de javascript que tem acesso a uma variável Exemplo de valor para esta propriedade:
|
lumis.doui.ckeditor.contentscss |
Property bag usada pelo controle de edição de HTML
e pela visualização do Editor de Estilo
para aplicar um ou mais arquivos de estilo CSS
para facilitar a visualização do conteúdo pelo publicador ou da renderização da interface pelo desenvolvedor.
br
com
my
theme (pasta do tema; onde o arquivo themedefinition.xml se encontra)
www
some
random
path
my.css
Nesse caso, o mais adequado para se adicionar na Property bag seria some/rendom/path/my.css .
Caso esta propriedade não esteja declarada, os CSS a serem utilizados no editor HTML tentarão ser localizados no arquivo de layout da primeira página do canal da instância de serviço atual. Neste caso serão usados os CSS referenciados por elementos HTML link
explícitos nesse arquivo de layout que correspondem a inclusão de stylesheet.
Para cada arquivo de estilo CSS a ser aplicado, caso exista um arquivo com sufixo -ckeditor antes da extensão .css ele também será aplicado em seguida.
Por exemplo, se seria aplicado um arquivo caminho/arquivo.css , também será aplicado o arquivo caminho/arquivo-ckeditor.css caso ele exista.
A idéia desses arquivos *-ckeditor.css é poder ter estilos específicos que só serão utilizados durante a visualização dentro do editor,
não sendo utilizados na renderização para os usuários finais.
|
lumis.doui.ckeditor.fillEmptyBlocks |
Property bag usada pelo controle DOUI de edição HTML para alterar a configuração de fillEmptyBlocks do CKEditor usado por ele. O property bag será obtido da instância de serviço onde o controle está sendo utilizado.
O valor será considerado um código-fonte javascript e será atribuído à configuração
de fillEmptyBlocks. Valores normalmente utilizados são |
lumis.doui.control.htmleditor.pagebuilder.includeDefaultScripts |
Indica se os scripts padrões devem ser incluídos no page builder quando aberto pelo editor HTML
na instância de serviço que possui esta propriedade. Os scripts padrões disponibilizam
um conjunto de componentes no pagebuilder. Eles serão incluídos se esta propriedade não estiver
definida ou se estiver com valor |
lumis.doui.control.htmleditor.pagebuilder.additionalScripts |
Define scripts adicionais para serem incluídos no page builder quando aberto pelo editor HTML na instância de serviço que possui esta propriedade. Esta propriedade deve ser preenchida com uma lista de valores que correspondem aos caminhos dos arquivos javascript a serem incluídos, relativos à raiz do website. Os seguintes valores especiais também podem ser usados:
|
lumis.doui.search.termsaggregation.size |
Property bag usada para alterar o limite padrão de número de resultados produzidos pelas agregações, nos resultados do serviço de busca. Se não especificado, será assumido o valor padrão de 10. |
lumis.portal.presentation.interfaceholder.multiinterfacewrapperbehavior |
Property bag utilizada para alterar o comportamento de interface holders em layout files.
Caso essa property bag não esteja definida ou caso seu valor seja diferente de LEGACY , as instâncias de interface dentro do interface holder não serão envolvidas com nenhum elemento.
Essa property bag admite um único valor: LEGACY. |
lumis.pagination.maxRowsOptions |
Property bag usada para indicar as opções para alterar o número itens carregados pelo controle lum_pagination. Se não especificado, será assumido o valor padrão de '10,25,50,100'. |
lumis.portal.page.cache.queueId |
Define o identificador da fila default a ser utilizado. Esta propriedade será ignorada caso a propriedade lumis.portal.page.cache.IPageCacheQueueResolver esteja preenchida. Se não especificado, será assumido o valor padrão de 'default'. |
lumis.portal.page.cache.IPageCacheQueueResolver |
Define a classe Java utilizada para determinar o id da fila utilizada. Se não especificado, será assumido o valor definido na propriedade lumis.portal.page.cache.queueId. |
lumis.doui.ckeditor.extraPlugins |
Propriedade usada pelo controle de edição de HTML para customizar os
plugins extras do editor HTML. Se o property bag for especificado e tiver a string
Exemplo de utilização: Imaginando um cenário onde se queira adicionar os plugins padrões do LumisXP e se queira adicionar um plugin customizado chamado meu-plugin
que está na pasta /meu/projeto/meu-plugin e que utilize o nome de arquivo padrão plugin.js , essa propriedade poderia ser definida como:
lum_default,meu-plugin:/meu/projeto/meu-plugin .Se no cenário anterior o plugin não utilizar o nome de arquivo padrão plugin.js mas um customizado, por exemplo, meu-plugin.js , essa
propriedade poderia ser definida como:
lum_default,meu-plugin:/meu/projeto/meu-plugin:meu-plugin.js .Agora, caso se queira adicionar um plugin extra que seja nativo do CKEditor do LumisXP ( undo , por exemplo), essa propriedade poderia ser definida como:
lum_default,undo (ou seja, nesse caso não se precisou definir o caminho do plugin).
Caso não definida, essa propriedade usará o valor lum_default .
|
lumis.doui.ckeditor.toolbarButtons |
Propriedade usada pelo controle de edição de HTML que permite customizar a toolbar do editor html. Se o property bag for especificado e tiver a string lum_default inclusa em algum lugar do valor, a mesma será substituída pelo valor Default. |
lumis.service.scriptinghtmlprocessor.files |
Property bag usada para definir o caminho do arquivo de Script que será utilizado para realizar o Pós-processamento de HTML via Script. O caminho do arquivo será relativo, sem começar com |
lumis.doui.control.htmleditor.HtmlControlBlockConditionsHelper#htmlBlocksFetchTimeout |
Propriedade utilizada pelos campos do tipo HTML para definir um timeout (em milissegundos) para a chamada
para obter o conteúdo dos blocos HTML quando em cache (de página ou de instância de serviço). Valor padrão caso não definido: 3000 (3000 milissegundos, equivalente a 3 segundos). |
lumis.portal.ai.enabled |
Determina se a respectiva instância de serviço terá habilitado: Por padrão está habilitado se a integração foi configurada. Qualquer valor diferente de true dessa propriedade desabilita as funcionalidades na instância de serviço correspondente.
|
lumis.portal.acl.members |
Propriedade usada para definir quais grupos globais são exibidos na interface de gerênciar acesso. Por padrão, o valor |
lumis.doui.service.rest.principalFields |
Propriedade usada para definir campos do tipo lumisPrincipal que podem ser disponibilizados na resposta da leitura de conteúdo através de Interfaces REST, conforme as propriedades presentes na sua instância de serviço. Por padrão, nenhum campo do tipo lumisPrincipal terá seu valor retornado. Esta propriedade pode ter múltiplos valores. Cada valor libera que os dados correspondentes possam ser retornados pela Interface REST. Os valores podem seguir as sintaxes abaixo:
Por exemplo, se a propriedade possuir os valores Observe que apenas a presença desta propriedade não faz com que o dado correspondente seja retornado. É necessário que a Interface REST possua o campo para ser retornado. Esta propriedade apenas libera que ele possa ser retornado caso exista. |
O cenário abaixo exemplifica a funcionalidade de property bags:
Suponha a seguinte hierarquia de canais e páginas:
A seguir, as propriedades adicionadas ao "Canal A":
Foi adicionada a "Propriedade 1" com três valores ("Valor A", "Valor B" e "Valor C") para o "Canal A". A quebra de linha determina a adição de valores.
Observe que para excluir, basta clicar no botão ao lado do nome da propriedade. Observe também que não há nenhuma propriedade herdada para esse canal, isso porque não há propriedades adicionadas em seu canal pai.
Para a persistência desses valores, é necessário clicar em OK. Pode-se adicionar tantas quanto forem necessárias, para depois persistir de uma só vez.
A seguir, as propriedades do "Canal B":
Observe que a "Propriedade 1" foi herdada do "Canal A" e que as propriedades "Propriedade 2" e "Propriedade 3" foram adicionadas para o "Canal B".
Por fim, as propriedades do "Canal C":
Para este canal, não foram adicionadas outras propriedades, apenas as propriedades dos canais anteriores foram herdadas.
A herança não pode ser desligada. Ou seja, sempre as propriedades serão herdadas de um canal para outro. No entanto, o Lumis permite que propriedades sejam sobrescritas, ou seja, uma propriedade adicionada sobrescrever uma herdada. Portanto, caso não queira que um canal filho tenha uma determinada propriedade herdada, basta adicionar outra no canal, com o mesmo nome da herdada, porém com valores diferentes.
Os valores das propriedades podem conter expressões em EL. Ao serem utilizadas, as propriedades têm seus valores processados para terem as ELs incluídas resolvidas. As property bags podem utilizar recursos do escopo global.
Property Bag para Canais, Páginas e Instância de Serviço gerados por um Template de Canal
Quando o canal, página ou instância de serviço são criadas à partir de uma hierarquia de um template de canal, os valores das propriedades de sua Property Bag
sempre serão atualizadas quando a ação Atualizar Canais for chamada de sua origem.
Contudo, para que os valores desta propriedade não sejam alterados - ou apagados - por tal ação, basta ter a sua propriedade Manter
marcada. Assim, os valores
desta propriedade serão independentes da hierarquia template de canal.