Paul_King
(Paul King)
1
おそらく、最近の Discourse アップデート(現在は 2.5.0.beta2)が影響していると思われます。
以前は設定され正常に動作していた マルチセレクトドロップダウンフィールド があり、サインアップ後などに編集可能に設定されていました。
しかし、既存ユーザーの場合、ユーザープロフィールページではこのフィールドの内容が表示されるものの、ユーザー設定ページでは他の編集可能なカスタムユーザーフィールドと一緒にリストされなくなっています。
つまり、ユーザーまたは管理者が変更する方法がなくなったということです。
また、新規ユーザーのサインアップにおいては、マルチセレクトフィールドは表示されるものの、ドロップダウンオプションが一切表示されません(細長い空白の青い長方形が表示されるだけ)— これが必須フィールドに設定されているため、サインアップが完了しません。
これは既知の問題でしょうか?Discourse のアップデートが原因であることは確認されていますか?また、互換性のある最新の Discourse バージョンは何か、そしてそれへのロールバックに現実的な方法はありますか?
GitHub に報告を投稿しましたが、このプラグインは数年前から開発活動が停止しているため、その方面から解決策が出ることは期待薄です。Discourse でユーザーフィールドにマルチセレクトドロップダウンを実現する他の(動作する)方法はありますか?
参考までに、過去数ヶ月でコアの Select Kit がバージョン 2 へ大規模なアップグレードされました。これにより、いくつかのプラグイン、特にこの種のコントロールに影響が出ました。もしこのプラグインがそれ以降メンテナンスされていない場合、実際に動作しない可能性があります。
開発者にここでメッセージを送るか、該当するメタトピックがあればそこに投稿することをお勧めします。もし彼らが返信せず、あなたにとって重要であれば、Marketplace に投稿してフリーランサーに引き継いでもらうのも一案です。
「いいね!」 3
Paul_King
(Paul King)
3
ありがとう。GitHub と似たユーザー名を持つ唯一のユーザーにメッセージを送りました。同じ人であることを願っています!
コアへのこれらの変更は、このようなプラグインに対して大規模な再作業を必要とするでしょうか?
なぜマルチセレクトがすでにコア機能の一部になっていないのか不思議です。
その通りです。変更されたのは、コントロールの構成方法と使用方法です。
Paul_King
(Paul King)
5
ロバート、ありがとう。幸いなことに、@j.jaffeux さんがすぐにプラグインの修正を引き受けてくれると表明してくれました。このコミュニティは本当に素晴らしいですね!
「いいね!」 1
それは素晴らしいですね。彼のアップグレードでしたので、彼は十分な準備ができているはずです!
j.jaffeux
(Joffrey Jaffeux)
7
これで解決するはずです:
ただし、Procourse の誰かがマージする必要がありますね 
「いいね!」 4
Sudaraka
(Sudaraka Jayathilaka)
8
@j.jaffeux 修正ありがとうございます。マージしました 
「いいね!」 5
Paul_King
(Paul King)
9
こんにちは、素晴らしい反応をいただき、二人ともありがとうございます!
プラグインと Discourse の両方を最新の更新に合わせて更新しましたが、ユーザープロフィールページからドロップダウンフィールドが省略される問題は依然として残っています。
関連する可能性のある問題として、すべてのケースで、ユーザー設定ページの左側にある「ユーザープロフィール」リンクを2 回クリックする必要があります。1 回目のクリックでは標準的なユーザーフィールドのみが表示され、2 回目のクリックでカスタムユーザーフィールドも表示されます。ただし、マルチセレクトフィールドは含まれません(残念ながら、3 回クリックしても効果はありません)。
複数のブラウザで試しましたが、いずれの場合もブラウザのキャッシュをクリアしました。
新規ユーザーのサインアップでは、ドロップダウンオプションが確認できることは確認しています。
これで問題の範囲を絞り込めますか?
Paul_King
(Paul King)
11
はい
動画では、ユーザー設定ページに表示されるマルチ選択フィールドを強調表示していますが、ご覧の通り「プロフィール」を 2 回クリックしてもそのフィールドは表示されず、まだ編集できません。
また、ユーザー設定ページで気づかれるかもしれない別の問題として、あるユーザーに対してそのフィールドに複数のオプションが適用される場合、マルチ選択項目の間にコンマが表示されない点があります。
j.jaffeux
(Joffrey Jaffeux)
12
フィールドが表示されない場合、ブラウザのコンソールに表示されているエラーをご提示ください。
カンマについては、Discourse の回帰問題ではありません。
Paul_King
(Paul King)
13
コンソールウィンドウに、‘プロフィール’ を初めてクリックした際に以下のメッセージが表示されます。
VM173:1 Uncaught SyntaxError: Unexpected token N in JSON at position 0
at JSON.parse (<anonymous>)
at t.init_values (_discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63)
at D (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381)
at p (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427)
at Function.e.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006)
at e.t.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490)
at t.n.create (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623)
at Object.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870)
at e.t.evaluate (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374)
at e.t.evaluateSyscall (_ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789)
init_values @ _discourse-multiselect-user-field-307aa8bb3934aada9a7d682455decf422704c235754739f0d5e4b19e3e909690.js:63
D @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25381
p @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:41427
e.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:42006
t.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:11490
n.create @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:18623
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60870
t.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:59374
t.evaluateSyscall @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62789
t.evaluateInner @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62735
t.evaluateOuter @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:62727
e.next @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64859
e.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:64843
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63724
t.handleException @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63904
t.throw @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63622
r.evaluate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:60213
t.execute @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63609
t.rerender @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:63936
h.render @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19079
V @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:25920
t._renderRoots @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19372
t._renderRootsTransaction @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19410
t._revalidate @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:19456
t.invoke @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66276
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66168
t.flush @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66372
t._end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66948
t.end @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66634
t._run @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:67003
t._join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66977
t.join @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:66694
f @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:53486
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45901
r @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:49817
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45897
handleEvent @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:44834
(anonymous) @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:45224
dispatch @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5251
v.handle @ _ember_jquery-3ed0ac532033dfeecf1ec0676df6716cd7076530930c656754ccf103d35b3e23.js:5058
Show 10 more frames
再度 ‘プロフィール’ をクリックしても、コンソールのエラーメッセージは変わらないようです。
必要であれば動画キャプチャを送信できますが、いかがでしょうか?
リストされたオプションの間にコンマを追加することは可能でしょうか?現在、複数のオプションが該当する場合、それらが区切り文字なしで連続して表示されるため、すべてが一つの長いオプション文字列のように読まれてしまいます。
Paul_King
(Paul King)
15
どうもありがとうございます!!本当に助かりました。
j.jaffeux
(Joffrey Jaffeux)
17
この状態になった経緯はわかりませんが、設定の値が正しくないようです。JSON でパースできない場合でも、デフォルト値にフォールバックできるように、プラグインに対してパース処理をより堅牢にする PR を作成しました。
他の「問題」については、これはこのプラグインの所有者向けの機能リクエストです。ただし、実際に実現可能かどうかは確信がありません。
「いいね!」 1
Paul_King
(Paul King)
18
ありがとうございます!
現時点では、私の Discourse インストールで更新が検出されていません。
上記を読むと、「マージ」プロセスが必要とのことですが、これは私が試してみても誰かに混乱をもたらすようなものではないでしょうか?
それまでにプラグインを手動で更新する方法はありますか?もし可能であれば、Discourse は今後の更新をまだ管理できるのでしょうか?
j.jaffeux
(Joffrey Jaffeux)
19
これは Discourse コアのの問題ではありません。プラグインの所有者に PR を送信しました。彼らがマージするまで、他にできることはありません。
「いいね!」 3
Paul_King
(Paul King)
20
成功しました!更新が反映され、すべてが正常に動作しているようです。皆様、ありがとうございます。
「いいね!」 2