Open the menu

    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:

    • lum-administration-area: se a interface a ser renderizada encontra-se em uma área administrativa; ou

    • lum-non-administration-area: caso contrário.
    O valor padrão para essa informação é extraído da interface sendo renderizada. Será considerado true, se a interface é uma interface administrativa e falsecaso contrário. Para informações sobre como definir se uma interface é administrativa ou não, consulte o elemento isAdministration do XSD de servicedefinition.

    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:

    • DOM (padrão): o HTML da página sofrerá um parse para criação da estrutura DOM em memória e essa estrutura será utilizada para encontrar os elementos de URL no portal.

    • REGULAR_EXPRESSION: o portal irá procurar as URLs da página a partir de uma série de expressões regulares. Esse tipo é mantido apenas para compatibilidade reversa.

    • NONE: o portal não processará as URLs da página.

    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:

    • DEFAULT (padrão): os url´s internos vão ser refrenciados relativo ao url atual. Por exemplo colocando um ../.. etc até chegar ao caminho comum com o url destino de depois completando para chegar ao url final. e.x. ../eventos/.

    • ROOT: os url´s internos vão ser refrenciados relativo ao rais do portal. Nesse caso os urls internos vão sempre ter um / no inicio deles. e.x. /eventos/

    • WEBSITE: : os url´s internos vão ser refrenciados com o website url completo. Nesse caso os urls internos vão sempre ter o url principal do website no inicio. e.x. http://localhost:8080/eventos/

    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 Hash no endereço de arquivos incluídos via temas.

    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 500.

    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 1) e, caso não esteja definida, assumirá um valor padrão de 5.000.

    lumis.service.analytics.eventanalytics#isDashboardTemplateInstance

    Property bag que pode ser colocado em uma instância de serviço de Customer Experience com o valor true para transformá-la em uma instância de Template de Dashboard.

    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 config que corresponde ao objeto de configuração do CKEditor cujos atributos podem ser alterados para definir as configurações a serem utilizadas. Configurações alteradas por esse script poderão se sobrepor a configurações definidas por outras propriedades.

    Exemplo de valor para esta propriedade:

    config.iframe_attributes = function(iframe) {
    	if (iframe.attributes.src.startsWith('https://www.youtube.com/'))
    		return { sandbox: 'allow-scripts allow-same-origin' };
    	else if (iframe.attributes.sandox === undefined)
    		return { sandbox: '' };
    };
    config.skin = 'moono-lisa';

    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.
    Cada arquivo CSS deve estar em uma linha da Property Bag.
    Esses arquivos devem estar disponíveis nos arquivos estáticos da aplicação. Por exemplo, suponha que a aplicação esteja sendo executada na URL http://example.com/myapplication/ e que haja um arquivo CSS que se queira disponibilizar ao editor HTML em http://example.com/myapplication/some/rendom/path/my.css. Suponha, também, que exista uma interface de administração de um certo serviço em http://example.com/myapplication/my/custom/service/administration/.
    O valor mais indicado para configurar na Property bag seria some/rendom/path/my.css. O LumisXP irá automaticamente tratar o caminho da forma mais adequada. Nesse exemplo, o caminho some/rendom/path/my.css se tornaria ../../../../some/rendom/path/my.css ao acessar a administração.
    Caso o arquivo esteja em um tema, o caminho adequado seria o caminho relativo à pasta www do respectivo tema. Por exemplo, suponha um tema de identificador br.com.mt.theme e que tenha um arquivo CSS some/random/path/my.css. Esse tema teria a a seguinte estrutura de pastas:

    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 true, false, ou o código-fonte de uma função javascript, como por exemplo, function(e){return e?.name?.toUpperCase() === 'P';}. Se esta propriedade não estiver presente, o LumisXP configura o fillEmptyBlocks com false.

    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 ela esteja definida com o valor LEGACY, o comportamento será o seguinte:

    • Caso o interface holder possua uma única instância de interface, ela não será envolvida com nenhum elemento.
    • Caso contrário, cada instância de interface será envolvida com um elemento <div>

    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 lum_default inclusa em algum lugar do valor, a mesma será substituída pelo valor pastefromword,pastefromgdocs,pastefromlibreoffice,codemirror,lumisContentLink,lumisDocument,lumisMedia,lumisSelectImages,lumisWidgetRepository,lumisHtmlSnippet,lumisPage,lumisURLAccessibilityEvaluation,lumisHtmlStructuredEditor.
    O formato desse valor é: <plugin1>[:<caminho do plugin 1>[:<nome do arquivo do plugin 1>]],<plugin2>[:<caminho do plugin 2>[:<nome do arquivo do plugin 2>]],....
    Onde:

    <plugin1>
    É o identificador (obrigatório) do plugin extra.
    <caminho do plugin 1>
    É o caminho (opcional) do plugin extra.
    <nome do arquivo do plugin 1>
    É o nome do arquivo (opcional) do plugin extra.


    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.
    Default: { name: 'clipboard', items : [ 'PasteText','-', 'Bold','Italic','Underline','-','NumberedList','BulletedList','Outdent','Indent','-','RemoveFormat'] }, { name: 'lumis', items : ['lumisPage','lumisDocument','lumisMedia','lumisSelectImages','lumisWidgetRepository', 'lumisContentLink','Link','lumisHtmlSnippet','lumisURLAccessibilityEvaluation'] }, { name: 'code', items : [ 'Source','Maximize', 'lumisHtmlStructuredEditor', 'lumisHtmlStructuredEditorInsertCombo' ] }.

    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 default da propriedade exibe somente os grupos globais recomendados: Administradores do Portal e Todos os usuários. Defindo a propriedade como all, todos os grupos globais são exibidos.

    O cenário abaixo exemplifica a funcionalidade de property bags:

    Suponha a seguinte hierarquia de canais e páginas:

    portalStudio245

    A seguir, as propriedades adicionadas ao "Canal A":

    portalStudio246

    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":

    portalStudio247

    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":

    portalStudio248

    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

    portalStudio249

    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.