¿Alguien aquí usa su instancia de Discourse como su sitio web completo?

Para simplificar nuestra pila tecnológica, me pregunto si no deberíamos alojar un sitio web y un foro por separado, sino reconfigurar Discourse para que funcione tanto como nuestro sitio web como nuestro foro.

Veo que es así como Pavilion, de @angus, utiliza Discourse.

¡Sin embargo, nuestras necesidades para el sitio web son más complicadas! Este es nuestro sitio web actual.

Me gustaría saber si existen otros sitios web que utilicen únicamente Discourse que pueda explorar. O si tienen alguna idea sobre cómo se podría lograr esto.

5 Me gusta

Bueno, es posible usar publicar páginas para tu contenido que no son publicaciones.

Luego, utiliza un plugin de submenú en el encabezado para obtener un menú superior con submenús, o otro plugin para tener simplemente un menú sin submenús.

Todo depende de cuáles sean tus requisitos.

4 Me gusta

¡Sí! Creo que son un excelente punto de partida.

Uno de nuestros requisitos sería poder incrustar elementos como nuestro formulario de suscripción al boletín informativo y nuestro formulario de donaciones.

4 Me gusta

Tampoco sé exactamente qué tan potente es el estilo personalizado para la publicación de páginas. Me pregunto si hay ejemplos por ahí de páginas que tengan un diseño mucho más elaborado, con cosas como bloques de contenido con diferentes fondos.

2 Me gusta

La pregunta se reduce a tres cosas:

  • la cantidad de “contenido publicado” (a) frente a la comunidad (b)
  • la proporción de visitas a (a) frente a (b)
  • tu presupuesto

Puedes servir millones de visualizaciones de página desde un VPS de 5 $ ejecutando WordPress con la caché y la CDN adecuadas. La instancia equivalente de Discourse sería mucho, mucho más costosa.

Si la mayoría del tráfico y la actividad ocurren dentro de Discourse y no hay riesgo de picos de tráfico en las páginas estáticas, entonces podría tener sentido alojarlo todo dentro de Discourse. En otros casos, un CMS adecuado sigue siendo el rey.

11 Me gusta

Hmmm, tal vez quieras solucionar tu https y certificado.

4 Me gusta

15 publicaciones se trasladaron a un nuevo tema: Certificado SSL no funciona en el sitio principal de Discourse

Discourse tiene un backend en Rails y es extensible, así que, según tengo entendido, puedes hacer todo lo que hace una aplicación de Rails. Pero, ¿estás buscando una solución mágica?

1 me gusta

Aunque definitivamente se puede hacer y podría tener sentido para tu organización, nosotros en Discourse utilizamos software diferente para nuestro sitio web principal.

Nuestro sitio web principal es HTML estático generado por https://jekyllrb.com/ y nuestro blog es una instancia simple de WordPress.

Realmente depende de cómo esté estructurada la ingeniería de tu organización y de qué necesidades y prioridades tengas.

7 Me gusta

Gracias por eso, Rafael.

Tengo muchas ganas de dejar WordPress atrás. Pensé en optar por una solución basada únicamente en Discourse, pero ahora creo que usaré Jekyll para el contenido estático y de información que actualmente está en www.literatecomputing.com, y migraré solo las partes relacionadas con los ingresos a Discourse, junto con el emergente complemento discourse-subscriptions. Estoy trabajando a toda prisa en un complemento de Discourse que servirá como interfaz para mis herramientas de instalación, actualización y otros tipos de mantenimiento.

7 Me gusta

Como ejemplo para reflexionar, aquí hay dos sitios web creados completamente con Discourse (el primero utiliza el plugin Docuss, ahora obsoleto, y el segundo utiliza el plugin DiscPage):

http://www.docuss.org/
https://en.castafiore.org/

7 Me gusta

¡Gracias por este marco de referencia para tomar la decisión!

