冬支度しなくちゃ
APC のユーザーキャッシュで XOOPS 2 のメインメニューを軽くする
Re: d3comment統合のページ分割でのquery_stringの引き方
詳細に回答頂き、ありがとうございます。
naaonさんの過去の改変が網羅されたものであること。
及び、アップグレードのやり方と注意。
承知しました。
しかし、PHP 5 以上であることが必要とのこと。
アップグレードするのは、見合せます。
名探偵コナン 沈黙の15分 上 (少年サンデーコミックス〔ビジュアル セレクション〕)
名探偵コナン 沈黙の15分 上 (少年サンデーコミックス〔ビジュアル セレクション〕)
もうクリスマスシーズンかぁ
HypCommonFunc
一迅社文庫アイリス
xpWiki開発日記
Re: アンティーク★salon de chirimen
オシャレです♪
HypCommonFunc 更新 (Ver. 20111118) 設定モジュール hypconf 同梱とスマホ対応の調整など
Ver 5.01.2 (html側更新、hypconfモジュールの追加など)
xpWiki 5.01.2
PukiWiki 1.4.8_alpha をベースにした Wikiモジュールです。
インストール手順
xpWiki のXOOPSへのインストール
XOOPS 側の準備
- XOOPS_TRUST_PATH の準備
- まずは、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 以降を使用してください。
- 3.02 未満の場合、ref プラグインで画像を多数張った場合や付箋の移動などで、DoS/crawlerチェックに引っ掛かる可能性があります。(xpWiki 3.55 以降で対応)
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 ディレクトリへアップロードする。
- html側のモジュールディレクトリ名'xpwiki'は自由に変えてもOKです。
- xoops_trust_path ディレクトリの中身をすべて XOOPS_TRUST_PATH ディレクトリへアップロードする。
- 携帯対応レンダーをXOOPSに適用する場合で、XOOPS 2.0.16aJPを使用している場合のみ、core_addons/html_2.0.16aJP ディレクトリの中身を XOOPS_ROOT_PATH へアップロードする。
(XOOPS Cube Legacy の場合は、このディレクトリは必要ありません。)
- html ディレクトリの中身をすべて XOOPS_ROOT_PATH ディレクトリへアップロードする。
- 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'があった場合や正常にアクセスできない場合*2は、以下を参考にパーミッションの設定を行ってください。 - 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 のページを参照してください。
オリジナル設定の行い方
各種設定
- 各種設定は、ini ディレクトリにある *.ini.php ファイルを編集して行います。
- 各 *.ini.php ファイルの雛形(規定値)は、XOOPS_TRUST_PATH/modules/xpwiki/ini にあります。それらのファイルから必要な部分を切り出して、XOOPS_ROOT_PATH/modules/xpwiki/private/ini ディレクトリ内の同名ファイルに追加記述してください。
プラグイン
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 として保存してください。
http_request.ini の書式は、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件
急に寒くなってきた
Re: 既存ページを更新できない事象への対応?
まずは、お疲れ様でした((i:f995))
ありがとうございます。
今回は、XCL の新しいディストリビューション XOOPS Cube 2.2 Distribution Pack 2011 をちょっとだけお手伝いさせて頂いたので、それもあってちょっと頑張って作業しました。
で、本題なのですが diff ディレクトリのパーミッションは 707 ということで、とりあえずファイルは作成できると思うのですが、そのファイルの所有者が httpd(apacheとか) 又は、nonn50 さんのアカウントにならないということでしょうか。
Re: クエリーが失敗しました
とりあえず、直っているようでよかったです。
ちなみに、この症状がでた可能性を思いだしました。
登録内容の表示する件数を少なく変更する作業を昨日しています。
その作業内容がどうのようなものかよく分からないので、なんとも言えませんが、ひょっとすると何か影響があったかも知れませんね。
Re: xpWiki開発日記/2011-11-20
nao-ponさんどうもです。
naaon さん、いろいろお疲れ様です。 今回、いい機会を戴きましたので HypCommonFunc, xpWiki とも良い方向に発展できたと私自身も嬉しいです。ありがとうございます。
いや、そういっていただけると安心ですが、あれやこれや負担をかけてしまって良かったのかな、と内心不安でした。
そして何より自分がこんな中心的な旗振り役をやっていて大丈夫?って(笑)
pack2011 の発展を私も楽しみにしています。
ありがとうございます。
今後もnao-ponさんはじめ皆さんにお願いすることが多いと思います。よろしくお願します。
ダンタリアンの書架 ダリアンDays (2) (角川コミックス・エース 221-5)
ダンタリアンの書架
Re: スマートフォンでログインできなくなりました
nao-ponさん、ご返信いただきまして有難うございます。
私も思っていたのですが、確かにサーバ移転をしてMySQLが5.1から5.5へ、Apacheが1.3から2.2.3へ変更したとはいえ、PCおよび通常の携帯電話からの不具合報告は無く、当方もテストしてある程度は確認していました。
実機のiPhoneを家族に借りて試しても、問題なく簡単ログインできたので、何が問題なのかなと・・・
(アンドロイドの仕様はわかりませんが。あとPHPのバージョンは前サーバと同じです)
報告のあったユーザーは、新サーバに移転する前は簡単ログインが出来ていたらしいのですが、一応クッキーとキャッシュを削除して試してくださいと当日にお伝えしたところ、それらを削除してもダメだったようです。
で、思い当たるのはセッションテーブルが壊れているのかなと思い、xoops_sessionを空にして、いくつかのキャッシュフォルダも空にして、更についでなのでHypCommonFuncも最新版の20111118にバージョンアップしてみました。
(当日もセッションテーブルは空にしたけど再度念のため。)
一応SoftbankのSH003のユーザーからはログインできるようになったとご連絡いただきました。
他のユーザーからはまだご連絡頂いていないのですが、これでログインが出来ているといいんですけどね
ところで20111118にして、スマホのテンプレートまで用意して頂いて、とても良い感じでした
モジュール画面である程度管理できるのも便利そうですね!
あと、ひとつ確認なのですが、携帯レンダラーをスマホも対象にして jQuery mobile を適用されているのでしたら、 IS04, IS05, 003SH などの端末でスマホ表示になっているかどうかを確認してみてください。
これが、スマホ表示になっていないとすると、端末の切り分けが正しくできていないことになるので、携帯対応レンダラー側での調整が必要になりますのでお知らせ下さい。
前サーバから続けて使わせて頂いていたのが20100725でしたので、まだjQuery mobileなどは適用していなかったと思います。
また、移転前まではログインできていたとお伝えいただいたので、スマホあるいは携帯として認識はしていたのかなと。
今回20111118にしましたが、再度ユーザーから連絡あり次第ご確認させていただきます。
何度もお手数をおかけしてすいません。