| プロセスワイヤー | |
|---|---|
| 初回リリース | 2007 |
| 安定版リリース | |
| リポジトリ | |
| 書かれた | PHP |
| 入手可能な | 英語、その他寄稿 |
| タイプ | コンテンツ管理システム |
| ライセンス | Mozilla パブリックライセンス 2.0 |
| Webサイト | プロセスワイヤー |
ProcessWireは、 PHPプログラミング言語で書かれた、無料のオープンソースコンテンツ管理システム(CMS)、コンテンツ管理フレームワーク(CMF)、およびWebアプリケーションフレームワーク(WAF)です。Mozilla Public License 2.0に基づいて配布されています。ProcessWireは、JavaScriptフレームワークjQueryに類似した使用法と命名規則を持つAPIを中心に構築されています。このAPIの目的は、jQueryがDOMに提供するのと同等のレベルのアクセシビリティと制御を、ウェブサイトのページに提供することです。[ 3 ]コンテンツは、APIまたはウェブベースの管理コントロールパネルを介して管理されます。ProcessWireは、ウェブサイト、ウェブアプリケーション、サービス、コンテンツフィード、および関連アプリケーションの開発に広く利用されています。
ウェブサイトやアプリケーションの開発前および開発中、ProcessWireのユーザーは主にウェブ開発者とウェブデザイナーです。[ 11 ]このユーザー層では、ProcessWireは開発ツールとCMSの両方として使用されています。
開発後、対象者はWebサイトやアプリケーションのコンテンツを管理する個人に変わります。彼らは通常、Webデザイナーや開発者ではありません。この対象者は、ProcessWireを主にコンテンツ管理のためのCMSとして使用します。
ProcessWireは2003年から活発に開発が進められています。2003年から2007年まではDictator CMSという名称で開発され、2007年から2010年まではProcessWire 1.xとして開発されました。ProcessWireは2010年にオープンソースコミュニティプロジェクトとなり、現在はProcessWire 2.xおよび3.xとして開発されています。[ 12 ]
ProcessWireは、最初のオープンソースリリース以来、8回のメジャーバージョンリリースと100回以上のマイナーバージョンリリースを行ってきました。2016年9月にリリースされたバージョン3.0は、2回目のメジャーバージョンリリースです。[ 13 ]
ProcessWireには、活発なグローバルなエンドユーザーおよび開発者コミュニティがあります。これらのコミュニティは、ProcessWireを英語から母国語(中国語、クロアチア語、チェコ語、オランダ語、フランス語、ドイツ語、ギリシャ語、ヘブライ語、ハンガリー語、イタリア語、日本語、ポルトガル語、ロシア語、スロバキア語、スペイン語、スウェーデン語、トルコ語、ウクライナ語、ベトナム語)に翻訳しています。ProcessWireコミュニティの中心は、開発者サポートフォーラムです。[ 11 ]
2016年11月、ProcessWireはCMS Criticのベスト中小企業向けCMS賞を受賞しました。[ 14 ]
2016年7月、Smashing Magazineは「ProcessWire初心者ガイド」を出版した。[ 15 ]
2016年1月以来、Envato Tuts+はProcessWireに関する記事やチュートリアルをいくつか公開しています。[ 16 ]
2015年1月、ProcessWireはCMS Criticのベスト無料PHP CMS賞を受賞しました。[ 17 ]
2014年12月にPHP ArchitectはProcessWire: 柔軟性、パワー、そして純粋な楽しさをたっぷりと出版しました。[ 18 ]
2012年12月、ProcessWireはCMS Criticのベスト無料CMS賞を受賞しました。[ 19 ]
ProcessWireは、バケットシステムではなくページコンテンツツリーを基盤として構築されています。各ページのURLまたはパスは、常に階層構造における位置を反映しています。API内でページを参照する場合も、このパスを使用します。つまり、このパスと内部ツリー階層との関連付けがProcessWireのアーキテクチャを定義します。コンテンツツリーによって示される親子関係に加え、ProcessWireはツリー内のページ間で1対1および1対多のリレーショナル参照をサポートします。
ProcessWireのテンプレートは、コンテンツタイプの定義を表す1つ以上のカスタムフィールドを含むコンテンツタイプです。ProcessWireの各ページには、ページの種類を表すテンプレートが割り当てられます。テンプレートは通常、複数のページで共有されます。テンプレートは、テンプレートを使用するページ間で共有されるアクセス制御、キャッシュ、その他の設定も定義します。
テンプレートには、オプションでテンプレートファイルと呼ばれるPHPファイルが関連付けられます。このファイルは、テンプレートを使用しているページのURLにアクセスするたびに実行されます。そのため、テンプレートファイルは通常、出力目的で使用されます。テンプレートファイルにはいくつかのAPI変数が用意されており、最も重要なのは$pageAPI変数です。この変数には、現在表示中のページのすべてのフィールドとコンテンツが含まれます。[ 20 ]
テンプレートファイルは、アプリケーションに応じて複数のコンテキストで使用されます。ProcessWireのデフォルトのウェブサイトプロファイルでは、テンプレートファイルは主に、直接生成または動的に生成されたHTMLマークアップの出力に使用されます。テンプレートファイルは、モデルと別のビュー間の中間コントローラーとしても使用できます。テンプレートファイルは通常のPHPファイルであるため、別の解析レイヤーを必要とせずに、必要に応じて他のWebサービスやPHPアプリケーションを呼び出すことができます。
ProcessWire のすべてのフィールドは、ユーザーが定義するカスタムフィールドです。特定のフィールドは複数のテンプレートに割り当てることができ、テンプレートには、そのテンプレートを使用する各ページの個別のコンテンツチャンクが保持されます。すべてのフィールドには「フィールドタイプ」(1語)と呼ばれるタイプがあり、これはプラグインモジュールの一種です。ProcessWire には、テキスト、数値、ファイル、画像、ページ参照、URL、メールアドレス、日付、コメントをサポートするフィールドタイプモジュールが複数含まれています。追加のフィールドタイプモジュールは、サードパーティ製モジュールとしてインストールされます。
ProcessWire のソースコードはGitHubでホストされており、 Softaculous、Bitnami、Composer/Packagistでも配布されています。
ProcessWireは、多くのホスティングプロバイダーやウェブ開発環境で使用されているAMP(Apache、MySQLまたはMariaDB、PHP)プラットフォームで動作します。ProcessWireはPHPバージョン5.3.8以降、MySQLまたはMariaDB 5.0.15以降を必要とします。[ 21 ]