HypCommonFunc 20130811 リリース
xpWiki開発日記
xpWiki 5.02.2 リリース
xpWiki 5.02.2
PukiWiki 1.4.8_alpha をベースにした Wikiモジュールです。
xpWiki (えっくすぴーうぃき)
インストール手順
xpWiki のXOOPSへのインストール
xpWiki は、X-update に対応しています。XOOPS Cube Legacy (XCL) 2.2 以降をお使いの方は、X-update を導入し、管理画面の「導入・アップデート管理」から、hypconf, xpwiki を一括処理でインストール*2すると、ダウンロード・解凍・アップロード・パーミッション設定などの面倒な作業をすることなく、すぐに利用開始できます。
また、新規に XOOPS を構築される場合は、XOOPS X ディストリビューションを強くお勧めします。XOOPS X には、予め altsys, protector, xupdate がインストールされています。
XOOPS 側の準備
- XOOPS_TRUST_PATH の準備 (XCL 2.1 以前)
- まずは、XOOPS_TRUST_PATH について理解をしてください。以下の記事が秀逸で参考になると思います。
- XOOPS_ROOT_PATH/mainfile.php にて XOOPS_TRUST_PATH を設定する。設定済みなら、もちろん何もしないでOK。
XOOPS_ROOT_PATH の define 行の下に同じく define で設定してください。
できれば、ドキュメントルートの外に設置できればベストです。
[例]define('XOOPS_TRUST_PATH', '/home/yourhome/xoops_trust');
他モジュールとの依存関係
- ブロックの複製機能を利用したい場合は、altsys モジュールをインストールしてください。
- protector モジュールを使用する場合はできる限り、protector 3.02 以降を使用してください。
xpWiki のインストール
- サーバーへの設置とパーミッション設定
- 簡単インストーラー xpwiki_installer.cgi を使用する方法
- xpwiki_installer.cgi を XOOPS_ROOT_PATH/ へアップロードする
- XOOPS_ROOT_PATH/xpwiki_installer.cgi に実行権限を与える (755など)
- XOOPS_URL/xpwiki_installer.cgi にブラウザでアクセスし、画面の指示に従う。
- アーカイブを解凍してFTPでアップロードする方法
- xpWiki*.zip を解凍する (ダウンロード)
- 必要なファイルをWebサーバーへアップロードする
- html ディレクトリの中身をすべて XOOPS_ROOT_PATH ディレクトリへアップロードする。
- xoops_trust_path ディレクトリの中身をすべて XOOPS_TRUST_PATH ディレクトリへアップロードする。
- 携帯対応レンダーをXOOPSに適用する場合で、XOOPS 2.0.16aJPを使用している場合のみ、core_addons/html_2.0.16aJP ディレクトリの中身を XOOPS_ROOT_PATH へアップロードする。
(XOOPS Cube Legacy の場合は、このディレクトリは必要ありません。)
- XOOPS_TRUST_PATH/cache ディレクトリがなければ作成して、パーミッションを 707 などにして、ファイル作成権限を与える。
- XOOPS_TRUST_PATH/class/hyp_common/favicon/cache ディレクトリのパーミッションを 707 などにして、ファイル作成権限を与える。
- XOOPS_TRUST_PATH/class/hyp_common/ini/http_request.ini.dist は、http通信をする Hyp_HTTP_Request クラスの設定ファイルの雛形です。プロキシ設定などサーバー固有の設定をしたい場合は、ファイル名を "http_request.ini" として設定保存してください。
設定書式は、ini 形式です。 - XOOPS_ROOT_PATH/class/hyp_common/cache ディレクトリのパーミッションを 707 などにして、ファイル作成権限を与える。
- XOOPS_ROOT_PATH/modules/xpwiki/admin/setup.cgi に実行権限を与える(パーミッション 705, 755 etc)
- XOOPS_URL/modules/xpwiki/admin/setup.cgi へブラウザでアクセスする。
- すべてのメッセージが'OK'であればパーミッションの設定は完了しています。
'NG'があった場合や正常にアクセスできない場合*3は、以下を参考にパーミッションの設定を行ってください。 - XOOPS_ROOT_PATH/modules/xpwiki 以下のパーミッションを設定する(例)
attach 707 attach/s 707 private/backup 707 private/cache 707 private/cache/page 707 private/cache/plugin 707 private/counter 707 private/diff 707 private/trackback 707 private/wiki 707
- すべてのメッセージが'OK'であればパーミッションの設定は完了しています。
- 簡単インストーラー xpwiki_installer.cgi を使用する方法
- XOOPSのモジュールインストールを行う
XOOPS Cube Legacy 上での注意点
html/preload ディレクトリに HypCommonPreLoad.class.php が含まれています。これは、HypCommonPreLoad をサイトに適用するファイルです。
HypCommonPreLoad は、デフォルトで、スパム投稿防止フィルターなどの各種フィルターは無効になっています。設定値を変更して運用したい場合は、HypCommonPreLoad のページを参考にサイト運営ポリシーに合わせて、適宜調整してください。
- 注意
HypCommonFunc Ver 20080604 未満では、デフォルトで、すべてのフィルターが有効になっていましたが、Ver 20080604 以降では、すべての機能デフォルトで無効となりました。
以前のバージョンからのアップデートで、HypCommonPreLoad の独自設定を行っていない場合で、引き続き機能を有効にしたい場合は、設定値を変更する必要があります。
設定値の変更方法は、HypCommonPreLoad のページを参照してください。
オリジナル設定の行い方
各種設定
プラグイン
xpWiki のプラグインは、クラスオブジェクトになっています。XOOPS_ROOT_PATH/modules/xpwiki/private/plugin に派生クラスを置くことで、各プラグインを上書きすることができます。
派生クラス名は、元のクラス名にインストールディレクトリ名を加えた名称にします。
例えば、amazon プラグインの場合、元のクラス名が xpwiki_plugin_amazon なので、モジュールインストールディレクトリが 'xpwiki' の場合、xpwiki_xpwiki_plugin_amazon になり、モジュールインストールディレクトリが 'mywiki' の場合、xpwiki_mywiki_plugin_amazon となります。
派生プラグインは、自分で書いてもよいですが、既存の xpWiki 用プラグインを変換するツールを用意してあります。
変換ツールは、xpWiki管理画面のプラグイン変換ツールから 'xpWiki Plugin converter from System to User' をお使いください。
各プラグイン内の設定は plugin_NAME_init() 内に記述されていますので、その部分のみ書いておくことで、プラグインのバージョンアップ時にも柔軟に対応できます。
例えば、モジュールディレクトリ名が xpwiki の場合の amazon プラグインで associate ID のみを 'hogehoge-22' に変更したい場合は、次のようになります。
- XOOPS_ROOT_PATH/modules/xpwiki/private/plugin/amazon.inc.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14
class xpwiki_xpwiki_plugin_amazon extends xpwiki_plugin_amazon { function plugin_amazon_init() { parent::plugin_amazon_init(); // Amazon associate ID $this->cont['PLUGIN_AMAZON_AID'] = 'hogehoge-22'; } } ?>
プロキシ設定
外部へ接続する場合に、プロキシ設定が必要であれば、pukiwiki.ini.php に設定項目がありますが、HypCommonFunc Ver. 20080516 以降を利用している場合、実際に外部接続に使う Hyp_HTTP_Request クラスの設定ファイル http_request.ini を設定することで、一元的に設定することができます。
http_request.ini は、XOOPS_TRUST_PATH/class/hyp_common/ini/http_request.ini.dist が雛形となっていますので、そのファイルを編集設定し XOOPS_TRUST_PATH/class/hyp_common/ini/http_request.ini として保存してください。
モジュールの複製
xpWiki は GIJOE氏が提唱している D3(Duplicatable V3) に準拠しています。XOOPS_ROOT_PATH 側に置く xpwiki ディレクトリの名称を好きなように変えて、アップロードすることでいくつでもインストールすることができます。
PukiWiki 用プラグインの取り込み
PukiWiki プラグインを xpWiki プラグインに自動変換することができます。ただし、すべてのプラグインが問題なくできるとは限りません。
変換ツールは、xpWiki管理画面のプラグイン変換ツールから 'Plugin converter from PukiWiki 1.4 to xpWiki' をお使いください。
変換したプラグインは、XOOPS_TRUST_PATH/modules/xpwiki/plugin ディレクトリに置いてください。
上手く変換できなかった場合は、サーバーにアップロードした時点や、プラグインを呼び出した時にPHPの実行が止まって画面が真っ白になることがあります。もし、そのような状態になった時には、サーバーから削除して変換されたプラグインの内容のデバグを行ってください。
最近の開発日記
xpWiki開発日記 最新の15件
DVD付き FAIRY TAIL(39)特装版 (講談社キャラクターズA)
Re: xpWikiでリッチエデッタを使用するには?
ほりあき さん、こんにちは。
xpWikiでリッチエデッタを使用するには、どのように設定すれば良いのでしょうか?
と、質問すると、普通に使えますよと返事がくるような気がしていますが・・・
はい、何もしない状態で使えるようになっています。
右下に表示される「テキストを折り返さない」と「リッチエデッタ」のボタンが表示されない状態
たぶん、JavaScript 同士がバッティングして、JavaScript エラーになっていると思われます。
XCLの本文入力時に・・・
ん?これは?「XCLの本文入力時」とは、どの入力フォームでしょうか?
X-Updateを使い xpWiki 5.02 と CKEditor 4 0.37 、 HypCommon 1.13 をインストールしたのですが、xpWikiでリッチエデッタが使えない状態でした。
できれば、全ての入力部分でCKEditor 4を使いたいので、何かアドバイスを頂けないでしょうか?
xpWiki エディタのリッチエディタは、CKEditor ではなく、前身の FCKEditor 2.6 (xpWiki に同梱されています)を使用しています。できることなら CKEditor に移行したいのですが、なかなか手が付けられずにいます。
CKEditor 4 を使いたい場合は、CKEditor の HTML編集モードまたは BB-Code編集モードを使うことになります。(xpWiki の Wiki書式は編集できません)
モジュールが XCL 2.2 のHTMLエディタの自動切り替えに対応していれば、ckeditor4 をインストールすることで、適切にエディタが表示されますが、XCL 2.2 のHTMLエディタの自動切り替えに対応しているモジュールは、今のところまだ少なく、その場合はテンプレートを変更することで、ある程度対応できます。
詳しい説明が必要でしたら、別のトピックを立てて、使いたいモジュールをお知らせください。
xpWikiの編集部分で使われているテンプレートをALTSYSで探したのですが、見つけ出す事ができませんでした。(テンプレートを使わない仕組みなのでしょうか?)
はい、xpWiki の編集画面はテンプレートではなく、プログラム中に直に書かれています。
Re: tagmemoで「BOOK MARKLET」できないサイト有り
伯爵と妖精 3 (マーガレットコミックスDIGITAL)
伯爵と妖精 4 (マーガレットコミックスDIGITAL)
Re: tagmemoで「BOOK MARKLET」できないサイト有り
大変お手数をお掛けしたようで、まことに恐縮です。
本件、承知しました。
勉強します。
Re: xupdateモジュールのアイコンがモジュール一覧で表示されない
無事に解決してよかったです。
XOOPS_SALT ですが、インストールウィザードでは "substr(md5(rand()), 5, 8)" として、値を決めています。
要するに、「ランダムな(半角)英数字を8桁」です。特に決まりはないので、適当に指定すればよいと思いますが、これまでに XOOPS_SALT を利用して暗号化などをしたデータを保存していたりすると値を変更することで問題が生じるかも知れません。
XOOPS_SALT を利用しているところを、ちょっと調べてみたところ、コアに関しては次のとおりでした。
- カスタム設定ファイルの在処: "XOOPS_TRUST_PATH/settings/site_custom_[XOOPS_SALT].ini"
- モジュール・ブロックキャッシュのファイル名の生成: md5(XOOPS_SALT) をファイル名の一部として使用
こんな感じかな。コアに関しては特に問題となるような部分はなさそうです。
Re: xpWikiでリッチエデッタを使用するには?
エラー: SyntaxError: missing ) after argument list
ソースファイル: サイト/modules/xpwiki/skin/loader.php?src=default.ja_utf8.js
まず、これが問題ですね。
サイト/modules/xpwiki/skin/loader.php?src=default.ja_utf8.js へブラウザでアクセスして内容を確認してみてください。
正常であれば次のような内容が表示されるはずです。(wikihelper_root_url の値は、サイト毎に変わります。)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| -
|
|
-
!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
!
|
-
!
|
!
|
|
Re: PCからuser.phpにアクセス出来ない
X-update でインストールされている全てのモジュールをアップデートしました。
単独にアップデートを行い、「html側のみ」のチェックを外して、 xoops_trust_path 側もアップデートするようにしました。
結果、状況に変化はありませんでした。
その後、なんだかサーバーが重くなり(時間帯のせい?)DBに繋がらなくなったりしてきたので、今日はここまでにしようと思います。
X-update でユーザモジュールがアップデートできるメニューに出てこないのは意外でした。
Re: PCからuser.phpにアクセス出来ない
今朝になってからログインをしようとしたら、何度リロードしても user.php が開けなくなってしまいました。
/xoops_trust_path/templates_c
の中身を全て削除したところ、開けました。
http://bit.ly/18vRbRz (forum.xpressme.info)
こちらのページを見つけ、下記の作業をしたところ、解決できました(まだ、様子を見たいところですが)
互換モジュール »» プリファレンス »» 全般設定で
「themes/ ディレクトリからの自動アップデートを有効にする」を
「はい」に設定しておりましたので、
「いいえ」に直しましたら、トラブルが解決しました。
まずは、ご報告させていただきます。
いろいろアドバイスを頂き、ありがとうございました。
Re: X-updateによるプリロードのインストール
アーカイブのディレクトリ構造を html 以下とすることで対応できます。
配布元の marine さんには、その旨をお伝えしましたので、アーカイブ側の修正を待ちたいと思います。