Extension:Page Forms

From mediawiki.org
This page is a translated version of the page Extension:Page Forms and the translation is 94% complete.
MediaWiki 拡張機能マニュアル
Page Forms
リリースの状態: 安定
実装 特別ページ , API
説明 infobox形式のテンプレートを使うページの作成と編集用に、入力フォームを作成する拡張機能。Semantic MediaWiki あるいはCargo と併用(もしくは単体で使用)できる。 フォームの詳細はウィキページ上で設定、独自のマークアップ言語で記述し、パーシングはオンザフライ方式でフォームの表示時に直接、書き込む。
作者 Yaron Koren <yaron57@gmail.com>、Stephan Gambke、他
最新バージョン 5.7.2 (2024年4月)
互換性の方針 master は後方互換性を維持しています。
MediaWiki 1.36+
Composer mediawiki/page-forms
ライセンス GNU 一般公衆利用許諾書 2.0 以降
ダウンロード
自動生成フォームを使用して利用者が編集できる「社説・言説項目」
  • viewedittab
  • editrestrictedfields
  • createclass
  • multipageedit
Page Forms 拡張機能の翻訳にご協力ください
Vagrant role pageforms
問題点 未解決のタスク · バグを報告

Page Forms (2016年より前は Semantic Forms) は、利用者によるフォームを利用したデータの追加・編集・問い合わせを可能にする MediaWiki 拡張機能です。 当初はSMW経由でパラメータを保存するテンプレートの編集を目指すという、Semantic MediaWiki 拡張機能から派生したプロジェクターだったため、"Semantic Forms" という名称でした。現在はその頃とは異なり、代替できるCargo 拡張機能との併用あるいはそれら拡張機能をインストールしない状態でも作動します。

簡単に言えば、Page Forms ではデータを問い合わせるためのフォームはもちろんページを作成・編集するためのフォームをも、すべて一切のプログラミングなしでウィキに設置することが可能です。 フォームは管理者だけでなく利用者自身でも作成や編集ができます。

Page Forms 機能の主要な要素はフォームページの定義で、これは独立した名前空間「Form:」に存在します。 これらはマークアップコードで構成されたページで、利用者がフォームを開くと構文解析にかけます。 フォームは設定ページにしたがい厳格に設定されるため、実際にプログラミングをしなくても利用者自身でフォームの作成と編集ができます。

ページフォーム拡張機能は主に、ページ内の基礎情報ボックス形式のテンプレートにセルを追加・編集するために使われています。 フォームを使う利用者は、既定で設定されたテンプレートの組み合わせを使い、どのページにも、あるいはページの節にもデータを入力できます。Cargo もしくは Semantic MediaWiki を使うと、テンプレート内のデータは保存されクエリ対象になります。

フォームの用途として、既存のページのデータ編集にも使え、どのページにも「フォームを使って編集」タブを有効にできます。

Page Forms はまた、フィールドの自動入力にも対応し、利用者はそれぞれの欄にすでに入力された値の意味を簡単に理解できます。これは命名の曖昧さや綴りの誤りなどの問題の予防にたいへん役立ちます。

ページ内のデータがフォーム形式になじまない場合、たとえばページの主題を説明する自由形式の解説文などは、フォームを使った編集でも無視されることはありません。それらは別途、"free text" (フリーテキスト) という入力ボックス内に表示されます。

Page Forms にはほかにもフォームに関連するさまざまな機能が備わっています。

以下は説明書への全リンクです。

