¿Que les parece Discourse para el foro?

Iniciado por MinusFour, 30 Julio 2021, 16:16 PM

0 Miembros y 1 Visitante están viendo este tema.

MinusFour

Aquí un resumen de sus funcionalidades

Los puntos que yo veo a favor:

1) Se nota que está pensado para dar una mejor experiencia al usuario (cosa que el foro necesita).
2) Tiene una arquitectura decente (el frontend se puede separar del backend)
3) Mucha más flexibilidad para poder integrar el foro con otros de los sistemas.
4) Soporta Markdown y BBCode.
5) Tiene un sistema de migración para SMF2 (del cual creo que ya hemos probado que si podemos migrar)
6) Tiene un sistema de moderación mucho más elaborado.

Los puntos en contra:

1) Usa Ruby on Rails.

No se cuantos de los devs aquí hayan usado RoR en un pasado. Por mi parte, yo he tenido muy poca experiencia con Ruby mucho menos con RoR. Así que sería algo difícil de dar mantenimiento sin empezar a aprender el lenguaje y la plataforma.

2) Tenemos etiquetas BBCode que pueden no estar disponibles en el core o en otros plugins.

Habría que probar que se puede hacer al respecto. Alguna extensión quizás o simplemente eliminarlas de los posts :/

3) Usa Ember.js de FrontEnd

No es que este en contra de Ember.js pero lo cierto es que es muy viejo. No he trabajado con el personalmente pero no me molestaría aprenderlo. En cuanto darle un tema personalizado no creo que eso sea un gran problema... al final solo es CSS.

4) No es un foro convencional.

Por un lado es bueno que sea así porque los foros como los conocemos se están extinguiendo. Por otro lado puede alienar a los usuarios del foro que esperan un foro tradicional. Moderadores y Administradores incluidos.

Randomize

¿Y qué tal un SMF a su versión actual (que debe ser la 2.8 o la 3.2, no las sigo)?

MinusFour

Cita de: Randomize en 30 Julio 2021, 18:34 PM
¿Y qué tal un SMF a su versión actual (que debe ser la 2.8 o la 3.2, no las sigo)?

Las dos ramas actuales de SMF son 2.0.x y 2.1.x. Yo creo que ninguna actualización de SMF ofrece una experiencia moderna. Desde el punto de vista del usuario, se verán dos o tres nuevas funcionalidades importantes. Y mientras el software sería más reciente, no está exactamente hecho a estándares modernos (es batallar más para modernizar otros sistemas como la web y el blog).

Claro que el stack de Discourse no es exactamente moderno y si me preocuparía un poco por RoR porque no se si vaya a desparecer en un futuro mientras que stacks en Node o PHP dudo mucho que corran un peligro.

Serapis

Creo que sería aceptable, hacer x día un backup del foro, trabajar sobre dicho backup para la adaptación de Discourse y ponerlo a prueba. Esto es, darles una dirección accesible de forma provisional donde probarlo.

- Primero a los moderadores... escuchar comentarios a favor y en contra y ver de configurar las opciones más a primera vista (lo más complejo se puede aplazar hasta que se vea de aprobar).
- Si los moderadores, parecen estar de acuerdo, podría también hacerse accesible de modo público (a usuarios registrados, para evitar trolls) durante un tiempo y nuevamente recogiendo opiniones. Y al final decidir en base a su aceptación.
- El foro debería seguir siendo accessible en su dirección actual, de modo que las pruebas deben correr en paralelo.
- Habría que advertir que temporalmente ese acceso, es solo de pruebas y que por tanto su contenido acabaría desapareciendo, que si escriben algo importante que sea en el foro 'actual'.

En lo personal me interesa la compatibilidad con navegadores y S.O. viejos. Yo entro al foro con un viejo tablet que calza un win-XP, pues tanto el otro PC como el portátil son de uso exclusivo para el trabajo, están monitorizados por la empresa y aunque aceptan que el portátil me lo traiga a casa (para trabajar desde casa fuera de horarios), no aceptan ningún otro uso. Y no estoy por la labor de comprarme otro aparato al menos hasta el próximo año o así... en fin que tiro de este viejo tablet-pc para el ocio en casa.
Si no es compatible, me limita el acceso, e imagino que habrá mucha gente en situacion similar, quizás con diferentes razones, pero tirando de un equipo viejo para el ocio...

MinusFour

Cita de: Serapis en  1 Agosto 2021, 18:03 PM
Creo que sería aceptable, hacer x día un backup del foro, trabajar sobre dicho backup para la adaptación de Discourse y ponerlo a prueba.

