Extension:StructuredDiscussions/ja

StructuredDiscussions 拡張機能はトークページにおける討議と共同作業に使うシステムを提供します. このページではインストールと管理の方法を紹介します. 使い方のガイドはをご参照ください. この機能をご自分で試すには、サンドボックスのトークページが利用できます.

以前はFlowという名称で、ページによっては (Git リポジトリなど) ぞの名前を使っています.

StructuredDiscussions 拡張機能の開発にはウィキメディア財団のCollaborationチームが当たりました. バグ修正のため管理を続けていますが、2017年9月に「StructuredDiscussions」に改名されたほかは、実体のある開発は2015年以降なされていません. 将来的に開発を再開する可能性はあります. この拡張機能の開発状況ならびに設計の概要について詳しく知るには、Structured Discussionsをご参照ください.

インストールが終了したら
これに加えてコマンドラインから「composer update --no-dev」を実行し、対象は MediaWiki をインストールしたフォルダで、この処理は git 経由でダウンロードしなかった場合も必要です.

注意点は、StructuredDiscussionsを有効もしくは無効にする手順をすべて実行することで、これには提示されたスクリプトをすべて実行することも含まれます.

依存関係

 * 必須
 * - 通知用 (例：投稿への返事)
 * 対象のキャッシュが必要です. その実行には memcach (汎用の分散型メモリキャッシュシステム) の使用が推奨されます. 現在、Redis を使うと問題が発生するかもしれません.
 * - 自動的にインストールされるテンプレートに対応 (例＝#time)
 * = true  Special:EnableStructuredDiscussions 対応に必要で、名前空間のコンテンツモデルを変更しても、同名の名前空間がすでにある場合の障害を予防します (StructuredDiscussionsへの入力もしくは出力のどちらでも).


 * 強く推奨


 * Parsoidは投稿をHTML形式として保存し、パフォーマンスを改善. WMF（ウィキメディア財団）のウィキの設定がこうなっているからで、現状ではもっともテストが行き届いた設定です.  MediaWiki-Vagrantを使用している場合、StructuredDiscussionsを有効にすると Parsoid が有効になり、形式を「html」に設定します.


 * 省略可能


 * - 利用者のトークページで選択制のベータ機能を利用するため.
 * - 人間にわかりやすい「3日前」のようなタイムスタンプを使用
 * - ビジュアル編集機能 VisualEditor への対応
 * バグ? ビジュアルエディタをインストールしてある場合 (例：OOUIを提供するため) は、たとえ有効にしていなくても StructuredDiscussions が Parsoid を呼び出そうとする現象
 * StructuredDiscussions は、、と統合します. 詳細はをご参照ください
 * StructuredDiscussionsはをインストールした環境で統合します.
 * - 投稿した利用者に「感謝」を送信
 * - アクセス解析

インストールの確認
StructuredDiscussions を有効にしたページのどれかを開き (を参照)、話題の追加やその見出しの編集を試してください.

アップグレード
変数は StructuredDiscussions ボードを列挙してきましたが、T105574の一環として除去されました. . バージョン 1.26 以降に更新する準備として、管理スクリプトを実行します.

1番目のスクリプトは MediaWiki 1.34. 以前にコアに導入されていました. 1.35 以降はもう必要がなくなりました.

設定
で設定が必要な項目を説明します.

StructuredDiscussions を有効もしくは無効にするには
MediaWiki 1.35, 以前は、StructuredDiscussions を名前空間で有効または無効にするには、まず影響を受ける名前空間でを実行します (代わりに で実行しても可). 1.35 以降はもう必要がなくなりました. 例＝NS_TALK (1) や NS_USER_TALK (3) で有効もしくは無効にする場合、以下のPHP 設定の状態なら次のようになります.

mwscript が未設定の場合は、 を と入れ替えます.

上記の後に、特定の名前空間で を設定します. 例：

グローバルな設定変更してはダメです.

単一ページで有効にする場合は、Special:EnableStructuredDiscussionsを利用します. これにはフローボード作成権限 flow-create-board が必要で、どんなグループでも権限を付与されます (利用者権限のグループ権限変更のページ Manual:User rights#Changing group permissions をご参照ください).

ご利用のwikiのすべてのページで StructuredDiscussions を無効にする方法はをご参照ください.

Parsoid 設定
StructuredDiscussions uses the Virtual REST Service to contact a Parsoid or RESTBase service. If your wiki loads the extension, then you've probably already set this up. Look for the following in your :

A single Parsoid server can handle multiple wikis. The Parsoid  setting identifies your wiki configuration to Parsoid. By default it is set to the hostname named by, but you can pick an arbitrary string. Older versions of Parsoid also used a unique "prefix" to identify the server; you may need to list that here as well.

Parsoid must have been configured to match, using a line in Parsoid's  like:

Again, the "domain" property is optional in the Parsoid configuration; it defaults to the hostname used in the  property if not specified. The "prefix" property can also be omitted unless you are running an older version of Parsoid. Make sure the  and   listed in Parsoid's   match what's in your wiki's.

See Parsoid/Setup#Configuration for more details.

"maximum function nesting level of '100' reached, aborting"
If you get this error, you need to set, probably in.

「例外を発見：CASがXyz で実行しない」状態
StructuredDiscussions は  と  (APCBagOStuff)などのキャッシュした実行でCASを伴わないものを実施します. 変更し、たとえばmemcachedをインストールし を設定するなど、違うキャッシュを使う必要があるかもしれません.

権限
StructuredDiscussionsで書き込みの作業をする利用者は、コアの 権限が必要です. この権限を'user'グループ (ログイン状態で) にのみ付与するウィキがたくさんあります.

StructuredDiscussions が定義する動作は多く、たとえば や があります (詳細な一覧はをご参照ください). 投稿が皆さん自身のものかどうか、変更したかどうかにより、権限が異なります. For example, by default users can edit their own posts, but only users in the 'sysop' group have the  permission to edit anyone's post. You can override which groups have which permissions and what permissions are required for each Flow action; see Manual:User rights for an overview of permissions.

既存のページの移行
To migrate a single existing page, use Special:EnableStructuredDiscussions. It will handle archiving of a single page (then enabling StructuredDiscussions) automatically.

The script  automates this namespace conversion and archiving, see Flow/Converting talk pages. It is somewhat WMF-specific, so evaluate its operation and backup your database before running it. Another script  converts LiquidThreads pages and their threads to Flow boards and topics, see Flow/Converting LiquidThreads. Similar caveats apply.

Flow adds a Topic: namespace, see Extension default namespaces. You can visit Special:PrefixIndex/Topic: to see if there are existing pages that conflict with this; if so run the maintenance script.

システムメッセージ
Using the "Source editing" option on StructuredDiscussions boards makes visible the help text. The "uses markup" part is linked through the system message MediaWiki:Flow-wikitext-editor-help-uses-wikitext which makes use of an interwiki link to MediaWiki.org.

In some cases, this interwiki link, instead of pointing to on MediaWiki.org, points to a (usually non-existent) Help:Formatting page on the host Wiki. This can be corrected by changing the interwiki link on MediaWiki:Flow-wikitext-editor-help-uses-wikitext to an external link such as.

トラブルシューティング
Flow が思ったように使えませんか？ 問題の原因により、修正方法が変わります.

Custom-Namespace 宣言の順序が間違っている
Flow 宣言はカスタムの名前空間名の後に 記述しなければなりません. 正しい順序：

Wrong Native Constants
Talk pages in the Main namespace are defined as, not

The correct declaration is:

$wgNamespaceContentModels[NS_TALK] = 'flow-board';

Non-Registered Extension Constants
namespace constant is supposed to be. But that constant does not work in the Flow declare-- you must use the actual number: 107. This works:

$wgNamespaceContentModels[107] = 'flow-board';

It's unknown to this author whether Page_Forms failed to register its constants correctly, or whether all extension must use numbers (not constants) with Flow. See list of some other extension namespace constants.

Old Remnants
If you're correctly getting Flow on all talk-pages in a namespace, except for one page in that namespace, there may be remnant junk in the talk page (even if it appears empty). Do the following:


 * 1) Browse to the talk page that won't load Flow, e.g.: Portal_Talk:Welcome
 * 2) Delete the Talk page using the Delete tab.
 * 3) Go to the content page for that talk page, e.g.: Portal:Welcome
 * 4) Click Discuss.
 * 5) You get Flow.

アーキテクチャ
Flow/Architecture を参照してください.

スパム
See for more information on how to fight spam in Flow.

Moderation
See for more information on moderation in Flow.

エクスポートとインポート
Flow のデータをエクスポートする管理スクリプトがあり、Manual:DumpBackup.phpに類似します.

T114703 - インポートのヒントをいくつか示します.