PHP

Corrección de Alcance en Servicios para evitar contenido viral no deseado

En el proyecto devlog-ist/landing, que se encarga de la página de aterrizaje, nos encontramos con un problema sutil pero importante relacionado con el alcance de las consultas en dos de nuestros servicios principales: MarkdownResponseService y HomeService.

El Problema

Detectamos que algunos posts virales, destinados a un contexto específico, estaban apareciendo en lugares donde no debían, concretamente en la página de inicio generada mediante Markdown y en la caché utilizada para la detección de idiomas. Esto comprometía la coherencia y la relevancia del contenido presentado a los usuarios.

La Causa

La raíz del problema residía en la falta de un alcance (scope) adecuado en las consultas realizadas por los servicios mencionados. Al no especificar un alcance concreto, las consultas recuperaban todos los posts, incluyendo aquellos que no deberían mostrarse en esos contextos particulares.

La Solución

La solución implementada consistió en añadir el alcance forPortfolio a las consultas realizadas por MarkdownResponseService y HomeService. Este alcance asegura que solo se recuperen los posts relevantes para el portafolio, excluyendo aquellos que no cumplen con los criterios necesarios.

Para ilustrarlo, supongamos que tenemos una función que recupera los posts:

public function getPosts()
{
    return Post::forPortfolio()->get();
}

Aquí, forPortfolio() es un scope que define la lógica para filtrar los posts que pertenecen al portafolio. Al aplicar este scope, garantizamos que solo se recuperen los posts adecuados.

El Resultado

Tras aplicar esta corrección, los posts virales dejaron de aparecer en la página de inicio y en la caché de detección de idiomas, restaurando la coherencia y la relevancia del contenido presentado a los usuarios. Esta mejora contribuye a una experiencia de usuario más consistente y satisfactoria.

Lecciones Aprendidas

Esta experiencia subraya la importancia de definir cuidadosamente el alcance de las consultas, especialmente en aplicaciones complejas donde el contenido se presenta en múltiples contextos. Un alcance adecuado asegura que los datos recuperados sean siempre relevantes y coherentes, evitando problemas de visualización y mejorando la calidad general de la aplicación.

Corrección de Alcance en Servicios para evitar contenido viral no deseado
Gerardo Ruiz

Gerardo Ruiz

Author

Share: