Plugin de Entradas 🎟

El filtrado de etiquetas parece estar causándome un problema. Estoy en bb019aab5d si es que importa. El stacktrace está abajo.

NoMethodError (método id' no definido para #<Array:0x00007f2c08ca79f8>) app/controllers/tags_controller.rb:249:in search’
app/controllers/application_controller.rb:404:in block in with_resolved_locale' app/controllers/application_controller.rb:404:in with_resolved_locale’
lib/middleware/omniauth_bypass_middleware.rb:71:in call' lib/content_security_policy/middleware.rb:12:in call’
lib/middleware/anonymous_cache.rb:368:in call' config/initializers/100-quiet_logger.rb:23:in call’
config/initializers/100-silence_logger.rb:31:in call' lib/middleware/enforce_hostname.rb:23:in call’
lib/middleware/request_tracker.rb:202:in `call’

Backtrace

plugins/discourse-tickets/plugin.rb:47:in block in filter_allowed_tags' plugins/discourse-tickets/plugin.rb:47:in select’
plugins/discourse-tickets/plugin.rb:47:in filter_allowed_tags' app/controllers/tags_controller.rb:249:in search’
actionpack (6.1.4.7) lib/action_controller/metal/basic_implicit_render.rb:6:in send_action' actionpack (6.1.4.7) lib/abstract_controller/base.rb:228:in process_action’
actionpack (6.1.4.7) lib/action_controller/metal/rendering.rb:30:in process_action' actionpack (6.1.4.7) lib/abstract_controller/callbacks.rb:42:in block in process_action’
activesupport (6.1.4.7) lib/active_support/callbacks.rb:117:in block in run_callbacks' app/controllers/application_controller.rb:404:in block in with_resolved_locale’

Env

HTTP HOSTS: forums.librehealth.io

Se ha informado de un problema con el plugin Tickets y, lamentablemente, actualmente está marcado como #plugin:broken-plugin. Si elimina el plugin de su app.yml y lo reconstruye, debería permitir que el resto del sitio utilice las etiquetas de forma normal.

(He movido estas publicaciones al tema de Tickets para que puedan seguir mejor el problema :+1:)

2 Me gusta

@JammyDodger Lo pasé por completo. ¡Gracias!

2 Me gusta

Es decepcionante ver que esto ha caído en el olvido; sin duda se invirtió mucho trabajo en ello y tenía mucho potencial. Espero que se reactive en algún momento…

2 Me gusta

En el tema donde se discutió la mudanza a #plugin:broken-plugin

2 Me gusta

También he identificado un problema con el plugin TIckets, que causa un “Error interno del servidor” al intentar añadir una etiqueta a cualquier MP. He deshabilitado el plugin y todo ha vuelto a la normalidad.

Registro de errores:

plugins/discourse-tickets/plugin.rb:47:in `block in filter_allowed_tags'

plugins/discourse-tickets/plugin.rb:47:in `select'

plugins/discourse-tickets/plugin.rb:47:in `filter_allowed_tags'

app/controllers/tags_controller.rb:249:in `search'

actionpack (7.0.2.4) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack (7.0.2.4) lib/abstract_controller/base.rb:214:in `process_action'

actionpack (7.0.2.4) lib/action_controller/metal/rendering.rb:53:in `process_action'

actionpack (7.0.2.4) lib/abstract_controller/callbacks.rb:234:in `block in process_action'

activesupport (7.0.2.4) lib/active_support/callbacks.rb:118:in `block in run_callbacks'

app/controllers/application_controller.rb:404:in `block in with_resolved_locale'

i18n (1.10.0) lib/i18n.rb:328:in `with_locale'

app/controllers/application_controller.rb:404:in `with_resolved_locale'

activesupport (7.0.2.4) lib/active_support/callbacks.rb:127:in `block in run_callbacks'
2 Me gusta

@robbyoconnor @Nick_Chomey @jerry0 Acabo de enviar una corrección para el problema que tenía este plugin

Si alguno de ustedes pudiera actualizar y responder para confirmar la corrección, moveré este plugin de nuevo a Plugin.

4 Me gusta

Lo probaré pronto y te informaré.

2 Me gusta

@angus

¡MUCHAS gracias por tu trabajo en esto! ¡Espero de verdad que se pueda pulir pronto!

He realizado algunas pruebas básicas y todavía presenta la mayoría de los problemas que reporté aquí.

Ya no recibo el mensaje de error emergente que dice “Lo sentimos, ha ocurrido un error”, pero al hacer clic en el botón Asignar en el módulo Tickets (a la derecha de las etiquetas) no hace nada y produce los mismos errores de consola que se mostraron anteriormente en la grabación de pantalla.

Puedo asignar un tema con el botón Asignar debajo del tema, pero Tickets y Asignar todavía no parecen comunicarse entre sí. La columna Asignado en el Panel de Tickets no se rellena.

Además, espero que mientras estés revisando esto, puedas prestar un poco de atención a la solicitud que han hecho varias personas: permitir que grupos más allá de “Personal” puedan usar Tickets. He investigado un poco en el código y he notado algunos lugares donde dice cosas como currentUser.staff, is_staff, etc… Así que supongo que no sería muy difícil

  1. relajar/eliminar esa estipulación,
  2. agregar otro grupo de usuarios (por ejemplo, Equipo de Tickets) que podríamos crear y definir nosotros mismos, o
  3. agregar algún tipo de mecanismo de personalización en la configuración de Tickets que nos permita definir qué grupos tienen acceso a Tickets.

Obviamente, 3 > 2 > 1, ¡pero lo que sea que te inclines será muy apreciado! También creo que haría que Tickets fuera más atractivo en general, lo que haría que tu arduo trabajo anterior valiera más la pena.

¡Gracias de nuevo!

1 me gusta

Hola @angus, sí, eso ha solucionado el problema de las etiquetas.

Sin embargo, sigo considerando que este plugin está roto, ya que ninguna de las interacciones con el plugin Assigned funciona ya, y tanto @Nick_Chomey como yo hemos estado informando de esto (y contactando a Pavilion por separado durante meses sin ninguna respuesta útil). Simplemente no muestra a quién se asigna una entrada, lo cual es un problema bastante importante.

Gracias, espero que esto se pueda solucionar todavía.

1 me gusta

@Nick_Chomey @jerry0 He actualizado este plugin para admitir los cambios en el plugin assign.

¡Lamento si nos hemos perdido sus mensajes! ¿Cómo intentó contactarnos? ¿Presentó un informe de error (no veo ninguno para el plugin de tickets)? ¿Me envió un mensaje en algún lugar? ¿O se refiere a sus publicaciones anteriores en este tema?

Dado que el problema de las etiquetas se confirma como solucionado y he abordado la integración de assign, volveré a colocar esto en Plugin.

6 Me gusta

Hola Angus, aprecio mucho que estés trabajando en esto. ¡¡Eso es fantástico!! (y en respuesta a tu pregunta, le envié un mensaje privado a @ellibereth un par de veces como sugeriste en tu publicación anterior). ¡Disculpa, no presenté un informe de error, pero lo tendré en cuenta para el futuro!

3 Me gusta

@angus Gracias por el trabajo adicional en esto. Recibo este error cuando voy a site.com/admin/tickets

Desaparece si marco Redirigir las rutas asignadas al usuario al panel de tickets.

Además, creo que @jerry0 se refería a nuestras diversas respuestas etiquetadas aquí durante los últimos 6 meses… Creo que pensamos que eran suficientes, dado que tú y tu equipo habían reconocido los problemas en algunas ocasiones…

Si tan solo hubiera un mecanismo de Tickets aquí al que los miembros no personal tuvieran acceso, entonces sería fácil para un grupo de personas no relacionadas rastrear y administrar tareas comunes… :wink:

Es algo que se necesita desesperadamente en una comunidad descentralizada, como las que a menudo se ejecutan en Discourse. No tiene sentido usar una herramienta de gestión de proyectos separada (fricción externa, costos y excesivo), no todos los problemas justifican ser creados/rastreados en Github (fricción externa, problemas/tareas no relacionados con el código, etc…), y, obviamente, tal tarea necesita más que solo una categoría de temas (de ahí la existencia de este plugin).

Ya es posible usar el Plugin de Asignación para asignar temas a miembros no personal (como los de un grupo en particular): parece natural (y sospecho que no es terriblemente difícil) extender dicha funcionalidad/acceso al plugin de Tickets. Lo haría yo mismo, pero realmente no sé cómo funciona el desarrollo de Discourse… Me llevaría días averiguarlo.

Así que, realmente espero que puedas echar un vistazo rápido a la modificación de Tickets de una de las maneras sugeridas en mi publicación anterior. Un pensamiento final al respecto: dado que el personal no tiene acceso a site.com/admin, quizás el panel de tickets pueda/deba trasladarse al Panel de Usuario, donde se encuentra el Panel Asignado, por ejemplo, site.com/u/[username]/activity/tickets

1 me gusta

Entonces, solo para confirmar, ¿todo (incluida la integración de asignación) funciona como se esperaba si tickets redirect assigned está habilitado? Miraré el problema en sí mañana.

Sí, podemos considerar agregar esto, pero el plugin necesita pruebas unitarias antes de hacerlo, por lo que no sucederá en al menos unos meses. Lo más importante a abordar en este plugin es fortalecer la funcionalidad existente para que sea más fácil abordar problemas de compatibilidad (como el problema reciente de las etiquetas) cuando surjan.

La razón principal por la que este plugin no ha recibido más atención es porque simplemente no tenemos suficiente tiempo. Pero hay una manera en que puedes ayudarnos a resolver eso. Encuentra un desarrollador que tenga algo de experiencia en Ruby on Rails y JavaScript, o que esté dispuesto a aprender, ponte en contacto conmigo y lo guiaré como mantenedor de este plugin. Siempre estoy dispuesto a enseñar a un hombre (o mujer) a pescar, como dice el dicho.

¿Eres desarrollador? Estaré encantado de ayudarte a empezar con el desarrollo de Discourse para que puedas hacerte cargo del plugin. Empieza aquí y una vez que termines te asignaré algunas tareas para principiantes relacionadas con el Plugin de Tickets.

5 Me gusta

¡Muchas gracias por tu reflexiva respuesta!

Entiendo perfectamente, ahora que explicas los problemas subyacentes con el plugin que deben abordarse antes de seguir adelante.

Soy un “desarrollador” bastante novato, centrado principalmente en WordPress (php, mysql, un poco de js), por lo que hace unos meses me habría encantado recibir mentoría sobre cómo integrar esta funcionalidad en el plugin. Pero desafortunadamente, ahora mismo no tengo tiempo libre. Mi interés en Discourse es solo para los nuevos foros que creé/migré para el panel de control web de código abierto CyberPanel.

El desarrollador no tiene tiempo ni habilidad/inclinación para la gestión de la comunidad, por lo que en gran medida se las arregla solo. Las cosas han mejorado mucho desde que intervine hace 6 meses y trasladé todo -soporte, documentación, etc…- a Discourse. La pieza final del rompecabezas es tener algún tipo de sistema de gestión de tickets para permitir mejor a la comunidad y al desarrollador rastrear lo que necesita hacerse.

Si alguien tiene curiosidad, puede verlo aquí: https://community.cyberpanel.net/

De todos modos, ¡espero sinceramente que alguien más acepte tu generosa oferta de mentoría!

2 Me gusta

Dado que CyberPanel es un negocio que genera ingresos, ¿podría financiar el trabajo? Estoy seguro de que Pavilion estaría encantado con su negocio.

2 Me gusta

Estoy buscando una forma de recibir comentarios/sugerencias de los miembros de mi comunidad que todo el personal pueda ver, pero que esté oculto a otros miembros que no sean del personal. Esto parece que podría funcionar como solución, pero no tengo muy claro cómo funciona en la práctica. ¿La idea es que un usuario cree un MP y lo etiquete como ticket?

También estoy abierto a cualquier sugerencia sobre otros plugins que funcionen para este propósito.

¿Cómo creo nuevos tickets? Agradecería algunas guías…

1 me gusta

En “Tickets”, al hacer clic en el encabezado de la columna llamado “Prioridad”, esperarías que la lista se devuelva ordenada por esa columna. No se ordena. No tiene ningún efecto.

Añade esto a la URL:

&order=priority

Pero la lista sigue en orden aleatorio.

Hola y bienvenido @eddie_patently.com :slight_smile:

He trasladado tu publicación al tema Tickets Plugin 🎟 para que los mantenedores de ese plugin estén al tanto de tu problema. :+1:

2 Me gusta