Verificar la validez del plugin o tema

He recopilado alrededor de 200 repositorios de GitHub para complementos y temas de Discourse. ¿Existe alguna forma de verificar la compatibilidad con la última versión de Discourse?

          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/Fakebook
          - git clone https://github.com/discourse/discourse-spoiler-alert.git
          - git clone https://github.com/discourse/discourse-brand-header
          - git clone https://github.com/discourse/discourse-knowledge-base-theme
          - git clone https://github.com/discourse/discourse-characters-required
          - git clone https://github.com/discourse/discourse-solved
          - git clone https://github.com/discourse/discourse-voting
          - git clone https://github.com/discourse/discourse-calendar
          - git clone https://github.com/discourse/discourse-styleguide
          - git clone https://github.com/discourse/discourse-assign
          - git clone https://github.com/discourse/discourse-yearly-review
          - git clone https://github.com/discourse/discourse-sitemap
          - git clone https://github.com/discourse/discourse-custom-header-links
          - git clone https://github.com/discourse/discourse-fingerprint.git
          - git clone https://github.com/discourse/wp-discourse
          - git clone https://github.com/discourse/discourse-translator
          - git clone https://github.com/discourse/discourse-tooltips
          - git clone https://github.com/discourse/discourse-knowledge-explorer
          - git clone https://github.com/discourse/DiscoTOC
          - git clone https://github.com/discourse/discourse-chart
          - git clone https://github.com/discourse/discourse-social-share
          - git clone https://github.com/discourse/discourse-users-nav
          - git clone https://github.com/discourse/discourse-algolia
          - git clone https://github.com/discourse/discourse-whos-online
          - git clone https://github.com/discourse/discourse-amazon-sns
          - git clone https://github.com/discourse/discourse-login-with-amazon
          - git clone https://github.com/discourse/discourse-reply-template-component
          - git clone https://github.com/discourse/discourse-azure-blob-storage
          - git clone https://github.com/discourse/discourse-header-submenus
          - git clone https://github.com/discourse/discourse-push-notifications
          - git clone https://github.com/discourse/discourse-affiliate
          - git clone https://github.com/discourse/discourse-backup-s3-uploads
          - git clone https://github.com/discourse/Discourse-Tiles-image-gallery
          - git clone https://github.com/discourse/discourse-placeholder
          - git clone https://github.com/discourse/discourse-plugin-office365-auth
          - git clone https://github.com/discourse/discourse-topic-group-button-component
          - git clone https://github.com/discourse/discourse-topic-author
          - git clone https://github.com/discourse/discourse-alt-logo
          - git clone https://github.com/discourse/discourse-like-column
          - git clone https://github.com/discourse/discourse-linkify-words
          - git clone https://github.com/discourse/discourse-optional-title-mobile-header
          - git clone https://github.com/discourse/discourse-expand-collapse-banner
          - git clone https://github.com/discourse/discourse-full-width-banner
          - git clone https://github.com/discourse/discourse-two-columns-banner
          - git clone https://github.com/discourse/Discourse-nav-links-component
          - git clone https://github.com/discourse/twitter-profile-link
          - git clone https://github.com/discourse/plugin_discourse_dynamic_sidebar
#          - git clone https://github.com/discourse/discourse-zendesk-plugin
          - git clone https://github.com/discourse/discourse-prometheus-alert-receiver
          - git clone https://github.com/discourse-pro/df-paypal-buy-now
          - git clone https://github.com/discourse/discourse-steam-login
          - git clone https://github.com/discourse/discourse-graphviz
          - git clone https://github.com/discourse/discourse-backup-uploads-to-s3    
          - git clone https://github.com/discourse/discourse-focused-sidebar
          - git clone https://github.com/tshenry/discourse-blog-post-styling

##       https://github.com/procourse/    
          - git clone https://github.com/procourse/discourse-mlm-daily-summary
          - git clone https://github.com/procourse/discourse-house-ads
          - git clone https://github.com/procourse/procourse-installer
          - git clone https://github.com/procourse/procourse-static-pages
          - git clone https://github.com/tshenry/discourse-versatile-banner

##       https://github.com/paviliondev/    
          - git clone https://github.com/paviliondev/discourse-pavilion
          - git clone https://github.com/paviliondev/discourse-question-answer
          - git clone https://github.com/paviliondev/discourse-follow
          - git clone https://github.com/paviliondev/user-card-directory
          - git clone https://github.com/paviliondev/discourse-wikimedia-auth
          - git clone https://github.com/paviliondev/discourse-advanced-ticketing
          - git clone https://github.com/paviliondev/discourse-locations
          - git clone https://github.com/paviliondev/discourse-landing-page
          - git clone https://github.com/paviliondev/discourse-ratings
          - git clone https://github.com/paviliondev/discourse-topic-previews
          - git clone https://github.com/paviliondev/discourse-multilingual          
          - git clone https://github.com/paviliondev/discourse-team-timezones       
          - git clone https://github.com/paviliondev/discourse-custom-wizard
            