Debo ser honesto y decir que no estoy seguro de lo que esto significa, así que ahora le cedo la palabra a nuestro equipo técnico. :smile:

@pfaffman ¿Podrías contarnos más sobre esto? ¿Cuáles son los puntos problemáticos que tienes? Todavía estoy considerando CMS y WordPress está entre las opciones.

¡Estaría muy interesado en mantenerme en contacto al respecto!

3 Me gusta

Sí, esto es exactamente lo que necesitaba. ¡Gracias!

5 Me gusta

Para ser justo, aprendí php antes de que se llamara así y no me mantuve al día con el lenguaje moderno en el que se ha convertido, y mis necesidades son muy específicas (necesito cobrar dinero y realizar acciones para crear un droplet en Digital Ocean e instalar Discourse en él).

Pero las últimas veces que acepté entre 500 y 1000 dólares para hacer algún ajuste en Discourse o WordPress, seguro de que sería dinero rápido y fácil, me arrepentí. En la más reciente, pasé mucho tiempo y le devolví el dinero a alguien. Por supuesto, si estuvieran haciendo cosas sencillas, probablemente no me habrían contratado. También tengo otro cliente con un sitio de WordPress con un montón de plugins desactualizados e inactualizables. Es un desastre total y, en algún momento, fue hackeado y ahora tiene varios enlaces a contenido pornográfico. Algo fácil de evitar.

Por otro lado, he estado usando Gravity Forms en lugar de WooCommerce durante el último año o así, y he estado muy satisfecho usándolo para cobrar dinero, tanto para pagos únicos como suscripciones (aunque no está integrado con Discourse). (¡Pero no logro que active la instalación de Discourse exactamente cuando quiero!)

Si estás haciendo cosas “estándar” y te mantienes con plugins bien soportados, probablemente no te arrepentirás (pero usaría discourse-subscriptions para manejar, bueno, las suscripciones de Discourse). Un cuarto de los sitios en internet usan WordPress y hay una buena razón para eso.

7 Me gusta

Actualización: Parece que optaremos por dos sistemas separados: uno para nuestro sitio web y otro para nuestro Discourse. El factor clave fue que las personas que necesitan actualizar el contenido de nuestro sitio web son principalmente personas no técnicas, por lo que se benefician enormemente de usar un sistema de gestión de contenidos que sea extremadamente fácil de utilizar. Utilizamos Weebly para que las personas tengan una forma sencilla de actualizar el contenido, pero aún mejor, pagamos por una plataforma que gestiona nuestro sistema de donaciones y de gestión de contactos, y que cuenta con un equipo técnico dedicado al que simplemente podemos enviar un correo electrónico para realizar cambios más complejos, como en el tema del sitio, la organización, los elementos incrustados, etc. Ellos se encargarán del sitio de Weebly, pero no del Discourse.

Ahora que hemos decidido tener dos sitios diferentes, necesitamos averiguar cómo hacer que ambos funcionen de manera coherente. Quiero hacer un reconocimiento aquí a @angus, cuya empresa apoya a la Comunidad PianoGroove y tiene la integración más hermosa que he visto hasta ahora (¡y he visto muchas!).

Sitio web de PianoGroove

Captura de pantalla del sitio de la Comunidad PianoGroove

@angus, te agradezco sinceramente el increíble trabajo que realizas para tus clientes y tu generosidad al hacer que los complementos y temas que creas sean de código abierto. Todavía nos falta un largo camino por recorrer para que nuestro sitio web y Discourse funcionen a nuestro favor, pero una y otra vez descubro que el trabajo que realiza Pavilion es exactamente lo que nuestra organización comunitaria, de base y de código abierto necesita.

16 Me gusta

¡Gracias @debryc :slight_smile:

Me gustaría añadir que son todos los miembros de Pavilion, y no solo yo, quienes mantienen nuestro trabajo. Nuestra cooperativa es un esfuerzo de equipo.

