Configuración de Gmail, recomendación de chat y flujo de datos de recompensas dinámicas entre WordPress y Discourse

¡Hola a todos!

Ayer descubrí Discourse y quedé impresionado por sus características, su naturaleza de código abierto, sus plugins, sus componentes de temas y su excelente interfaz de usuario. Estoy construyendo una plataforma de evaluación de habilidades en WordPress y la última pieza de mi visión del producto es una comunidad vibrante, y Discourse encaja perfectamente. ¡Gracias por crear esta joya!

Para configurar esto y comenzar, tengo algunas preguntas y agradecería su ayuda.

Contexto:

  • Mi sitio está alojado en Siteground y no pueden darme acceso root porque están en Google, por lo que no puedo instalar Discourse allí. :frowning:
  • He escrito código personalizado en PHP para construir un sitio dinámico donde los usuarios ganan puntos de habilidad y recompensas por demostrar habilidades en la plataforma. Por ejemplo, los usuarios ganan puntos cuando comparten proyectos y los etiquetan con habilidades específicas. Las etiquetas de habilidad las defino yo con antelación y a cada habilidad se le asignan puntos; los datos se almacenan en tablas personalizadas. Esto me permite mostrar datos por habilidad y por usuario a lo largo del tiempo.
  • Estoy utilizando Gsuite para mi configuración de correo electrónico.
  • Quiero tener control total, por lo que me gustaría alojar Discourse por mí mismo (self-hosted).
  • No tengo habilitada la función de chat en WordPress (no hay plugin instalado), pero me gustaría tener la función de chat en Discourse.
  • Quiero construir un sistema similar de reconocimiento de habilidades y puntos para la actividad en Discourse. Por ejemplo, si el usuario1 hace una pregunta (y la etiqueta con etiquetas de habilidad) y el usuario2 la responde, y el usuario1 la marca como resuelta, entonces el usuario2 obtiene puntos de habilidad para las etiquetas de habilidad asignadas. O si el usuario1 publica un contenido de alta calidad y muchos usuarios lo aprecian, entonces el usuario1 recibe puntos por esa publicación. La analogía más cercana es una versión mini de Stack Overflow, pero para una comunidad muy especializada.

Mis preguntas:

  1. He visto que algunas personas usan Mailgun para los correos en Discourse. ¿Hay algún problema con usar Gsuite? Soy nuevo en esto y agradecería cualquier perspectiva a largo plazo.
  2. No tengo un proveedor de alojamiento para Discourse, pero todos parecen valorar mucho DigitalOcean (DO). Dado lo que he compartido, ¿ven algún problema con usar DO?
  3. ¿Hay alguna herramienta de chat recomendada que funcione bien con WordPress y Discourse? No busco nada sofisticado para el chat; algo ligero que haga el trabajo sería apreciado.
  4. ¿Cómo recomendarían sincronizar las etiquetas en WordPress con las etiquetas en Discourse? ¿Es incluso posible? Es principalmente importante para las habilidades, ya que quiero combinar todos los datos del foro y la actividad de proyectos para crear un portafolio de habilidades para el usuario.
  5. ¿Cómo puedo garantizar la transferencia de datos en tiempo real entre Discourse y WordPress? Es decir: 1) Si un usuario envía un proyecto en el sitio, los puntos de habilidad se actualizan en Discourse. 2) Si un usuario hace una buena contribución en Discourse, los puntos de habilidad se actualizan en WordPress. ¿Cómo sería esto posible con datos en dos bases de datos diferentes (Postgres y MySQL/MariaDB), dos proveedores de alojamiento diferentes (Siteground y DO, quizás) y dos backends diferentes (PHP y Ruby on Rails)? ¿Existen APIs o hooks que pueda usar para transferir datos entre las dos aplicaciones? ¿O todo esto se resuelve automáticamente con el plugin WP-Discourse? ¿Quizás necesito ejecutar trabajos periódicos que “sincronicen” los datos entre las dos aplicaciones?

No estoy seguro de qué tan complejo es esto, dada la flexibilidad de Discourse y WordPress. Estoy dispuesto a mantener los datos de fuente de verdad en la base de datos de WordPress si eso es lo que se necesita para configurar esto. Puedo programar en PHP y estoy dispuesto a aprender Ruby on Rails si eso es lo que se requiere para construir un sistema dinámico y fluido de incentivos y calificación de habilidades.

En resumen: a los usuarios no les importa dónde está el sitio y dónde está el foro, y quiero mantenerlo así ofreciéndoles una única experiencia unificada en ambas aplicaciones.

¡Gracias!

Edición: Investigué más para entender mejor qué representa realmente Discourse y vi dos excelentes charlas de Jeff. Muy recomendadas para cualquiera que sea nuevo en Discourse.

Ahora entiendo mejor la diferencia entre Stack Overflow y Discourse, y parece que quiero construir una comunidad más cercana a un foro, pero con cierto control y especificidad de Stack Overflow. Es difícil explicar los detalles específicos en esta etapa, pero parece que la transferencia de datos entre WordPress y Discourse será esencial para construir el producto que quiero.

¡Bienvenido a la comunidad! :slight_smile:

Solo una nota: generalmente es mejor dividir este tipo de cosas en varios temas más específicos, ya que los temas que abarcan demasiado son difíciles de responder y suelen quedar en el aire.

Además, hay una gran cantidad de recursos sobre la mayoría de tus preguntas aquí en meta.discourse.org. Una buena manera de familiarizarte con la comunidad es dedicar un tiempo a leer temas sobre los asuntos que te interesan.

Luego, cuando busques ayuda adicional sobre un tema, podrás hacer preguntas más específicas y obtendrás respuestas mucho mejores. Otros miembros de la comunidad apreciarán que te hayas tomado el tiempo de leer los diversos temas y querrán ayudarte aún más.

Gsuite y Mailgun hacen cosas diferentes y necesitarás ambas. Mailgun es lo que se llama un proveedor de correo electrónico “transaccional”. Ya he consultado los recursos existentes aquí y en otros lugares sobre este tema.

Sí, digitalocean.com es una excelente opción para el autoalojamiento y no hay ningún problema con usarlo.

Depende del tipo de chat del que estés hablando :slight_smile: Busca “chat” aquí en meta para ver lo que la gente ha discutido en el pasado y luego sigue el hilo en esos temas.

La forma predeterminada de hacerlo actualmente es agregar etiquetas utilizando las opciones de publicación del plugin WP Discourse. Si estás interesado en algo más, sigue el hilo en el tema a continuación, o quizás este.

Necesitarás escribir uno o más plugins para Discourse y/o WordPress para hacer esto. Dado que estás interesado en programarlo tú mismo, te indicaré algunos lugares para empezar:

2 Me gusta

Gracias por compartir los recursos y por tu ayuda. Lo aprecio mucho. Hay mucho que revisar, así que tendré mucho trabajo esta semana.

1 me gusta