# https://github.com/mozilla
          - git clone https://github.com/mozilla/discourse-email-all
          - git clone https://github.com/mozilla/discourse-post-read-email
          - git clone https://github.com/mozilla/discourse-mozilla-iam
          - git clone https://github.com/mozilla/discourse-category-categorization
          - git clone https://github.com/mozilla/discourse-tldr
          - git clone https://github.com/mozilla/discourse-group-category-notification    
          - git clone https://github.com/mozilla/discourse-mozilla-theme
#pfaffman
          - git clone https://github.com/pfaffman/discourse-ucf-to-account-page
          - git clone https://github.com/pfaffman/discourse-add-to-summary
#merefield
          - git clone https://github.com/merefield/discourse-sign-in-with-apple
          - git clone https://github.com/merefield/discourse-discord-bot
          - git clone https://github.com/merefield/discourse-onebox-assistant
#programmersforum
          - git clone https://github.com/programmersforum-reborn/discourse-simplify-category-list
          - git clone https://github.com/programmersforum-reborn/discourse-hide-category-selector
          - git clone https://github.com/programmersforum-reborn/discourse-disable-onboarding-overlay
          - git clone https://github.com/programmersforum-reborn/discourse-adjust-emoji-sizes


          - git clone https://github.com/ilikourou/discourse-ads
          - git clone https://github.com/AtakanYildirim1/esporintheme
          - git clone https://github.com/crbothe/discourse-wizard

          - git clone https://github.com/sylque/dcs-discourse-plugin
          - git clone https://github.com/jjaffeux/discourse-group-checklist
          - git clone https://github.com/markschmucker/digest_webhook
          - git clone https://github.com/tshenry/discourse-agreement-banner
          - git clone https://github.com/Daemonite/discourse-material-theme
          - git clone https://github.com/hnb-ku/discourse-checkout

          - git clone https://github.com/rimian/discourse-subscriptions
          - git clone https://github.com/roblox-dev-forum/discourse-definitions
          - git clone https://github.com/roblox-dev-forum/simple-flags
          - git clone https://github.com/eviltrout/discourse-no-nazis

          - git clone https://github.com/anythingagency/discourse-cm-theme
                      
          - git clone https://github.com/RobertFULL30/Discourse-Beer-Component-
          - git clone https://github.com/dfuzr/libra-discourse-category-banners
          - git clone https://github.com/iunctis/discourse-boutons-extras

          - git clone https://github.com/openSUSE-zh/discourse-cjk-text-spacing
          - git clone https://github.com/aksoforever/discourse-hello
          - git clone https://github.com/tshenry/discourse-last-seen-user-card-theme-component
          - git clone https://github.com/murayuki/Discourse-Keyboard-Text
          - git clone https://github.com/lionel-rowe/unformatted_code_detector
          - git clone https://github.com/anythingagency/discourse-cm
          - git clone https://github.com/bbardin/c.f-discourse-easy-footer
          - git clone https://github.com/Ebsy/discourse-nationalflags
          - git clone https://github.com/angusmcleod/discourse-tickets

          - git clone https://github.com/communiteq/discourse-multiple-hostnames
          - git clone https://github.com/featheredtoast/discourse-pushover-notifications
          - git clone https://github.com/lingokids/discourse-video-url
          - git clone https://github.com/mcwumbly/discourse-slackdoor
          - git clone https://github.com/davidtaylorhq/discourse-media-recorder-theme

          - git clone https://github.com/angusmcleod/discourse-layouts

          - git clone https://github.com/chrisbeach/discourse-camera-icon

1 me gusta

Primero, muchos de esos son temas y no deberían instalarse mediante el archivo app.yml.

Segundo, no deberías instalar ningún plugin en Discourse de forma predeterminada. Todo lo necesario para tener un foro de discusión viene incluido en el software principal. Los plugins solo deben agregarse tras una cuidadosa consideración, si la mayor complejidad justifica las nuevas funcionalidades añadidas.

9 Me gusta

Claro. Simplemente vuelve a compilar y prueba que todos funcionen.

Es casi seguro que, si estás haciendo esa pregunta, no existe realmente una respuesta que pueda proporcionarse y que tenga sentido para ti.

Quieres instalar complementos cuando resuelven un problema, no instalar todo y luego intentar arreglarlos.

En algunos sitios instalo automáticamente conjuntos de complementos que se incluyen en los planes estándar o empresariales de cdck. Para muchas personas, incluso eso no siempre es una buena idea.

Casi con total seguridad no quieres ninguno de los dos complementos que ofrezco. Son útiles para una comunidad muy específica con necesidades extrañas.

2 Me gusta

Ya lo entendí.

Segundo, solo quiero saber qué hacen en caso de que algo suceda. Sé que existe una solución similar.

