Inicio de Categoría de Discurso 🏠

Resumen:

Asigne a cada usuario una página de inicio específica (“Categoría de inicio”) en su comunidad.

Permite tener un único Discourse en el que los usuarios tengan “páginas de inicio” específicas (es decir, Categorías) según su Grupo Principal.

:link: GitHub: Repositorio https://github.com/merefield/discourse-category-home
:arrow_right: Instalar: Siga la guía de instalación de plugins.

¿Disfruta de este plugin? ¡Por favor, dale :star: en GitHub ! :pray:

Características

Utilizando solo los elementos de interfaz disponibles de un Discourse normal, esto lo convierte en una solución robusta y fácil de mantener.

Configuración

Usando la funcionalidad normal de Discourse:

¡Está HECHO! :tada:

Ahora, cada vez que alguien navegue a la página de inicio de su comunidad, será redirigido a la Categoría para la cual su Grupo Principal tiene permisos.

NB: Esto sigue una regla simple que debe cumplir: Si alguien tiene un Grupo Principal registrado y este tiene permisos para una sola Categoría, se redirigirá a esa Categoría como su inicio.

Usar un Grupo Principal de esta manera tiene una serie de ventajas, como habrá notado en el enlace anterior, entre ellas:

  • Puede darle a alguien un Título
  • Puede darle un Estilo
  • Puede estilizar sus Publicaciones

Otras consideraciones

Haga que sus páginas de inicio de Categoría sean más impactantes al estilarlas de forma distintiva, por ejemplo: Category Banners

Verificación de permisos de Categoría/Grupo Principal distintos

Para verificar que su Grupo Principal solo está asociado con una sola Categoría, puede usar esta útil función integrada de Discourse, por ejemplo:

Solo hay una Categoría en la lista, ¡bien! :+1:

La parte técnica

La lógica exacta empleada es esta:

   return CategoryGroup.where(group_id: primary_group).first.category_id

Si bien podría ser posible “arreglarlo”, probablemente no sea aconsejable si usa ese Grupo Principal en más de una Categoría si espera que esto funcione, así que tenga eso en cuenta y siga mi recomendación.

Proporcionar más flexibilidad

Estoy abierto a sugerencias sobre cómo configurar este comportamiento, pero me gustaría limitar la cantidad de configuraciones personalizadas y usar la mayor cantidad posible de comportamiento y datos listos para usar. Si tiene una solución simple y elegante en mente, hágamelo saber.

¿No puede instalar plugins/La cosa del Grupo Principal no funciona para usted?

Si no puede instalar Plugins (porque está en un plan de alojamiento restrictivo), o si la configuración del Grupo Principal no le funciona, considere esta alternativa de Componente de Tema: Custom Homepage for Groups que requiere una configuración más personalizada, pero es menos invasiva.

24 Me gusta

Recibo un mensaje de error al intentar reconstruir después de agregar esto a mi archivo app.yml

Pups::ExecError: cd /var/www/discourse/plugins & git clone GitHub - merefield/discourse-category-home: Alters the user's homepage to become the Category of their Primary Group falló con retorno #<Process::Status: pid 391 exit 128>
Ubicación del fallo: /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn’

¿Sigue funcionando para otros?

Parece que se está compilando bien. Comprueba la sintaxis de tu clonación de app.yml.

He implementado una corrección para una cadena de localización que faltaba :slight_smile: (pero eso no habrá causado tu problema).

1 me gusta

Sí, funciona muy bien ahora, gracias por el excelente plugin. Discourse Doctor lo arregló, debe haber sido un problema en la compilación la última vez que reconstruí la aplicación.

1 me gusta