Tickets Plugin 🎟

タグのフィルタリングで問題が発生しているようです。もし関係があれば、私は bb019aab5d にいます。スタックトレースを以下に示します。

NoMethodError (undefined method id' for #<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

Tickets プラグインで問題が報告されており、残念ながら現在 #plugin:broken-plugin としてマークされています。app.yml からプラグインを削除して再構築すると、サイトの他の部分でタグを通常どおり使用できるようになります。

(これらの投稿は Tickets トピックに移動しました。これにより、問題をより適切に追跡できます :+1:

「いいね!」 2

@JammyDodger 全く気づきませんでした。ありがとうございます!

「いいね!」 2

これは廃止されてしまい残念です。多くの労力が費やされ、大きな可能性を秘めていたはずです。いつか復活することを願っています…

「いいね!」 2

#plugin:broken-plugin への移動について議論されたトピックで

「いいね!」 2

また、TIckets プラグインで問題が発生し、PM にタグを追加しようとすると「内部サーバーエラー」が発生しました。プラグインを無効にしたところ、正常に戻りました。

エラーログ:

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

@robbyoconnor @Nick_Chomey @jerry0 このプラグインにあった問題の修正をプッシュしました

どなたかアップデートして修正を確認していただければ、このプラグインを Plugin に戻します。

「いいね!」 4

すぐにテストして報告します。

「いいね!」 2

@angus

この件に関するご尽力、誠にありがとうございます!早く完成することを願っています!

簡単なテストを行ったところ、こちらで報告したほとんどの問題がまだ発生しています。

「申し訳ありません、エラーが発生しました」というポップアップエラーメッセージは表示されなくなりましたが、チケットモジュールの「割り当て」ボタン(タグの右側)をクリックしても何も起こらず、以前のスクリーン録画で示されたのと同じコンソールエラーが発生します。

トピックの下にある「割り当て」ボタンでトピックを割り当てることはできますが、チケットと割り当てはまだ連携していないようです。「チケットダッシュボード」の「割り当て済み」列に情報が表示されません。

また、この件を調査されている間に、多くの方が要望されている「スタッフ」以外のグループもチケットを使用できるようにする、というリクエストにもご対応いただけると幸いです。コードを少し確認したところ、currentUser.staffis_staff のような記述がいくつか見られました。そのため、以下のいずれかの方法で比較的簡単に対応できるのではないかと推測しています。

  1. その制限を緩和/削除する
  2. 新しいユーザーグループ(例:TicketsTeam)を作成し、自分で定義できるようにする
  3. チケットの設定に、どのグループがチケットにアクセスできるかを定義できるカスタマイズメカニズムを追加する

もちろん、3 > 2 > 1 の順で望ましいですが、どのような方法でも大変感謝いたします!チケットの利用対象が広がることで、これまでのご尽力もより価値のあるものになると思います。

重ねて御礼申し上げます!

「いいね!」 1

@angus 様 - はい、タグの問題はこれで修正されました。

しかし、このプラグインはまだ動作しないと考えています。Assigned プラグインとの連携が一切機能しなくなっており、@Nick_Chomey と私は数ヶ月にわたってこれを報告し、Pavilion に個別に連絡しましたが、有用な回答は得られていません。チケットが誰に割り当てられているかが表示されないため、これはかなり重大な問題です。

ありがとうございます。この問題がまだ修正されることを願っています。

「いいね!」 1

@Nick_Chomey @jerry0 このプラグインを assign プラグインの変更に対応するように更新しました。

メッセージを見落としていたらすみません!どのように連絡を試みましたか?バグレポートを提出しましたか(チケットプラグインのバグレポートは見当たりませんが)?どこかで私にメッセージを送りましたか?それとも、このトピックの以前の投稿のことですか?

タグの問題が修正されたことが確認され、assign の統合にも対応したので、これを Plugin に戻します。

「いいね!」 6

Angusさん、ご対応いただきありがとうございます。素晴らしいですね!(ご質問への回答ですが、上記のあなたの投稿で提案された通り、@elliberethさんに何度かPMを送りました)。バグレポートを提出しなかったことをお詫びしますが、将来のために覚えておきます!

「いいね!」 3

@angus further work on this. I get this error when I go to site.com/admin/tickets

It goes away if I check Redirect user assigned routes to ticket dashboard.

Also, I think @jerry0 was referring to our various tagged replies here over the past 6 months… I think we thought those were sufficient, given that you and your team had acknowledged the problems on a few occasions…

If only there were a Tickets mechanism here that non-staff members had access to, then it would be easy for a group of unrelated people to track and manage communal tasks … :wink:

It is something that is desperately needed in a decentralized community, such as those often run on Discourse. It doesn’t make sense to use a separate project management tool (off-site friction, costs and overkill), not all issues warrant being made/tracked on Github (off-site friction, non-code-related issues/tasks, etc…), and, obviously, such a task needs more than just a category of topics (hence the existence of this plugin).

It is already possible to use the Assign Plugin to assign topics to non-staff members (such as those within a particular group) - it seems only natural (and, I suspect, not terribly difficult) to extend such functionality/access to the Tickets plugin. I’d do it myself, but I don’t really know how Discourse development works… It would take me days to figure out.

So, I really hope you can take a quick look into modifying Tickets in one of the ways suggested in my previous post. A final thought on it - given that non-staff don’t have access to site.com/admin perhaps the tickets dashboard can/should be moved to the User Dashboard, where the Assigned Dashboard is e.g. site.com/u/[username]/activity/tickets@angus これに関する追加作業ありがとうございます。site.com/admin/tickets にアクセスすると、このエラーが発生します。

Redirect user assigned routes to ticket dashboard をチェックすると、このエラーは消えます。

また、@jerry0 は過去6ヶ月にわたる私たちの様々なタグ付けされた返信に言及していたと思います… あなたやあなたのチームが数回問題に言及してくれたことを考えると、それらは十分だと思っていました…

もし、スタッフ以外のメンバーがアクセスできるチケットメカニズムがあれば、無関係なグループが共同タスクを追跡・管理するのは簡単でしょう… :wink:

これは、Discourse でよく運営されるような分散型コミュニティに絶対に必要なものです。別のプロジェクト管理ツール(サイト外の摩擦、コスト、過剰機能)を使用するのは理にかなっていません。すべての問題が GitHub で作成/追跡されるべきではありません(サイト外の摩擦、コード関連以外の問題/タスクなど)。そして明らかなことですが、そのようなタスクにはトピックのカテゴリ以上のものが必要です(だからこそ、このプラグインが存在するのです)。

Assign Plugin を使用して、スタッフ以外のメンバー(特定のグループ内のメンバーなど)にトピックを割り当てることはすでに可能です。この機能/アクセスを Tickets プラグインに拡張することは、自然なこと(そして、それほど難しくないはず)だと思います。自分でやりたいのですが、Discourse の開発がどのように機能するのかよくわかりません… 理解するのに数日かかります。

ですから、私の以前の投稿で提案された方法のいずれかで Tickets を修正するために、すぐに確認していただけると本当に嬉しいです。それに関する最後の考えですが、スタッフ以外のメンバーは site.com/admin にアクセスできないことを考えると、チケットダッシュボードはユーザーダッシュボードに移動できる/すべきかもしれません。そこには、例えば site.com/u/[username]/activity/tickets のように、割り当て済みダッシュボードがあります。

「いいね!」 1

確認ですが、「tickets redirect assigned」が有効な場合、すべて(担当者連携を含む)が期待どおりに機能しているということでしょうか? 問題自体は明日確認します。

はい、これらを追加することは検討できますが、プラグインにはそれを行う前に単体テストが必要です。そのため、少なくとも数ヶ月はかかるでしょう。このプラグインで最も重要なのは、既存の機能を強化して、互換性の問題(最近のタグの問題など)が発生した場合に対応しやすくすることです。

このプラグインがあまり注目されてこなかった主な理由は、単純に時間が足りないことです。しかし、その状況を改善する方法があります。Ruby on RailsとJavaScriptの経験がある、または学習意欲のある開発者を見つけて、私に連絡してください。このプラグインのメンテナーとして指導します。ことわざにあるように、私はいつでも人に魚の釣り方を教える準備ができています。

あなたは開発者ですか? Discourse開発を始めるお手伝いができれば、プラグインを引き継ぐことができます。まずはここから始めて、完了したらチケットプラグインに関する初心者向けのタスクを設定します。

「いいね!」 5

ご丁寧な返信ありがとうございます!

プラグインの根本的な問題と、前進する前にそれらを解決する必要があることをご説明いただき、完全に理解しました。

私はWordPress(php、mysql、少量のjs)を中心に開発を行っている、かなり初心者の「開発者」です。数ヶ月前であれば、この機能をプラグインに統合する方法について指導を受けられたら、とても嬉しかったでしょう。しかし残念ながら、今は本当に余裕がありません。Discourseへの関心は、オープンソースのCyberPanelウェブコントロールパネルのために新しく作成/移行したフォーラムのためだけです。

開発者はコミュニティ管理の時間もスキル/意欲もないため、ほとんど一人でやっています。6ヶ月前に私が介入し、サポート、ドキュメントなどをすべてDiscourseに移行して以来、状況は大幅に改善しました。最後のピースは、コミュニティと開発者が何をすべきかをより良く追跡できるようにするための、何らかのチケット管理システムです。

興味のある方は、こちらで確認できます:https://community.cyberpanel.net/

とにかく、誰かがあなたの寛大な指導の申し出を受けてくれることを心から願っています!

「いいね!」 2

CyberPanelは収益を生み出すビジネスであるため、その活動資金を賄えるのではないでしょうか? パビリオンはそのビジネスを喜んで受け入れるでしょう。

「いいね!」 2

コミュニティメンバーから、スタッフ全員が閲覧できるが、スタッフ以外のメンバーには非表示になるフィードバック/提案を受け取る方法を探しています。これは解決策として機能するかもしれませんが、実際にはどのように機能するのか少し曖昧です。ユーザーがチケットとしてタグ付けされたPMを作成するという考えですか?

この目的のために機能する他のプラグインの提案も歓迎します。

新しいチケットを作成するにはどうすればよいですか? ガイドをいくつか教えていただけると幸いです…

「いいね!」 1

「チケット」で「優先度」という列ヘッダーをクリックすると、その列で並べ替えられたリストが返されると期待するはずです。しかし、並べ替えは行われません。まったく効果がありません。

URLに以下が追加されます。

&order=priority

しかし、リストは依然としてランダムな順序のままです。

こんにちは、@eddie_patently.com さん、ようこそ:slight_smile:

この投稿を Tickets Plugin 🎟 のトピックに移動しましたので、このプラグインのメンテナーがお客様の問題を認識するようになります。:+1:

「いいね!」 2