Fórumok

Adicionar Ação Para Web Content

thumbnail
Rodrigo Martins, módosítva 11 év-val korábban

Adicionar Ação Para Web Content

Regular Member Bejegyzések: 101 Csatlakozás dátuma: 2012.09.11. Legújabb bejegyzések
Olá,

Quando concedo permissão de Atualizar Conteúdo Web a uma Role, essa Role consegue atualizar todos o web contents em todos os visualizadores de web content, mas quero que só consiga atualizar alguns.

Estou implementando um hook para o arquivo "portlet/journal_content/view.jsp". Para testar, habilito o botão de edição de conteúdo apenas quando a permissão ADD_TO_PAGE está checada em um portlet de visualização de web content. Funcinou.

Estou tentando sobrescrever o arquivo "journal.xml" com a propriedade "resource.actions.configs" em portal-ext.properties para adicionar uma ação como UPDATE_JOURNAL, por exemplo, mas não consegui. Li que isso só seria possível via EXT, pois aquele XML está dentro do portal-impl.jar.

Há uma forma de criar uma ação para um portlet padrão do Liferay que não seja via EXT?

Atenciosamente,
Rodrigo Martins
thumbnail
Antônio Junior, módosítva 11 év-val korábban

RE: Adicionar Ação Para Web Content

Junior Member Bejegyzések: 63 Csatlakozás dátuma: 2011.07.05. Legújabb bejegyzések
Olá Rodrigo,

É possível sim. Sinceramente, eu nunca usei esse método de sobrescrita de xml com resource.actions.configs.

Já fiz alguns testes nesse estilo, mas o que eu faço é copiar o arquivo inteiro de dentro do portal-impl.jar e o coloco dentro de uma pasta resource-actions criada dentro de WEB-INF/classes sem alterar nenhuma propriedade do portal-ext.

Desse jeito que vc ta falando deve funcionar também mas eu nunca testei.

No seu caso, você ainda teria que alterar no xml o elemento referente ao portlet-name 56, adicionando <action-key>UPDATE_JOURNAL</action-key> em <supports>.

E pra checar se a Role tem permissão, você faria:
JournalArticlePermission.contains(permissionChecker, latestArticle.getGroupId(), latestArticle.getArticleId(), "UPDATE_JOURNAL");
thumbnail
Rodrigo Martins, módosítva 11 év-val korábban

RE: Adicionar Ação Para Web Content

Regular Member Bejegyzések: 101 Csatlakozás dátuma: 2012.09.11. Legújabb bejegyzések
Olá Antonio,

Como está? Fiz como você descreveu e funcionou. Li em algum lugar que o meu xml deveria estar no classpath, por isso a necessidade de copiá-lo para WEB-INF/classes /resource-actions/.

No portal-ext.properties fiz assim:

resource.actions.configs=resource-actions/default.xml,resource-actions/default-ext.xml

Esse default-ext.xml aponta para meu arquivo que sobrescreve o journal.xml. Se tiver que escrever outros arquivos, é só referenciar lá sem precisar alterar o properties.

Muito obrigado.
thumbnail
Antônio Junior, módosítva 11 év-val korábban

RE: Adicionar Ação Para Web Content

Junior Member Bejegyzések: 63 Csatlakozás dátuma: 2011.07.05. Legújabb bejegyzések
Entendi, Rodrigo.

Nesse link, tem explicando todos esses detalhes.

E esse seu arquivo journal.xml sobrescreve o artigo inteiro ou só a parte referente ao portlet ?

Só precisar escrever a parte necessária para depois o portal fazer o merge automaticamente faria mais sentido porque senão você tem que copiar o arquivo journal.xml do portal-impl.jar de todo jeito. Aí não teria muito benefício.

Valeu!
thumbnail
Rodrigo Martins, módosítva 11 év-val korábban

RE: Adicionar Ação Para Web Content

Regular Member Bejegyzések: 101 Csatlakozás dátuma: 2012.09.11. Legújabb bejegyzések
É verdade. Copiei todo o conteúdo de "journal.xml" para "my-journal.xml", mas não há necessidade.

Vou deixar mais específico.

Vlw