También me gustaría mencionar que acabamos de hacer de código abierto nuestro Plugin de Páginas de Aterrizaje, que permite páginas completamente independientes respaldadas por una instancia de Discourse; otra forma de satisfacer la necesidad discutida en este tema. Este plugin separa el frontend de las páginas del cliente de Discourse (es decir, no carga la aplicación de Discourse), mientras que sigue permitiendo una integración sencilla mediante un backend común (es decir, el servidor de Discourse).

Ya estamos iniciando el proceso de usar ese plugin con algunos de nuestros clientes para satisfacer necesidades similares a las discutidas aquí. También estamos considerando desarrollar paquetes de código abierto generalizados y fáciles de usar de páginas basadas en casos de uso comunes para un CMS asociado a una comunidad, utilizables con ese plugin.

Aquí está la lista actual de casos de uso que tenemos en mente para recibir este tratamiento.

  • Blog (actualmente estoy trabajando en este). Redacta contenido en Discourse y luego préséntalo en una página de blog completamente independiente, que puedes personalizar como un blog real (es decir, como WordPress o Ghost).

  • Páginas de producto, servicio o característica (como las nuestras). Muestra productos, servicios o características que pueden incluir contenido o datos (categorías, etiquetas, temas, usuarios, etc.) de tu instancia de Discourse.

  • Páginas de “Equipo” (como las nuestras). Una página para tu equipo, utilizando la membresía (y los datos de usuario) de un grupo de usuarios de Discourse.

  • Páginas de eventos, tanto para listar como para mostrar datos de eventos de tu instancia de Discourse en una página de aterrizaje de eventos con estilo. “Datos de eventos” aquí podría ser una combinación de datos del Plugin de Calendario de Discourse, categorías, temas, usuarios (por ejemplo, confirmaciones de asistencia) y ubicaciones (usando nuestro Plugin de Ubicaciones).

Estamos interesados en otros casos de uso generalizables que la gente crea que se beneficiarían de este tratamiento. Debo mencionar ahora que hay algunos casos de uso que ya hemos considerado y que es menos probable que reciban este tratamiento en esta etapa:

  • Tienda. Aunque puede haber una página que integre elementos de una tienda, las tiendas en línea requieren una amplia gama de funcionalidades que siempre necesitarán una solución dedicada como WooCommerce o Shopify.

  • Base de conocimientos. Esta necesidad ya está bien cubierta por soluciones como el Plugin Knowledge Explorer. Una página de aterrizaje puede mostrar un subconjunto de una base de conocimientos, pero replicar completamente la funcionalidad de algo como el Plugin Knowledge Explorer (o simplemente las listas de temas de Discourse) sería contraproducente.

También estamos interesados en trabajar con cualquiera que quiera desarrollar tales páginas, ya sea como un proyecto de desarrollo en sí mismo (por ejemplo, para mejorar sus habilidades), para su comunidad, o incluso para vender. Buscamos lanzar nuestros propios paquetes de código abierto gratuitos para cada caso de uso a medio plazo (de 4 a 6 meses).

El plugin de páginas de aterrizaje y las propias páginas de Pavilion siempre serán 100% de código abierto y gratuitas. Sin embargo, esta es una estructura generalizable que cualquiera con conocimientos de HTML y CSS podría usar para desarrollar un “paquete de páginas” si lo desea. Pronto añadiré una “guía para desarrolladores” a la documentación de conocimientos para ese plugin.

El plugin de páginas de aterrizaje ya admite alojar páginas en repositorios privados de la misma manera que lo hace el sistema de temas de Discourse (de hecho, en el fondo se basa en y extiende el sistema de temas de Discourse). Esto significa que ya es posible vender el acceso a un paquete de páginas de aterrizaje si se desea. Eso podría hacer que valga la pena para otros desarrolladores construir tales paquetes.

