プロセスワイヤー

プロセスワイヤー
初回リリース2007
安定版リリース
3.0.229 [ 1 ] [ 2 ] / 2023-09-29 [±]
リポジトリ
書かれたPHP
入手可能な英語、その他寄稿
タイプコンテンツ管理システム
ライセンスMozilla パブリックライセンス 2.0
Webサイトプロセスワイヤー.com

ProcessWireは、 PHPプログラミング言語で書かれた、無料オープンソースコンテンツ管理システム(CMS)、コンテンツ管理フレームワーク(CMF)、およびWebアプリケーションフレームワーク(WAF)です。Mozilla Public License 2.0に基づいて配布されています。ProcessWireは、JavaScriptフレームワークjQueryに類似した使用法と命名規則を持つAPIを中心に構築されています。このAPIの目的は、jQueryがDOMに提供するのと同等のレベルのアクセシビリティと制御を、ウェブサイトのページに提供することです。[ 3 ]コンテンツは、APIまたはウェブベースの管理コントロールパネルを介して管理されます。ProcessWireは、ウェブサイト、ウェブアプリケーション、サービス、コンテンツフィード、および関連アプリケーションの開発に広く利用されています。

特徴

  • 包括的なドキュメントを備えたjQueryスタイルのAPI [ 4 ]
  • グラフィカルなWebベースのインストーラー
  • すべてのフィールドはカスタムフィールドであり、APIの検索操作用にインデックス付けされています。
  • 他のPHPアプリケーションやコマンドラインスクリプトからブートストラップできる[ 5 ]
  • インタラクティブなAPIベースの画像操作機能
  • ドラッグアンドドロップのツリーベースのページリスト
  • ドラッグアンドドロップによるファイルと画像のアップロードと編集機能
  • 大規模(10万ページ以上)のインストールをサポート
  • API呼び出しにおける文字列ベースのセレクタの使用[ 6 ]
  • ロールベースのアクセス制御システム
  • セキュリティを重視したコア開発[ 7 ]
  • マークアップに依存しない出力、すべての出力を開発者に任せる
  • テンプレートファイルはPHPベースで、デフォルトではテンプレートエンジンは使用されません。
  • ページ全体または個々の部分の出力キャッシュ
  • 多言語テキストフィールドとURLによる多言語サポート[ 8 ]
  • モジュラープラグインアーキテクチャと利用可能なサードパーティモジュール[ 9 ]
  • フィールドと入力タイプはプラグインモジュールです
  • ほとんどのコア機能をフックして変更できるフックシステム[ 10 ]
  • フィールドとフィールドのグループは、組み込みのRepeaterフィールドタイプを使用して繰り返し可能です。
  • CKEditorを使用したリッチテキスト編集のサポート

観客

ウェブサイトやアプリケーションの開発前および開発中、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でホストされており、 SoftaculousBitnamiComposer/Packagistでも配布されています。

ProcessWireは、多くのホスティングプロバイダーやウェブ開発環境で使用されているAMP(ApacheMySQLまたはMariaDB、PHP)プラットフォームで動作します。ProcessWireはPHPバージョン5.3.8以降、MySQLまたはMariaDB 5.0.15以降を必要とします。[ 21 ]

参考文献