Page Forms のダウンロードは通常は Git から、あるいはソフトウェアのパッケージから実行します。それぞれのダウンロード方法にしたがいます。
すぐに Page Forms を使う方法。
Page Forms に対応するサイトをホストする wiki の一覧に加え、このソフトウェアを試用できる公開の wiki群。
Page Forms が定義する「特別ページ」のすべて: 利用者補助のフォームがあるもの (Special:CreateProperty、Special:CreateTemplate、Special:CreateForm、Special:CreateCategory、Special:CreateClass)、リスト表示をするもの (Special:Templates、Special:Forms)、実際に表組みを表示するもの (Special:FormEdit、Special:FormStart、Special:RunQuery、Special:UploadWindow)、テンプレートを置いた複数ページを編集するためスプレッドシート形式のインターフェースを提供するもの (Special:MultiPageEdit)。
Page Forms (PF) はテンプレート依存という考え方 - 加えてテンプレートに対応するため PF が定義する4つのパーサ関数: #template_params, #template_display, #arraymap, #arraymaptemplate。
3つの主要な節のうち、こちらは1番目です。 「Form:」名前空間内のページで、フォームを定義する方法。 フォーム定義の構文全体を扱い、{{{info}}}、{{{for template}}}、{{{end template}}}、{{{field}}}、{{{section}}}、{{{standard input}}} タグもその対象。 またタブやツールチップの追加方法も説明。
2番目の節。許容されるすべての入力タイプとそれぞれのパラメーター、また同時に使える SMW や Cargo データ種別の一式。
The third major section. Information on setting possible/allowed values for the relevant input types, including "mapping" values to friendlier display names, options related to autocompletion, and the "show on select" parameter.
ページに「フォームで編集」ボタンを表示させる #default_form 構文解析機能の使い方。 加えて、タブの名称をたんじゅんに「編集」に変更する方法と、標準の「編集」ボタンを除去する方法 (必要がある場合。)
利用者にフォームを紹介する方法として、#forminput、#formlink、#formredlink、#queryformlink のそれぞれの機能。 さらに、#formredlink を使って赤リンクのページを自動生成する方法。 そしてページを直接、改変するリンクの作成を行う #autoedit 機能。
データ問い合わせのため、データの改変ではなくフォームを作成して使う方法は、Special:RunQuery page から実行。
フォーム関連、データ構造の設計関連、またはPage Forms を他の拡張機能と同時に使った場合、遭遇しがちな問題と解決法。
ソフトウェアの既知の問題と、暫定的な回避策、さらに現状の「開発ロードマップ」で計画されているその他の機能。
質問とバグ報告、機能のリクエスト、バグ修整や新しい翻訳の提出先。
Page Forms 改善もしくはそれと連動する新規の拡張機能作成に関心のある開発者向けの情報。
主要な執筆者陣、コード記述に貢献した人たち、その他の組織やソフトウェアのプロジェクト。
2007年5月以降現在までの、Page Forms の更新履歴。
Page Forms を導入したウィキのごく一部の抽出と、より詳しい一覧へのリンク。
拡張機能のうち、Page Forms を導入した環境で使えるもの、Page Forms とともに使えるもの、Page Forms と類似した目的のもの。
チートシート
リンク SMWの関連項目一覧 · Cargoの関連項目一覧 · サンドボックス
パ|サ|関数 {{#arraymap :value|delimiter|var|formula|new_delimiter|conjunction}}
{{#arraymaptemplate :value|template|delimiter|new_delimiter}}
{{#forminput :form=|size=|default value=|button text=|query string=|autocomplete on category=|autocomplete on namespace=|placeholder=|popup|no autofocus|namespace selector|query string parameters}}
{{#formlink :form=|link text=|link type=|query string=|target=|tooltip=|popup|new window|query string parameters}}
{{#formredlink :form=|link text=|existing page link text=|query string=|target=|popup|new window|create page|query string parameters}}
{{#queryformlink :form=|link text=|link type=|query string=|tooltip=|popup|new window|query string parameters}}
{{#template_params :}}
{{#template_display :_format=|_title=}}
{{#autoedit :form=|target=|link text=|link type=|minor|query string=|reload|tooltip=|redirect|bring to page=|summary=|confirm|query string parameters}}
{{#autoedit_rating :form=|target=|value=|star width=|num stars=|allow half stars=|minor|reload|tooltip=|summary=|confirm|query string parameters}}
{{#default_form :form name}}
入力の種類

text , textarea , tokens , combobox , date , datetime , year , datepicker , datetimepicker , checkbox , dropdown , radiobutton , checkboxes , listbox , tree , rating , regexp , googlemaps , leaflet , openlayers