¿Cómo habilitar el registro de depuración para los usuarios invitados de un Site?

Tweet about this on TwitterShare on Facebook0Share on Google+0Share on LinkedIn0Digg thisBuffer this pageEmail this to someone

¿Cómo habilitar el registro de depuración para los usuarios invitados de un Site?

En nuestro día a día programamos infinidad de líneas de código en nuestras aplicaciones de Salesforce, y nos encontramos con situaciones que requieren entender el problema,  buscar información e inventar una solución.

A continuación os contamos uno de esos muchos problemas con los que nos hemos tropezamos y como lo solucionamos.

Como decíamos, en nuestro día a día escribimos infinidad de líneas de código y muchas veces encontrar el error entre esas líneas es como buscar una lentilla en la playa, y necesitamos poder “debuggear” bien ese código.

El problema se presenta cuando activamos los registros de depuración para una página a la que acceden usuarios invitados, y… ¡sorpresa!, los registros no reflejan actividad alguna. Esto es debido a que los usuarios públicos generan un gran volumen de eventos, que pueden llenar rápidamente los registros de depuración. Por esta razón, los registros sólo guardan información de los visitantes con licencia de usuario invitado cuando el navegador del usuario tiene creada una cookie especial.

El registro de la actividad asíncrona de los usuarios públicos no está disponible debido a las peticiones asíncronas no incluyen las cookies del navegador. Esta función está disponible tanto en Lightning Experience y Salesforce Classic.

¡Vamos a habilitar el registro de la actividad sincrónica de un usuario invitado!

Para habilitar el registro de la actividad sincrónica de un usuario invitado debemos seguir los siguientes pasos:

    1. Hay que configurar una cookie en el navegador con un dominio de .force.com, un nombre de debug_logs y un valor cualquiera.  (Si se utiliza un dominio personalizado, es necesario establecer la cookie para el dominio en lugar de para.force.com.). Para añadir las cookies existen infinidad de plug-in dependiendo del navegador que estemos usando, o se puede hacer desde la extensión para desarrollo web.En este caso vamos a explicar cómo crear y configurar la cookie en el navegador Google Chrome ™:
      1. Accedemos al sitio web.
      2. Abrimos la console DevTools de Chrome pulsando Ctrl + Shift + J (Cmd + Opt + J en MacOS).
      3. Ejecuta el siguiente comando para establecer la cookie:
        • Si se utiliza una .force.com dominio, utilizaremos este comando.
        • Si utilizamos un dominio personalizado (por ejemplo, yourCustomDomain.com), utilizaremos este comando.

       

    2. Buscamos el nombre del usuario invitado:
      1. Desde el menú del Setup, introducimos la palabra Sites en el input de búsqueda rápida y a continuación seleccionamos Sites .
      2. Hacemos click sobre el nombre del Site.
      3. Accedemos a Public Access Settings | View Users.

       

    3. Establecemos un registro de depuración para el usuario invitado.
      1. Desde el menú del Setup buscamos la palabra Debug Logs y accedemos a Debug Logs.
      2. Hacemos clic en New.
      3. Seleccionamos el tipo de entidad a debugger  como User.
      4. Abrimos la búsqueda para el campo que contiene el nombre de la entidad  y buscamos al usuario invitado.
      5. Asignamos el nivel de depuración que deseemos
      6. Y por último guardamos en Save.

 

Y…!Listo¡ Ya podemos analizar nuestro código en tiempo de ejecución, debuggeando tranquilamente todo lo que ocurre en nuestro site publico cuando acceden los usuarios invitados.