Esto es, darles una dirección accesible de forma provisional donde probarlo.

Por lo menos para probar podemos poner un demo para los colaboradores y demás, pero poder usar un backup para probar la herramienta de migración de SMF a discourse sería lo ideal.

Cita de: Serapis en  1 Agosto 2021, 18:03 PMEn lo personal me interesa la compatibilidad con navegadores y S.O. viejos. Yo entro al foro con un viejo tablet que calza un win-XP, pues tanto el otro PC como el portátil son de uso exclusivo para el trabajo, están monitorizados por la empresa y aunque aceptan que el portátil me lo traiga a casa (para trabajar desde casa fuera de horarios), no aceptan ningún otro uso. Y no estoy por la labor de comprarme otro aparato al menos hasta el próximo año o así... en fin que tiro de este viejo tablet-pc para el ocio en casa.
Si no es compatible, me limita el acceso, e imagino que habrá mucha gente en situacion similar, quizás con diferentes razones, pero tirando de un equipo viejo para el ocio...

Ese podría ser un problema aunque no he visto bien que tantas funcionalidades son compatibles con navegadores y sistemas antiguos. La última versión de Chrome para Windows XP fue liberada en el 2016, la última versión para Firefox fue en el 2018... Y como yo tengo entendido, ambos navegadores han pasado por varias actualizaciones de seguridad importantes.

Debe funcionar pero a que grado difícil de saber. Es difícil ofrecer una solución moderna cuando la gente todavía depende de tecnologías obsoletas. Y tenemos demasiados bots para decir que tantos afectados tenemos aunque yo creo que deben tener UAs más modernos que Windows XP por lo menos.

el-brujo

#5
Creo que es el sistema que usan en HackPlayers:

https://foro.hackplayers.com/

Lo digo porque siempre va bien ver una demo, y si es en español y encima de la misma temática perfecto para hacerse una idea.

Aunque sin mucho éxito, porque apenas tiene participación... Aunque ellos empezaron el foro de 0 y tienen pocas entradas mensuales en el blog.

Lo digo para hacerme una idea del formato, realmente es muy diferente a un formato de foro tradicional y convencional, vaya, que no se parece en nada jeje.

Serapis, el foro actual se migró correctamente a SMF 2.x en diciembre de 2020:

https://forum.elhacker.net

Es totalmente funcional, y se usó de pruebas, testing, errores. Se conservan las URL's viejas (con redirecciones automáticas a las nuevas).


Un sistema más moderno de foros, pero manteniendo el estilo clásico sería:

https://forum.xda-developers.com/

¿Qué sistema usan o es propio?

MinusFour

#6
El primer foro no creo que sea discourse. El foro de xda-developers es XenForo. Migraron de vBulletin a XenForo el año pasado. Pero por lo menos el tema se nota que si está muy tocado.

No he podido probar Discourse todavía (fuera del demo que tienen que no permiten hacer cambios en la administración) pero si pude probar XenForo. Solo que no me han dejado ponerlo en español ni instalar ningún addon (porque será? :rolleyes:). Siguen con BBCode pero el editor se ve mucho mejor.

También está Flarum. No lo he probado muy bien. Este es más parecido a Discourse pero está hecho en PHP.

Por cierto el sistema para publicar en Discourse y Flarum es muy innovador realmente. Por ejemplo puedo empezar a escribir una respuesta en un tema y puedo salirme del tema, abrir otro tema, citar a alguien más seleccionando el texto con el cursor y sigo escribiendo el mensaje para el tema inicial.

WHK

#7
Si vamos a proponer cambiar de sistema mejor propondría Vanilla: https://vanillaforums.com/en/software/ , aunque discourse tampoco es malo.

Es un software muy moderno, está construido en nodejs, tiene sus contenedores, usa separación de capas con microservicios y todo basado en apis, de hecho participa en HackerOne y me ha tocado hacerle revisiones de seguridad en varias ocasiones y es un sistema muy seguro y muy simple de administrar y bastante robusto.

Por otro lado, lo que use hackplayer o cualquier otro servicio medio viejo no es una buena referencia, en especial las comunidades de habla hispana, hoy en día se usan otros medios de comunicación pero si se desea mantener el foro entonces hay soluciones mas robustas como vanilla.

Yo no apostaría por ningún sistema hecho en php porque siempre vamos a tener el problema del uso de recursos desmedidos cuando vengan ataques ddos, php se hecha a memoria todo el framework del sistema cms por cada petición http, en cambio un lenguaje ejecutado en memoria como node, java o ruby consumen únicamente las funcionalidades necesarias y no tiene que cargar todo el core por cada petición, esto ahorra mucha memoria ram y hace que todo ande muchisimo mas rápido y no depende de la velocidad del uso de disco.