Entonces necesitas revisar el tema que los describe, el archivo Readme del plugin o el código en sí. No tiene sentido preguntar “¿qué hacen estos 50 plugins?”.

Te has equivocado conmigo.
Lo primero es lo que dijiste sobre leer la documentación.
Lo segundo debería ser instalar y ver cómo es realmente.
Eso es lo que quiero hacer.
Un foro sencillo donde puedas ver la vista previa de todos los plugins o temas disponibles activándolos o desactivándolos. Por ahora, hay muchas vistas previas, pero no de todos, y al mismo tiempo no sabemos si alguno de los temas se ajusta.

Hay muchos plugins que utilizan la misma ruta y pueden causar conflictos. El mejor enfoque para instalar un plugin es hacerlo solo si y cuando sientas que tu comunidad necesita una solución que Discourse no incluye en su núcleo. He desplegado alrededor de dos docenas de comunidades para mis clientes y solo media docena ha optado realmente por algunos plugins, ya que sus casos de uso requieren algo más de lo que ya viene incluido en Discourse. La mayoría de las comunidades solo necesitan mejoras visuales, lo cual casi siempre se puede lograr mediante el uso de temas.

1 me gusta

Sí, tengo muchos conflictos y no estoy muy familiarizado con Ruby, además de que me cuesta bastante leer código. Me pregunto si ya existe una compatibilidad probada entre plugins y temas, de modo que cuando tengas un requisito puedas elegir entre opciones. Esto ahorraría mucho tiempo a los participantes de la comunidad de Discourse.

La opción más segura cuando buscas la mayor compatibilidad actualizada es utilizar los complementos oficiales, ya que suelen ser los que una base de usuarios relativamente amplia ha probado para que funcionen con Discourse, y es muy probable que reciban correcciones rápidas en caso de que algo falle.

Sí, conozco este principio, pero a veces impide el crecimiento de nuestra comunidad.

Este no es un plugin lanzado ni tiene soporte. Se trata simplemente de un repositorio en desarrollo que espera cambios por parte de Apple. Todavía está en mi lista para retomarlo cuando las condiciones lo permitan.
Si lo hubiera lanzado, habría un tema dedicado sobre cómo usarlo.

Los plugins de terceros que funcionan suelen tener su propio tema en la categoría #plugin, donde se describe cómo utilizarlos. Si falta este tema, debería ser muy cauteloso.

Como mencionó Falco, debes comenzar con el software base y solo agregar un plugin cuando añada funciones que realmente necesites, y únicamente si su historial indica que está bien respaldado, ya que cada actualización corre el riesgo de que tu sitio deje de funcionar correctamente.

Por lo tanto, no te recomendaría instalar un plugin si:

  • no tiene un tema dedicado en #plugin que indique explícitamente que ha sido lanzado
  • su tema ha sido movido a #plugin:broken-plugin
  • no muestra commits recientes (que probablemente reflejen actualizaciones para mantener la compatibilidad con Discourse o soporte activo para corregir errores)
  • no entiendes qué hace funcionalmente.
3 Me gusta

La expectativa de que agregar más plugins creará de alguna manera una comunidad exitosa es, lamentablemente, un error muy común.

4 Me gusta

Solo una idea. ¿Sería posible ejecutar solo las pruebas?

spitball: una forma de instalar las pruebas desde el repositorio sin instalar ni ejecutar el plugin?

1 me gusta

Los temas de instalación de desarrollo howto describen cómo ejecutar las pruebas y creo que esas pruebas se ejecutarán contra todos los complementos instalados. Muchos complementos no tienen pruebas o podrían estar escritos de manera que causarían fallos en las pruebas si están diseñados para cambiar la forma en que funciona Discourse.

Además, hay (Superseded) Set up plugin continuous integration tests on Travis CI que te permitirá ejecutar pruebas para un complemento determinado en cada confirmación.

Me interesaría saber cómo hacer que Travis ejecute una prueba completa contra un conjunto específico de complementos para confirmar que no hay conflictos. Algún día me pondré a crear un tema sobre eso.

Es seguro que las pruebas de todos los complementos mencionados anteriormente fallarán y saber que fallan no será útil para nadie.

2 Me gusta

Sí, la logística es abrumadora. ¿Qué es una permutación, algo así como 2n, donde n es el número de valores individuales?

De todos modos, incluso como un recurso “con antelación”, solo con 30 complementos hay más de mil millones de combinaciones posibles. Y esto para cualquier “instantánea” dada en el tiempo, con cada cambio de versión acercándose a lo irrelevante.

Si se trata de un servicio “bajo demanda”, no puedo pensar en una buena interfaz de usuario para presentar todas las posibilidades, e incluso limitar severamente la interfaz de usuario introduciría un riesgo de seguridad si no se controla qué repositorios están instalados.

No digo que sea imposible o inviable. No sé qué modelo de ingresos y gastos podría funcionar.

2 Me gusta