¿Debería Discourse esforzarse por convertirse en una plataforma de comentarios viable?

Estoy trabajando en esto ahora. La primera versión es para un sitio WordPress sin cabeza que utiliza el framework Remix para su frontend. Una vez que eso esté hecho, haré una versión para sitios WordPress normales. Probablemente será un plugin que extienda el plugin WP Discourse. Espero que la mayor parte de lo que estoy haciendo en el sitio WordPress sin cabeza se pueda transferir a los sitios WordPress normales, pero podría requerir algunas concesiones.

Permitir a los usuarios comentar directamente desde un sitio externo es trivial de implementar. El requisito principal es que el sitio externo tenga acceso a las credenciales del usuario de Discourse. Eso se puede hacer utilizando el sitio externo como proveedor de DiscourseConnect para Discourse o configurando Discourse como proveedor de DiscourseConnect para el sitio externo.

En el segundo escenario, donde el sitio externo no es el proveedor de DiscourseConnect para Discourse, la primera vez que un usuario quiera comentar desde el sitio externo, deberá hacer clic en un enlace para conectar su cuenta en el sitio externo con su cuenta de Discourse (o registrarse en Discourse si aún no lo ha hecho). Puede ser bastante fluido desde el punto de vista del usuario.

Sin embargo, el cambio anterior no hace que todo se sienta como un sistema de comentarios normal. Una expectativa normal para un sistema de comentarios es que puedas leer e interactuar con todos los comentarios. El plugin WP Discourse solo muestra una selección de comentarios que se extraen de una ruta especial proporcionada por Discourse. No proporciona ninguna funcionalidad para interactuar con los comentarios.

Las partes difíciles del problema son:

  • Paginación de todos los comentarios de un tema en WordPress, teniendo en cuenta que podría haber miles.
  • Proporcionar una interfaz de usuario que brinde al usuario comentarios sobre dónde se encuentra en una lista larga de comentarios.
  • Averiguar cómo mostrar comentarios que son respuestas directas a otros comentarios. (La convención de Discourse para esto está desalineada con la forma en que la mayoría de los sistemas de comentarios manejan las respuestas).
  • Permitir a los usuarios responder directamente a un comentario, dar “me gusta” a un comentario, editar sus propios comentarios, etc.
  • Tratar con comentarios creados en Discourse que podrían contener contenido o marcado que no se puede renderizar o interactuar fácilmente en el sitio externo. Por ejemplo, oneboxes, encuestas…
  • Proporcionar una forma de filtrar comentarios por recientes, más antiguos, mejores, etc…

Todo esto debe lograrse sin poner una carga excesiva en el servidor del sitio externo, hacer demasiadas solicitudes de API a Discourse o consumir demasiada memoria en el dispositivo del usuario (el objetivo es crear un sistema de comentarios ligero). Es factible, pero no es algo que se pueda simplemente incorporar al código existente de WP Discourse sin hacerle cambios significativos.

4 Me gusta