La instalación no es tan dificil, solo es cosa de descargar los paquetes y ponerlo a andar, se puede instalar de cero o usar el contenedor que tiene ya todo listo y configurado, se conecta a la db y ya.

http://pages.vanillaforums.com/demo-request-vanilla-forums?utm_source=vanilladocs&utm_medium=cta&utm_campaign=demo-request

Incluso puedes hacer que la gente ingrese autenticandose con su cuenta de google, facebook o github y así evitar el ingreso de bots:

[youtube=640,360]https://www.youtube.com/watch?v=HO31CS6gDDs[/youtube]

Incluso puedes tener diferentes landpages, por ejemplo, una con noticias y otra con el foro o una con la pagina principal de bienvenida:

[youtube=640,360]https://www.youtube.com/watch?v=SS-JFgMMmD0[/youtube]

Por otro lado, si se opta por php preferiría phpbb porque es mucho mas facil de mantener y programar, su código está bien ordenado y es bastante seguro, funciona en base a hooks igual que wordpress, no necesitas modificar el core del sistema para aplicar mejoras de seguridad.

MinusFour

Cita de: WHK en  3 Agosto 2021, 22:27 PM
Yo no apostaría por ningún sistema hecho en php porque siempre vamos a tener el problema del uso de recursos desmedidos cuando vengan ataques ddos, php se hecha a memoria todo el framework del sistema cms por cada petición http, en cambio un lenguaje ejecutado en memoria como node, java o ruby consumen únicamente las funcionalidades necesarias y no tiene que cargar todo el core por cada petición, esto ahorra mucha memoria ram y hace que todo ande muchisimo mas rápido y no depende de la velocidad del uso de disco.

Es más bien un problema de arquitectura realmente, no es un problema especifico con PHP. Y realmente no se que tan escalable sea Discourse si esa es una consideración. Por ejemplo, ahora mismo estoy corriendo Discourse dentro de un contenedor e inspeccionando el contenedor te das cuenta que TODO está dentro del contenedor. Postgress, Rail, Nginx, Redis, etc. Así que por lo menos el contenedor que tengo no es escalable. Ahora no veo razón por la cual estos no puedan estar en sus contenedores correspondientes...

Al final, da lo mismo si remplazamos RoR con PHP o NodeJS (excepto quizás por websockets y aún así). Es más importante ver como diseñaron el foro antes que cualquier otra cosa.

He estado jugando un poco con Discourse para ver que tan fácil podemos adoptarlo, que es nuevo, que es diferente, etc. Hasta ahora en general, ha sido algo sencillo manejar el software. Su instalación fue un poco complicada casi estrictamente por el método de instalación que elegí. De entrada necesitas tener un dominio y un servidor de correo. Tengo mi dominio por supuesto pero el servidor de correo no es exactamente algo que se utilice para esto aunque no tuve problemas para configurarlo. Estoy utilizando WSL2 con docker para instalar discourse y su script de instalación comprueba que el servidor sea accesible por el dominio dado. Un autentico dolor de cabeza porque el script tiene un bug que he "tenido" que corregir. Sin embargo, la ip de mis contenedores de docker no es la misma que la ip de mi instancia WSL2 entonces obviamente la prueba no va a funcionar. Así que después de arreglar el susodicho error ahora resulta que tengo que optar fuera de este chequeo porque simplemente no iba a funcionar. Por suerte saltarse el chequeo es muy fácil. La herramienta de configuración procede, los contenedores se crean exitosamente pero ahora nginx empieza a fallar porque no tiene un certificado de SSL. El mismo contenedor puede crear el certificado por tí con Lets Encrypt pero para eso necesito hacer el portfowarding correcto del puerto 80 a mi equipo. Mi proveedor de internet se queja porque ellos usan ese puerto para su servicio de cable pero me deja. Nginx ahora arranca pero no puedo acceder al sitio por el puerto 80, la aplicación regresa 301s hacia https (puerto 443). Mi proveedor de internet ahora si que no me deja usar ese puerto por las mismas razones. Discourse no me deja cambiar el puerto de la aplicación (en mi opinión, una tontería pero es lo que hay). Encontré una forma de deshabilitar SSL en los foros de discourse (realmente la encontré yo porque lo que dicen ellos es "simplemente desactivala en este archivo" *surprised pikachu*). Y por problemas con mi proveedor de internet al final tuve que acabar poniendo una entrada en /etc/hosts... pero finalmente logre instalar discourse.  Instalar discourse no ha sido sencillo, es cierto, pero yo también tengo la culpa por no usar un stack normal (una vm con algún proveedor).