Este enfoque no abordará todas las necesidades de gestión de contenido asociadas con un foro, pero podría servir muy bien a un subconjunto, particularmente a aquellos que vemos regularmente en comunidades más pequeñas e independientes, ya que eliminaría la necesidad de instancias separadas y, críticamente, la necesidad de compartir datos entre esas instancias mediante protocolos de autenticación (es decir, compartir datos de usuario al iniciar sesión), webhooks u otros métodos de intercambio de datos.

Esto podría reducir costos y administración, especialmente para comunidades más pequeñas que buscan gestionar contenido relativamente contenido o dirigido, o páginas estáticas, junto con su foro. Nunca será un reemplazo directo para WordPress u otros sistemas CMS, pero esperamos que pueda hacer ciertos casos de uso significativamente más fáciles.

19 Me gusta

¡Sí! ¡Y gracias!

Páginas que permiten scripts

Llevo solo 2,5 meses gestionando una comunidad basada en Discourse. Lo que he encontrado es la necesidad de ciertas herramientas que requieren la inclusión de un script.

Ejemplo de calendario: existen herramientas para calendarios o eventos que puedo incrustar en una página. Sin embargo, se necesita un script en la etiqueta y además debe activarse para la página.

SAS más general: muchas veces un iframe NO es lo ideal. No quiero que mis miembros tengan que ir a otro sitio para registrarse, por ejemplo, pero mi servicio de registro ConvertBox necesita un script en y un

.

Mientras busco mejorar las ofertas para mi comunidad, lo que está bastante claro es que, hasta que “resuelva” la capacidad de agregar incrustaciones basadas en scripts de forma más sencilla, siento que estoy limitado a lo que OneBox admite o al uso de iframes. En realidad, podría imaginar retirarme de mi sitio de WordPress si hubiera una funcionalidad mejorada de Páginas que ofreciera control sobre la inclusión y activación de scripts como esta.

No podría programarlo, pero sí me veo apoyando financieramente este tipo de desarrollo para que la comunidad se beneficie. ¡Gracias!

3 Me gusta

Los embeds son realmente posibles tanto en la interfaz de Discourse (por ejemplo, encima de una lista de temas) usando un tema, como en el Plugin de Páginas de Aterrizaje. Para este último, he creado un ejemplo usando esta pequeña versión del Juego del Dinosaurio. Puedes jugar aquí: Pavilion (solo escritorio).

2021-03-04 18.54.09

No se requiere codificación para esto. Lo único que hice fue subir esos recursos a nuestro CDN (arrastré y solté la carpeta en un ‘espacio’ de DigitalOcean), crear una página con la ruta “dinosaur” y copiar/pegar este HTML (todo a través de la interfaz de administración).

HTML
<div class="landing page dinosaur">
  <div class="container">
    <h1>¡Juego del Dinosaurio!</h1>
    <canvas id="game" height="200" width="800"></canvas>
    <p class="controls">presiona la barra espaciadora para empezar</p>
    
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/helpers.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/game-object.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/cactus.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/dinosaur.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/background.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/objects/score.js"></script>
    <script src="https://pavilion-assets.nyc3.digitaloceanspaces.com/dinosaur/js/game.js"></script>
    <script>
    	new Game({
    		el: document.getElementById("game")
    	});
    	window.onkeydown = function(e) {
            return e.keyCode !== 32;
        };
    </script>
  </div>
</div>

El Plugin de Páginas de Aterrizaje implementa la configuración de CSP y CORS de Discourse, que ya he configurado para manejar scripts desde nuestro CDN (a través de la configuración del sitio correspondiente).

La próxima semana publicaré un tema completo de la base de conocimientos titulado “Cómo alojar e incrustar recursos” para ese plugin, cubriendo este caso de uso.

8 Me gusta

Gracias, eso es útil como punto de partida.

No pude encontrar cómo hacer esto en un tema, por ejemplo, insertar un que se cargue con cada tema que cambia o encima de una lista de temas. ¿Debo personalizar el tema y colocarlo después del encabezado?

2 Me gusta