AEM Sites: aviso obsoleto org.apache.sling.commons.json.JSONObject ao usar PageInfoProvider para colunas personalizadas

Este artigo explica a causa e o impacto atual dos avisos de API obsoletos relacionados a org.apache.sling.commons.json.JSONObject ao personalizar colunas de exibição de lista do AEM Sites usando PageInfoProvider.

Descrição description

Ambiente

Adobe Experience Manager (AEM) as a Cloud Service (todas as versões)

Problema/Sintomas

Ao implementar colunas personalizadas na exibição de lista do console do AEM Sites usando a interface PageInfoProvider, o seguinte aviso é exibido nos logs:

2023-02-23 18:47:55.095 [ region-deprecated-api]  com.xx.aem:xx-unified-site.core:0.0.2-SNAPSHOT: Usage of deprecated package found : org.apache.sling.commons.json : Usage of this deprecated API is not supported in AEM as a Cloud Service. Deprecated since 2022-12-31 For removal : 2027-12-31 (com.xx.aem:xx-unified-site.all:0.0.2-SNAPSHOT)
  • O aviso foi disparado porque o contrato de API PageInfoProvider exige o retorno de um org.apache.sling.commons.json.JSONObject.
  • O pacote org.apache.sling.commons.json está obsoleto e agendado para remoção depois de 31/12/2027.
  • Esses avisos são informativos e não bloqueiam os pipelines do Cloud Manager no momento quando o uso é limitado a PageInfoProvider implementações.

Causa

A interface PageInfoProvider atualmente requer o retorno de um org.apache.sling.commons.json.JSONObject, o que força o uso de um pacote obsoleto. Isso é considerado um débito técnico e será abordado em uma atualização futura da API do AEM Sites.

Resolução resolution

Siga as etapas abaixo para resolver o problema:

  1. Revise os avisos de log para confirmar se eles estão relacionados ao uso de PageInfoProvider e à dependência de org.apache.sling.commons.json.JSONObject.

  2. Entenda que, atualmente, esses avisos são somente informativos e não bloqueiam implantações nem afetam a funcionalidade de colunas personalizadas no console Sites.

  3. Monitore as notas de versão e a documentação do Adobe Experience Manager para obter atualizações relacionadas à descontinuação e remoção planejada do org.apache.sling.commons.json.

  4. Planejar refatorar implementações de coluna personalizadas no futuro:

    • A equipe de engenharia do Adobe está trabalhando na substituição da interface PageInfoProvider atual.
    • Uma nova interface que não requer o org.apache.sling.commons.json será introduzida e documentada em uma versão futura.
  5. Nenhuma ação imediata é necessária, a menos que a API obsoleta seja usada fora do contexto PageInfoProvider ou se versões futuras introduzirem alterações importantes.

recommendation-more-help
experience-cloud-kcs-help-kbarticles