Configurar discourse ha sido relativamente sencillo pero si me he topado con algunos problemas. Antes quiero mostrar algunas de las cosas que he visto que me han agradado bastante. Primero, los onebox por ejemplo el de twitter:



Lo único que hecho es copiar el link de twitter y listo me arma todo el html por mi.

Fiddles de Codepen, aquí uno que tenía de hace mucho tiempo:



Podemos hacerlo con cualquier link también, pero ciertamente no es lo mismo. Debe haber servicios con sandboxs para VMs o así (por ejemplo para correr node.js).

Después su sistema para crear posts... Digamos que quiero contestar citas en especifico, incluso a traves de varios temas...



Con lo difícil que es recrear citas para un solo mensaje y este hace mucho más. Y la ventana a la derecha también tiene una vista previa (lastima que no haya hecho el gif bien).

Tiene un sistema de likes que es precisamente como lo querían para el foro (sin poder dar dislike pero sin remover el like creo). No he probado extensivamente las funcionalidades de moderación pero tiene unas cosas interesantes. Por ejemplo, hay un registro visible de una acción de moderación. Es decir, si cierro un tema, dice ahí que fuí yo el que ha cerrado el tema.



Como dicen en mis tierras ya no hay más que a chuchita la bolsearon. La moderación es pública y cada quien puede saber quien cerro o borro algún tema. Es posible dejar un mensaje de porque se llevo acabo la acción de moderación. Por otro lado, también se pueden ocultar estas acciones a miembros que no son moderadores.

Las cosas que no me han gustado hasta ahora:

1) El índice no es muy bonito que digamos. Aquí unas cuantas tomas dependiendo de como se muestren las categorías:





Y bueno, yo intente darle una apariencia parecida al foro en cuanto a colores y así (no mucho realmente). Me imagino que tocará leer más acerca de como crear un tema en discourse porque realmente lo único que hice fue modificar una paleta de colores. Yo creo que debe ser posible tener un índice mucho más vistoso.

2) La traducción no es la mejor y hay muchas partes que no están traducidas. Por ejemplo, los menus de administración tienen todas las configuraciones en ingles (las descripciones por lo menos están en español). Alguna que otra palabra que está mal traducida (por ejemplo, "uploads" son "subidos"). No creo que sea mucho problema.

3) Cuando estaba configurando las categorías, llego un momento en el que no se como termine creando dos categorías del mismo nombre y una vino siendo una subcategoría de la otra. Tenía "Dudas Generales" dentro de "Dudas Generales". No me dejaba borrar ninguna de las dos categorías hasta que me di cuenta de mi error. Perdí como unos 10 minutos aquí y realmente no encontré ayuda en ninguna parte de lo que estaba pasando.

4) Cuando estaba configurando las categorias, configure una url con una ñ. No pude editar la categoría ni borrarla a la hora de tratar de acceder a su menu correspondiente. Decía que no existía. Tuve que meterme a la aplicación desde una terminal para poder reconfigurar la url para quitar la ñ. Batalle un poco en encontrar la razón y la explicación no es muy intuitiva fuera de que tienes que correr código en la terminal (tienes que usar ruby).

5) Estaba intentando configurar mi perfil para usar un link de imgur para mi perfil. Simplemente no he podido hacer eso. Como tengo entendido discourse te provee un avatar o tu tienes que subir al sistema tu propio avatar. No puedes enlazarlo con un sistema externo como imgur o similar.

6) Estaba queriendo revisar los logs de errores y me sale una pantalla donde efectivamente hay errores pero realmente no se si lo que se muestran son errores al tratar de acceder a los logs o si son realmente logs de errores. Como no sigue el mismo tema que las demas partes del sitio yo quiero creer que en efecto, tratar de acceder a los logs de errores provoca un error (pero no estoy muy seguro de eso).

Me gustaría poder compartir esta instancia con ustedes pero por desgracia mi proveedor de internet simplemente no me dejará mostrar nada por el puerto 443. Quizás alguien quiera compartir una VM con unos  2 o 4GB de RAM para probar. Creo que también podría probar con ngrok... en fin, si están muy interesados veré por ahí que puedo hacer. Por lo pronto si tienen alguna pregunta acerca de esta instancia de discourse me pueden preguntar por aquí.

WHK

Y si hacemos público este post y mo movemos del foro de colabs, aver que opina el resto de los usuarios?