Plugin de Eventos 📅

Hoy actualicé a la última versión. Ahora funciona. Gracias

2 Me gusta

Eso es bueno saberlo. Sin duda, estabas enfrentando este problema.

2 Me gusta

Hola a todos,

Llevo aproximadamente un mes experimentando un error que no consigo replicar y que tampoco sé cómo solucionar.
En una de las instancias que gestiono, la página del Calendario está ordenada por fecha de actividad en lugar de por fecha del evento.
Estoy utilizando estos otros plugins (pero no creo que estén involucrados de ninguna manera, ya que los uso en las mismas instancias):

Plugins

discourse-checklist 0.4.1 O
discourse-custom-wizard 0.1 O
discourse-data-explorer 0.2 O
discourse-events 0.1 O
discourse-footnote 0.1 O
discourse-locations 0.1 O
discourse-math 0.9 N
discourse-quick-messages 0.1 N
discourse-sidebar-categories 0.1 O
discourse-solved 0.1 O
discourse-whos-online 1.0 O
docker_manager 0.1 O

¿Alguno de ustedes tiene alguna pista sobre un problema de configuración, algo que pueda haber hecho que lo haya roto, o algún lugar donde deba revisar para diagnosticar el problema?

Puedo proporcionar más detalles o acceso a la instancia vía MP.

Gracias de antemano

2 Me gusta

Gracias por el informe.
Por favor, haz clic en el enlace “Reportar un error” en el primer mensaje de este tema y completa el formulario con los detalles correspondientes. De esta manera, nos será más fácil programar un momento adecuado para investigar el problema.

3 Me gusta

Hola a todos,

Al lado del nombre del tema, hay un icono de calendario y la fecha del evento que se muestran en las páginas /latest, /top, /unread o /agenda. No se muestran en la página <Category + Latest>, ni en dispositivos móviles.

¿Existe alguna configuración para agregarlos allí? (No he podido encontrarla)
Si no, ¿alguien puede ver un truco sucio que pueda usar para lograrlo, por ejemplo, copiando y pegando algo en el código del plugin de /latest para habilitarlo en /categories? (aunque eso pueda resultar desordenado, encontraré una manera con CSS para que no sea tan horrible)

Gracias de antemano

2 Me gusta

Sí. Esto se ha reportado en nuestra instancia. Programaremos una solución pronto.

3 Me gusta
      if (this._state === 'destroying') return;

¿Podrías decirme cuál es el propósito de esta línea de código en el observador de Ember? ¿Se relaciona con el ciclo de vida de los componentes de Ember: https://guides.emberjs.com/release/components/the-component-lifecycle/?

2 Me gusta

Sí. De hecho, puedes imprimirlo en la consola y ver su valor durante los diferentes eventos del ciclo de vida.

1 me gusta

Ok, ¿cuál es el propósito de simplemente devolver cuando el estado es ‘destroying’? ¿Qué pasaría si omitimos esta línea?

1 me gusta

Para evitar que se ejecuten las dos siguientes sentencias, ya que se volverían innecesarias :slight_smile:

1 me gusta

¿Entonces es para rendimiento?

2 Me gusta

Vale la pena hacerlo incluso si no hay ninguna mejora en el rendimiento. ¿Por qué querrías ejecutar una serie de instrucciones que no tienen utilidad en un caso concreto?

Ahora que lo he pensado y he hecho algunas investigaciones, hay un término adecuado para esto: se llama patrón de retorno temprano para funciones.

1 me gusta

Hice más investigación. Puse un punto de interrupción en la línea y luego ejecuté las sentencias. No solo es innecesario ejecutarlas, sino que en realidad provoca un error.

2 Me gusta

Dije innecesarias, pero sí, también lanzaría un error. Si estás interesado, puedes echar un vistazo a ember-concurrency, que ofrece una solución lista para usar para abordar este tipo de situaciones. Sin embargo, aún no está incluido en el núcleo de Discourse.

Así que si se usara, este caso estaría resuelto por la propia biblioteca.

1 me gusta

Acabo de ver esta charla mientras aprendía sobre observadores frente a propiedades calculadas:

¿Podrías explicar por qué se usó un observador en este caso, en lugar de una propiedad calculada?
Estoy tratando de entender las compensaciones y los diferentes casos de uso.

1 me gusta

¿Se puede hacer que funcione en las páginas de etiquetas?

1 me gusta

¿Qué funcionalidad estás buscando en las páginas de etiquetas/etiquetas? El plugin de eventos afecta principalmente a los temas, pero las categorías también pueden tener un calendario y una vista de agenda de los temas de eventos dentro de la categoría. ¿Estás sugiriendo proporcionar una vista de agenda de los temas de eventos etiquetados? Eso podría ser interesante de ver, por ejemplo, para mostrar todos los eventos etiquetados por un país. ¡Eso sería genial! Pero, hasta donde sé, no está en la hoja de ruta por ahora. Podrías solicitar la función en https://thepavilion.io/.

3 Me gusta

Gracias por tu respuesta, @tobiaseigen. Estamos promoviendo mucho el uso de etiquetas para la navegación de los usuarios, ya que son increíblemente flexibles. El problema principal es que la mayoría de los plugins y componentes de temas no funcionan con ellas. Así que sí, buscamos crear esa flexibilidad adicional. Cualquier etiqueta que los usuarios asignen a las publicaciones tendría un calendario adjunto que podrían usar si visitan la página de la etiqueta.

Puedes ver un ejemplo con el plugin Kanban, donde uno de nuestros desarrolladores voluntarios del Public Happiness Movement logró adaptarlo para las páginas de etiquetas: https://github.com/artysidorenko/discourse-kanban-theme

Soy un desarrollador bastante básico, pero me pregunto si el código que usó @artysidorenko podría modificarse para que también funcione con este plugin. Honestamente, hay tantos plugins y componentes de temas que se beneficiarían de funcionar también con las páginas de etiquetas, que me pregunto si el equipo principal querría empaquetar una solución estándar.

3 Me gusta

puedes habilitar el plugin no solo por categoría, sino también a nivel de sistema. Quizás eso sea suficiente para tu caso de uso.

1 me gusta

Gracias por tu respuesta. Al usar etiquetas para la navegación, los usuarios no estarían en una categoría para poder ver un calendario o un enlace, y un calendario general para todo el sitio no es suficiente para múltiples equipos.

1 me gusta