PackElend
(Pack Elend)
2019 年 8 月 14 日午後 7:02
1
組織を、複数の階層レベルを持つ従来のフォーラムに戻さないように説得するのに苦労しています。そのようなフォーラムは、クリックして実行 の苦痛に終わる傾向があります。詳しくは タグについて話す時が来ました をご覧ください。
検索ボックスに何も入力しなくても、タグだけで簡単に実現可能であることを証明するための材料が必要です。
以下の質問に回答していただけると幸いです。
私たちは、https://discuss.okfn.org の「ローカルグループ」カテゴリに匹敵する規模で世界中に拡大する「ローカルノード」サポーターネットワークを持っています。そこでは、すべての場所がサブカテゴリでカバーされています。これは、都市レベルまで降りていかない場合の正しい解決策です。しかし、私たちは都市レベルまで対応する必要があります。
私は以下のような構造を想定しています。
カテゴリ: ローカルノード
タグ: 大陸(これが意味をなすかどうかは議論の余地があります)
サブカテゴリ: 国(国は視覚的に明確に表示されるべきであるため、大陸はタグとして扱います)
タグ: 都市
タググループの階層構造を活用して、タグのみでナビゲーションすることは可能でしょうか。例えば:
アジアから日本へタップ
大陸
国
ヨーロッパからローマへタップ
大陸
国
都市
現在、ナビゲーションフィールドバーでこれをカバーする方法は見つかりません。また、トピックがサブカテゴリの名前と、そのサブカテゴリの親カテゴリの名前によって自動的にタグ付けされる方法も見つかりません。
以下のリソースは把握しています:
さらに(最初は )
「検索」がタグ検索に表示される方法とタイミング
カテゴリ検索にタグ検索を統合する方法(右上に検索ボックスがあることは知っていますが、そこにはトピックもリストされています)
最終的には、「ローカルノード」カテゴリに世界地図を表示し、関心のある場所にズームインできるようにしたいと考えています。
Locations Plugin 🌍 で見られる地図、Data Explorer プラグイン https://meta.discourse.org/t/data-explorer-plugin/32566、および Custom Layouts プラグイン を活用し、Discourse カテゴリバナー に統合できることを願っています。
現在、私が把握しているのは以下のものです:
以下のような外観を想定しています:
angus
(Angus McLeod)
2019 年 8 月 15 日午前 12:37
2
少し考えてみました。以前は、3段階のカテゴリーシステムや、タグベースの異なるナビゲーションシステムを試したことがあります。
カテゴリー: ローカルノード
タグ: 大陸(妥当かどうかは検討が必要)
サブカテゴリー: 国(国はよく可視化する必要があるため、大陸はタグとして扱います)
タグ: 都市
本質的には、タググループに固有のタグドロップダウンが必要で、そのタググループはカテゴリーのコンテキストによって決定されるべきです(これにより、国というサブカテゴリーに対して異なる都市グループを柔軟に扱えます)。
トピックリスト以外の場所に地図を配置したり、投稿に埋め込んだりするについては、Locations プラグインには、カテゴリーページに挿入できるコンポーネント化された地図機能があります。
これら両方をテーマコンポーネントで実現することも可能です。もしそのようなコンポーネントの構築にお困りの場合は、ご自身で試す際のヒントをお伝えすることもできますし、Pavilion に依頼して作成してもらうこともできます。
PackElend
(Pack Elend)
2019 年 8 月 15 日午後 10:00
3
PackElend
(Pack Elend)
2019 年 8 月 20 日午後 1:11
4
angus
(Angus McLeod)
2019 年 8 月 21 日午前 7:16
5
原則的には、すべてが可能です。
例えば、以前はカテゴリレベルで複数のタグの交差もサポートする、3 段階のカテゴリ階層を実装したことがあります。
3 段階のカテゴリ階層とマルチタグ交差のルート構造
scope "/multi" do
constraints(tag_id: /[^\/]+?/, format: /json|rss/) do
get '/c/:category/t/:tag_id/*tags' => 'tags#show', as: 'tags_category_show'
get '/c/:parent_category/:category/t/:tag_id/*tags' => 'tags#show', as: 'tags_parent_category_category_show'
get '/c/:grandparent_category/:parent_category/:category/t/:tag_id/*tags' => 'tags#show', as: 'tags_grandparent_category_category_show'
Discourse.filters.each do |filter|
get "/c/:category/t/:tag_id/*tags/l/#{filter}" => "tags#show_#{filter}", as: "tags_category_show_#{filter}"
get "/c/:parent_category/:category/t/:tag_id/*tags/l/#{filter}" => "tags#show_#{filter}", as: "tags_parent_category_category_show_#{filter}"
get "/c/:grandparent_category/:parent_category/:category/t/:tag_id/*tags/l/#{filter}" => "tags#show_#{filter}", as: "tags_grandparent_category_category_show_#{filter}"
end
end
end
これはあなたがやりたいことよりも複雑かもしれませんが、それを維持するには、サポートのために非常に多くの時間やリソースを投入する覚悟が必要です。標準の Discourse が変更された時点で、いつか破綻する可能性が高いでしょう。
その文脈を踏まえて、標準の Discourse におけるカテゴリ/タグのルート構造について理解すべきことが 2 つあります。
マルチタグの交差はサイト全体でのみ可能であり、カテゴリレベルでは不可能です。つまり、標準の Discourse には、特定のカテゴリに属し、かつ複数の特定のタグを持つトピックの一覧を表示するルートは存在しません。これを実現したい場合は、ルートを追加する必要があります。
カテゴリ間の交差は不可能です。つまり、同じレベルの 2 つのカテゴリ(例えば 2 つの親カテゴリ、または 2 つの子カテゴリ)からトピックを表示するルートは Discourse には存在しません。
それでも、サーバーサイドでの大幅な追加を行わずに 4 段階のシステム(これがあなたの目標のようです)を実現することは可能です。
例えば、4 つのレベルをタグのみで表現することもできます。https://thepavilion.io/tags/intersection/events/bug/to-do/high は、Pavilion における events、bug、to-do、high の各タグの交差を表します。これらタグが属する 4 つのタググループごとに、以下のような 4 つのドロップダウンを用意することもできます。
[plugin] [type] [status] [importance]
既存の Discourse ルート構造内で階層をどう構成するかを決めれば、残りの項目はすべてクライアントサイドの変更であり、(比較的) straightforward です。
angus
(Angus McLeod)
2019 年 8 月 21 日午後 11:10
7
これは、私が以前述べた制限のいずれかに違反するため、機能しません。
カテゴリ内で 2 つのタグでフィルタリングすることはできません。
確実ではありませんが、おそらく「ローカルノード」カテゴリにいて「大陸」でフィルタリングしている場合、同時に「国」や「都市」でもフィルタリングできると想定されているようです。これも機能しません。
これが最も適切な選択だと思います。
カテゴリとしてローカルノード のみを使用し、都市ごとにサブカテゴリを設ける
現在のニーズに対して、将来の計画を過度に組み込もうとしているように思えます。
ノードが多くなりすぎたら、ローカルノード と国 に切り替える
現在、適切な「構造」を設定したいというお気持ちは理解できますが、サービスの質がどれほど優れていても、この問題が実際に発生するまでには時間がかかります。つまり、数年はかかるでしょう。その時点では、コミュニティ運営の前提条件自体が変化しているはずです。
さらに、直面する問題は主に階層構造の問題ではなく、組織化の問題です。例えば、必要であれば、国別に都市のサブカテゴリを修正されたナビゲーションバーにグループ化することも可能です。「国家的」レベルでの議論を行いたい場合(そもそもそれが意味をなすかどうかは別として)、そのための独立したサブカテゴリを設けることもできます。
議論フォーラムの階層構造が、議論の中心となる場所の行政的な階層構造と厳密に一致する必要はありません。必要なのは、ユーザーが自分に関連するコンテンツを見つけられるような階層構造です。この 2 つの概念を結びつけようとしていることは理解できますが、それが本当に必要かどうかは疑問です。この関連性に過度に焦点を当てることは、フォーラム構造に関する考え方を不必要に複雑にしています。
要するに、10,000 フィートの上からの視点で見たサービスの理想の状態、つまり都市を国や大陸に分ける必要があるほど大規模に運営されるようになることを想定して、構造的にそれらを類似させようとするために、あまりにも多くのリソースを投入しているように思えます。もしその段階に達したとしても、この決定の性質は全く異なるものになっているはずです。
PackElend
(Pack Elend)
2019 年 8 月 22 日午後 3:40
8
その通りです、私のミスでした。昨夜は詳細に迷い込んでしまいました。
[1] 追加のドロップダウンボックスを追加することは不可能なのでしょうか?
それによって何らかの形で「高度な検索」をシミュレートできるかもしれません。
同意します。私は、古い 、深い構造化された思考を Discourse のアプローチと統合しようとしています。
しかし、それでもあなたが言ったように
必ずしも
なぜなら、非常に狭い地理的範囲に焦点を当てたプロジェクトに重点を置いているからです。
もちろん、特定のトピックには国家的または世界的な重要性があります。それをどのように調整し、適切な文脈に置き、Discourse の適切な場所に配置するかは、「実践を通じて学ぶ」べきことだと思われます。
もしタグのみに依存すると決めた場合、あなたの「タグの交差」アプローチが非常に役立つ可能性があります。
そのステップに進む前に、タグ と 交差 のランディングページを、カテゴリ のランディングページと何らかの形で同じ見た目になるようにカスタマイズする必要があります。それは可能でしょうか?
私は、https://se23.life/tags のレイアウトを、Higher level of granularity for category & subcategory styling - #7 by PackElend で示唆されているように、「サブタグ」で埋められたボックスを使用するように変更することを考えています(ただし、そこではサブカテゴリのボックスを改善するよう求めていました)。
さらに、ボックス内またはボックス内のタグをクリックすると、https://thepavilion.io/tags/intersection/tag1/tag2/tag3/... というクエリがトリガーされます。その結果は、ボックススタイル(または私たちが適切と考えるもの)と同じ形式でレンダリングされて表示されます。
ご覧の通り、私はまだ多段階ルートに囚われています。これは、グローバルからローカルスケールへズームインするのと同じアナロジーだからです。これは、新しいユーザーにとってローカルノードに到達するための最も自然なナビゲーションルートです。
あなたが正しいことが証明されることを願っています。
しかし、あるレベルがタグの多さで肥大化する懸念があるかもしれません。例えば、中国やアメリカのすべての都市をそれぞれ「中国」や「アメリカ」というサブカテゴリに含めると、ごちゃごちゃになる可能性があります。
同意しますが、私はおそらく
この発言は、深いレベルのアプローチを感情論から切り離すのに役立つでしょう。
これをもう少し詳しく説明していただけますか、あるいは例はありますか?
このナビゲーションバーのカスタマイズは、この投稿の最初で [1] とマークされたものと同じでしょうか?
私は、国家レベルと都市レベルが並存できないという前提に基づき、それぞれを「地域ノード」のサブカテゴリとする可能性のあるロードマップを視覚化したモックアップを作成しました。
ランディングページはカテゴリ
ランディングページはカテゴリですが、地域ノードがキノコのように湧き出る
ランディングページはタグ、カスタムテーマがカテゴリのようなレイアウトを処理