Plugg for XOOPS Cube Legacy 1.10a1(アルファ版)を公開致します。なお、XOOPSの仕様上、
XCLのモジュール管理画面でのバージョン表記は1.10となっていますが、実際には
アルファバージョン(コアのバージョンは1.1.0a1)ですので、公開サイトでの運用はお勧めしません。
1.1xは1.0xとはバックエンドもフロントエンドも大幅に変更されていおり、同梱のプラグインも
変更になっています。そのため、1.0xからのアップグレードにはできるだけ対応したいと思いますが、
もう少し後になりそうです。
また、日本語言語ファイルの作成もまだこれからとなっています。
【システム要件】
XOOPS Cube Legacy 2.1.7以上、PHP5.2.0以上、そしてPHPのmbstring関数が必須となっています。
XOOPS Cube Legacy 2.2.xおよびPHP5.3.xでの動作テストはまだ行っていません。
PluggではCronを利用してデータの更新等の処理を行う箇所が数多くあります。そのため、ご利用の
サーバでCronが利用可能である必要があります。
また、Pluggではデータベースの整合性を保証するためにデータベースのトランザクション機能を
利用しているので、MySQLではトランザクション機能がサポートされているバージョン4.0以降
、特に5.0以降をお勧めします。
【ライセンス】
Pluggでは各プラグインはCMS対応のためのプラグイン以外は基盤のCMSに依存していませんので、
基本的にライセンスはプラグイン開発者が自由に設定することができます。
そのため、モジュール自体はGPLとなりますが、下記の同梱プラグインの一覧の中で「XOOPSCube」で
始まるもの以外はGPLライセンス以外のライセンスの設定を考えています。これらのプラグインは
今のところGPLのように再配布等ができませんのでご注意ください。
【インストール方法】
ダウンロードしたファイルを解凍後、「html/modules/plugg」および「xoops_trust_path/modules/plugg」
フォルダをそれぞれ該当する箇所へと設置してください。その後は通常のモジュールのインストールと同様です。
下記のフォルダ群が書き込み可能になっていない場合は書き込み可能に設定してください。
html/modules/Plugg/thumbnails
xoops_trust_path/modules/Plugg/cache
xoops_trust_path/modules/Plugg/plugins/HTMLPurifier/cache
xoops_trust_path/modules/Plugg/plugins/HTMLPurifier/cache/CSS
xoops_trust_path/modules/Plugg/plugins/HTMLPurifier/cache/HTML
xoops_trust_path/modules/Plugg/plugins/HTMLPurifier/cache/URI
xoops_trust_path/modules/Plugg/plugins/Groups/avatars
xoops_trust_path/modules/Plugg/plugins/Aggregator/cache
Pluggをインストールしたサーバの環境がPluggに合っているかどうかは
Pluggの管理画面の下記ページからも確認できるようになっています。
Plugg管理トップ→「System Management」→「Site Information」タブ
上記ページで赤く表示されている者は必ず設定を変更すべきもの、黄色で表示されている
ものは設定の変更は必須ではありませんが変更した方が良いものを表します。
【Cronの設定】
XOOPS_ROOT_PATH/modules/Plugg/cron.php
をCronにより定期的に実行するように設定してください。とりあえずは1日に1回位で問題ないと思います。
【mod_rewrite(オプション)】
mod_rewriteが利用可能な場合にはインストール後、下記ページ:
Plugg管理トップ→「System Management」→「Site settings」タブ→「SEO」タブ
の「mod_rewrite settings」下にある「Enable mod_rewrite」をチェックし、その下に
書かれているmod_rewriteの設定(RewriteEngine on以下)をXOOPS_ROOT_PATH/.htaccessとして
保存してください。すでに.htaccessファイルがある場合には設定が重複しないように追加してください。
これにより、Pluggのページは全て(管理画面は覗く)短いURLで表示させることができます。
例えば、ユーザ名がadminというユーザのプロフィールページへのURLは下記のようになります:
http://XOOPS_URL/user/profile/admin
もしもmod_rewriteを有効にしていない場合は、
http://XOOPS_URL/modules/plugg/index.php?q=/user/profile/admin
のようになってしまいます。
【同梱プラグイン】
AdminWidget
Pluggの管理画面トップにダッシュボートを表示します。ダッシュボードに表示される
各種ウィジェットの設定を行ったり、ドラッグ&ドロップで配置を変更したりすることが可能です。
Aggregator
各種フィードの内容を結合し、一つのフィードとして表示します。サイト全体で表示するほか、
各ユーザプロフィールページでの表示にも対応しています。
Content
現在のところ何もしません。今後のバージョンで機能を追加する予定ですが、現時点では内部的に必須と
なっています。
Cron
PluggはCronによるデータの更新を頻繁に行います。CronプラグインはCronを管理画面より手動で実行できる
ようにします。
ExternalLink
外部サイトへのリンクの横に外部リンクであることを示す小さなアイコンを追加します。また、外部リンクを
別ウィンドウで開いたり、rel=nofollowを追加したりするように設定することも可能です。
Filters
ユーザの投稿コンテンツをフィルタリングする各種フィルタの管理を可能にします。また、Formプラグイン
と連携し、各種プラグインの投稿フォームにフィルタ機能を容易に追加できるようにします。ここの
フォーラムでコメント等を投稿する際にフィルタを選択できますが、これがその一例となります。
Footprints
各ユーザのあしあと機能を提供します。
Form
管理画面よりドラッグ&ドロップで各種フォーム要素を組み合わせてフォームを作成することができます。
また、バックエンドでは各種プラグインが容易にフォームを作成できるようなForm APIを提供します。Pluggに
おけるほぼ全てのフォームはこのForm APIを利用しています。Form APIはDrupalのForm APIの利用方法と可能な
限り似たようなものにしている(中身は別物ですが)ので、Drupalのモジュール開発でDrupalのForm APIを利用
されたことがある開発者には理解しやすいと思います。
Forum
各グループにフォーラム機能を提供します。各グループにフォーラムが一つ作られます。トピックや
コメントを添付ファイル付きで投稿したり、インラインで編集したりすることができます。また、
登録ユーザであれば、お気に入りのトピックにスターを付けたり自分のトピックだけを表示させたり、
トピックを未読/既読に設定したりすることができます。
添付ファイル機能については、過去に別のトピックやコメントに添付したファイルを一覧表示し、
その中から選択して追加することもできます(再アップの必要なし)。
Friends
フレンド機能を提供します。ユーザ同士が友達として登録し合うことができるほか、
友達としての関係(リレーションシップ)をXFNの仕様(contact, co-worker, child等)に基づいて
設定することができます。ここで設定されたリレーションシップによってユーザプロフィールの
各追加項目を表示させたり表示させないように設定することができます。
Groups
グループ(コミュニティ)を作ることができます。今のところ、グループ内ではメンバやフォーラムを
管理することくらいしかできませんが、今後、各種プラグインにより様々な機能が提供されると思います。
HTMLPurifier
HTMLPurifierライブラリを有効にします。
HTMLPurifierFilter
HTMLPurifierライブラリを利用したコンテンツフィルタ機能を提供します。
ImageTransform
ImageTransformライブラリを有効にします。Formプラグインが提供するForm APIのfileフォーム要素には
サムネイル自動生成機能がありますが、この機能はImageTransformライブラリを使用しています。
jQuery
jQueryおよび各種jQueryプラグインを有効にします。
Locale
各プラグインの言語ファイルを管理画面より編集可能にします。
メール送信機能の提供および設定管理を可能にします。
Messages
プライベートメッセージ機能を提供します。お気に入りのメッセージにスターを付けたり、各メッセージを
既読/未読に設定したりすることが可能です。
OpenIDAuth
OpenIDによるログインを可能にします。
Search
検索機能を提供する各種検索エンジンプラグイン(例:SimpleSearchプラグイン)と検索対象のコンテンツを
提供する各種プラグイン(例:Forumプラグイン)との橋渡しを行います。また、これらのプラグインの設定管理を
可能にします。
SimpleSearch
検索可能なコンテンツをデータベースに保存し、それらに対して単純にLIKE検索を行う検索エンジンプラグインです。
System
各種プラグインを管理するプラグインです。また、Plugg 1.1からはバックエンドで各プラグインの
ルーティング情報を管理するほか、CSSの圧縮機能を提供しています。
Uploads
ファイルのアップロード機能を提供します。FormプラグインのForm APIを通して各プラグインに対して
高機能なアップロード機能を提供することが可能です。
User
ユーザ情報、ロール、ユーザ認証機能、プロフィール追加項目、ユーザウィジェット、キュー情報の設定管理を行います。
プロフィール追加項目の設定画面はFormプラグインと同様なインターフェースでドラッグ&ドロップで設定
できるようになっています。
Widgets
Pluggのデフォルトのトップページに表示される各種ウィジェット(XOOPSでのブロックと同様のもの)の
設定管理を可能にします。
XOOPSCodeFilter
XOOPSCodeを使用したコンテンツフィルタ機能を提供します。
XOOPSCube
PluggをXOOPSCube上で動作させるためのプラグインです。例えば、各種プラグインが提供するウィジェット
機能をXOOPSCubeのブロックへと自動変換したりする等の作業を裏で行っています。
XOOPSCubeUser
XOOPSCubeのユーザ情報をUserプラグインへと提供します。これによりPlugg上にてXOOPSCubeのユーザ情報の
管理や追加の認証情報やプロフィール項目の設定機能を提供したりすることが可能になります。
Pluggの機能をフルに利用したい場合には、ユーザ管理プラグインとしてこのプラグインを選択してください。
XOOPSCubeUserApi
XOOPSCubeUserプラグインとは異なり、Pluggからのユーザ情報へのアクセスをXOOPSCubeへとリダイレクト
させます。Pluggインストール時にはユーザ管理プラグインとしてこのプラグインが選択されていますが、
Pluggの機能をフルに利用したい場合には、ユーザ管理プラグインとしてこのプラグインではなく、
XOOPSCubeUserプラグインを選択してください。
設定場所:Plugg管理トップ→「User Management」→「Settings」タブ→「User management plugin」項目
【その他】
上記プラグインの中でいくつか開発途中のため正常に動作しない部分があります(RSS表示等)が、
徐々に修正していきます。
正式リリースまでには更にプラグインを追加する予定です。取れる時間にもよりますが、下記のような
プラグインを追加したいと思っています。
Cache
汎用的なCache APIを提供することで各種プラグインが容易にキャッシュ機能を実装することができます。
これによりキャッシュデータの一元管理が可能になります。実際のキャッシュ処理を行う機能は他プラグイン
により提供されます。
FileCache
ファイルシステム上にキャッシュデータを保存する機能をCacheプラグインに提供するプラグインです。
DatabaseCache
データベースにキャッシュデータを保存する機能をCacheプラグインに提供するプラグインです。
Notification
汎用的なNotification APIを提供することで各種プラグインが容易に通知機能を実装することができます。
通知メッセージを実際に送信する処理は他プラグインにより提供されます。例えばMailプラグインがメール
にて通知メッセージを送り、Messagesプラグインがプライベートメッセージとして通知メッセージ
を送る等々。
Activity
各ユーザのサイト内および外部サービスでの活動状況をプロフィールページにタイムライン表示します。
サイト内の活動状況にはフォーラムでの投稿等が含まれます。外部サービスでの活動状況は例えば
Twitterでの投稿等が含まれます。
外部サービスでは今のところTwitter/Flickr/Digg/Delicious/LastFM/YouTube等が対応しています。
いずれも個別のプラグインですので更にプラグインが出てくれば対応サービスが増えていきます。
MySQLFulltextSearch
検索コンテンツに対してMySQLの全文検索を行うプラグインです。MySQL5.1からはMySQLの再コンパイル
なしに、MySQLのプラグイン経由で日本語の全文検索機能も容易に導入することができますので、日本語の
サイトでも利用機会が増えてくるのではと思います。
Guestbook
Forumプラグインと似たインターフェースで、登録ユーザでなくとも書き込める掲示板(ゲストブック)です。
サイト全体、各グループ、各ユーザにそれぞれゲストブックを設置することができます。
【デモ】
Plugg for XOOPS Cube Legacyのデモはありませんが、WordPress版であるPlugg for WordPress
を http://pluggcms.org/wp/ にて試験運用中(英語)です。
XOOPS Cube Legacy版とWordPress版とではベースとなるCMSは異なりますが、CMSとPluggとを
繋ぐプラグイン以外はいずれも同一のプラグイン群を使用しています。各プラグインのソースコードも
全く一緒です。そのため、Pluggの動作を確認してもらうぶんにはWordPress版でも問題ないかと
思います。