Solución de problemas de IU en AEM

Prácticas recomendadas de la IU de AEM

Depuración de problemas de interfaz de usuario

Problemas de Clientlibs

Clientlibs en AEM: Los sitios web modernos dependen en gran medida del procesamiento del lado del cliente impulsado por códigos JavaScript y CSS complejos. Organizar y optimizar el servicio de este código puede ser complicado.

Para ayudar a resolver este problema, AEM proporciona carpetas de biblioteca del lado del cliente, que le permiten almacenar el código del lado del cliente en el repositorio, organizarlo en categorías y definir cuándo y cómo se debe servir cada categoría de código al cliente. El sistema de biblioteca del lado del cliente se encarga de producir los enlaces correctos en la página web final para cargar el código correcto.

 

Uno de los clientlibs incrustados no se carga:

 Utilice el siguiente procedimiento para ver los nombres de todos los archivos incrustados:

  • En el cuadro de dirección de su explorador web, añada el siguiente texto a la URL de su HTML:

    ?debugClientLibs=true

  • Cuando la página se cargue, vea la fuente de la página.
  • Haga clic en el enlace que se proporciona como href para que el elemento de enlace abra el archivo y vea el código fuente.

 

Algunas clientlibs no se minifican:

  • Compruebe si la opción minificar está habilitada en el administrador de bibliotecas HTML de AEM.
  • Si esto sigue siendo un problema, configure un registrador de depuración para comprobar si hay errores de sintaxis. Siga estos pasos :
    • Vaya a http://<host>:<port>/system/console/slinglog
    • Haga clic en “añadir nuevo usuario”.
    • Establezca el nivel de registro para depurar.
    • Cambie el nombre del archivo de registro a “clientlibs.log”.
    • Añada la siguiente clase en el campo “registrador”:
      com.adobe.granite.ui.clientlibs
    • Haga clic en “guardar”.
  • Si ve errores similares a los que se muestran a continuación, significa que hay algunos errores de sintaxis en el archivo clientlibs.  

  

27.06.2019 11:36:01.450 *ERROR* [0:0:0:0:0:0:0:1 [1561649761160] POST /libs/granite/ui/content/dumplibs.rebuild.html HTTP/1.1] com.adobe.granite.ui.clientlibs.processor.gcc.impl.YUIScriptProcessor Processed /apps/acs-commons/components/dam/custom-component-activator/clientlib/activator.js. 1 error(s), 0 warning(s) 
27.06.2019 11:36:01.450 *DEBUG* [0:0:0:0:0:0:0:1 [1561649761160] POST /libs/granite/ui/content/dumplibs.rebuild.html HTTP/1.1] com.adobe.granite.ui.clientlibs.impl.HtmlLibraryBuilderImpl processing /apps/acs-commons/components/dam/custom-component-activator/clientlib with processor yui for mode min rejected.
  • También puede intentar cambiar el procesador de “script” de YUI a GCC ya que puede haber algunos archivos js más nuevos que solo se pueden procesar con un procesador más reciente.

Problemas de RTE

Instale siempre la última SP/CFP antes de probar cualquier funcionalidad RTE.

Eliminación de atributos RTE:

  • Si algunos atributos se eliminan del RTE después de guardarlos, podría deberse al marco de seguridad XSS que se ha introducido para evitar la ejecución de scripts en sitios múltiples.
  • Verá mensajes similares a los que aparecen a continuación en los archivos de registro:
25.02.2019 18:29:31.815 *INFO* [10.98.144.110 [1551119371795] GET /content/support/en_US/security.html HTTP/1.1] org.apache.sling.xss.impl.HtmlToHtmlContentContext AntiSamy warning: The a tag contained an attribute that we could not process. The rel attribute had a value of "noopener noreferrer". This value could not be accepted for security reasons. We have chosen to remove this attribute from the tag and leave everything else in place so that we could process the input.
  • En este caso, puede superponer “/libs/cq/xssprotection/config.xml” y actualizar las reglas de seguridad según las necesidades de su empresa, pero esto expondrá la instancia AEM a la ejecución de scripts en sitios múltiples y no recomendados por Adobe