4.更新ping、トラックバック送受信
- 1)更新pingの送信
- あらかじめ一般設定で更新ping送信先を指定しておきます。(隠し機能として投稿時に選択できることも可能ですがユーザーに使用させるのはお奨めしません)
多くを指定すると時間がかかりますので、せいぜい4つくらいに止
めましょう。
投稿または編集時に「オプション欄の更新pingを送信する」をチェックしない限り送信しません。通常はoffです。むやみやたらに送信するのはやめましょう。
- 2)トラックバック送信
- 投稿または編集時に送信先trackback_urlを「トラックバック/リンク先欄」に入力します。複数ある場合は1カ所ごとに改行します。
指定したトラックバックリンク先へは一度しか送信しません。やむを得ず再送する場合は送信済みデータを削除した上で行ってください。- trackback_urlのautodiscover
自動検知する方法もあるのですが採用可否を思案中です。v1.01aから採用しました。送信先ページのurlを入力すれば、自動的にtrackback urlを取得しますので調べる手間が省けます。ただし、相手サーバーによっては時間がかかるときがありますのでphpのタイムアウト時間に注意してください。
- 3)トラックバック受信
- まず、ゲストに閲覧権限を与えてください。
トラックバック承認システムもあります。一般設定で選択してください。その場合、トラックバック到着通知ができるようにイベント通知または承認モジュールなどを利用するといいでしょう。
- 4)トラックバックSPAM対策
- 次のような機能があります。いずれも一般設定で選択してください。
- イ)タイトル、ブログ名がブランクのものを拒否する
- トラックバックのルール上trackback_urlさえ存在すればいいのですが、どこの誰とも分かりにくいものは避けたいので、
最低限これはonにしておくことを薦めます。強制的に拒否とします。
- ロ)禁止用語
- タイトル、ブログ名、要約欄に禁止用語が含まれるものを拒否する(1語ずつ改行)
- ハ)DNSBLチェック
- 送信元のアドレスがブラックリストに登録されている場合拒否します。
- ニ)文中のurlチェック
- 要約文中にurlの記載があれば指定したサーバーにブラックリスト登録されていないかどうかチェックします。
- ホ)文字パターンチェック
- マルチバイト使用時のみ有効です。
unicodeの正規表現による文字パターンと必要文字数を指定します。
タイトル、ブログ名、要約文中で、パターンに合致する文字数のいずれも合計が指定数に満たない場合拒否します。
日本語の場合文字のパターンのデフォルトは、ひらがな、カタカナ、漢字の3種です。 - ヘ)正規表現によるチェック
- ト)参照先言及チェック
- 当方のブログのurlについてブログページで言及してない場合は拒否します。(snoopyクラスで送信元ページを読み込みます)
5)一般設定で「チケット式トラックバックURLを使う」を選択した場合、
- 相手はjavascript有効である必要がある
- チケットの有効時間は1日
- 一度使われたチケットは再利用できない
- 埋込RDFのtrackbak_urlはチケット式表記ではない(つまり、__mode=rssなどのGET要求はチケット方式を使わない。当然ですが)
であることに留意してください。
*作者としては、これは世のトラックバックルールから外れるうえ、思わぬ副作用も考えられるのでお奨めしません。
*SPAM対策としては承認式あるいは4)に掲げた方策で十分です。それでも耐えきれなったときの最後の手段と考えてください。
5.エントリ単位の閲覧権限
一般設定でエントリ毎に閲覧可能グループを指定できます。
その際はデフォルトの許可グループを同時に指定してください。
ただし、パミッション管理で閲覧権限のないグループは無効になります。
一般設定の「タイトル・要約部分は閲覧可能」を有効にすると、エントリ単位で閲覧権限のないグループでも、メイン処理やブロックでタイトル・要約部分は閲覧可能になります。
- 留意事項
- この機能を、今までoffであったものを途中でonにする場合は注意が必要です。
過去データのアクセス権は管理者のみだが設定されてないからです。phpmyadminなどで補正してください。
v1.02からは、エントリ別制限off時のデフォルト値はデフォルトグループとするよう変更しました。
後でグループ追加した場合は必ずモジュールアップデートしてください。xoops仕様のため、一般設定のデフォルトグループ選択対象にはならないからです。なお、v1.02では、デフォルトグループですべてのグループを選択しておけば、後でグループを追加しても新グループも自動的にカバーできるようにしました。
6.プラグイン
下記モジュールのプラグインをextra以下に同梱しています。必要に応じてアップしてください。
*なかには使用ディレクトリ名に応じてリネームする必要があるものもあります。
| モジュール名 | プラグイン | 備考 |
| xmobile | extra/html/modules/xmobile/plugins/d3blog.php | リネームが必要 注1を参照 |
| piCal | extra/html/modules/piCal/plugins/ monthly/d3blog-date、d3blog-entry | daily,weeklyなど 必要なものだけを upすればいい |
| d3pipes | extra/xoops_trsut_path/modules/d3pipes/joints/ block/D3pipesBlockD3bloglist.class.php | ホダ塾ディストリビューション版ではd3pipesに格納されています |
そのほかに下記のプラグインを内蔵しています。
| モジュール名 | プラグイン | 備考 |
| d3forum | html/class/smarty/plugins/ function.d3comment.php | コメント統合を 使わなくても必須 |
| d3forum | xoops_trust_path/modules/d3blog/ class/d3blogD3commentEntry.class.php | コメント統合用 第9項を参照 |
| search | xoops_trust_path/modules/d3blog/ include/search.inc.php | |
| whatsnew | xoops_trust_path/modules/d3blog/ include/data.inc.php | |
| waiting | xoops_trust_path/modules/d3blog/ include/waiting.plugin.php | |
- 注1)ディレクトリ名末尾が数字の場合
- xmobile/class/Control.class.phpに手を入れてください。108行目を次のように:
if(preg_match("/(^\w+)\d$/", $this->pluginState,$matches) && !file_exists(XOOPS_ROOT_PATH."/modules/$this->pluginState/mytrustdirname.php"))
7.wysiwygエディタ
モジュール一般設定からFCKeditorまたはquicktagが選択できます。
ただし、html権限のあるグループしか使えません。
FCKeditorは同梱しませんので、必要な場合ホダ塾の「Package_hd for XCL2.1」最新SVNからtarボールをダウンロードしてください。
html/common/fckeditorディレクトリ毎サーバーにアップします。
8.画像アップロード
d3blog自体には機能がありません。
イメージマネジャーまたはイメージマネジャー統合機能などを活用してください。
- XCL専用アップローダーを用意しました
- 新作myuploaderモジュール(もちろん複製可能、xoops_trust_pathで動作のD3もどきです)を使えばd3blog独自xcodeに対応したイメージマネジャーが利用可能です。また、myuploader単独ではhighslideを使った簡易フォトアルバムが実現できます。
- myuploaderとmyuploaderに対応したd3blogのtarボールはsourceforgeのmyuploaderプロジェクトSVNでダウンロードできます。既存のd3blogをいったん全削除(お奨め)、あるいは上書きしてください。
9.d3forumコメント統合を使うには
まず、d3forumでコメント統合用のフォーラムを作成します。そのとき、「コメント統合時の参照方法」欄に下記フォーマットで入力してください。
ディレクトリ名::d3blogD3commentEntry::trust側ディレクトリ名
- 注意:
- d3forumのバージョンをv0.83以上にあげてください。同時に、付属のsmartyプラグインファイル "function.d3comment.php"も忘れずにアップロードしてください。
続いて、d3blog側一般設定でd3forumのモジュール名を選択、対象となるforum_idを指定してください。それだけです。
(v1.02.4bからコメント数取得を内蔵しました。テンプレート更新が必要です。)
10.ブロックの複製
v1.02からすべてのブロックが複製可能になりました。内、最新エントリブロックについてはクローンブロックにオリジナルテンプレートが適用できます。
その場合、ブロック編集の「独自テンプレート」欄にテンプレート名を指定してください。
db:dirname_blocks_original-name.html
上記に対応するテンプレートファイルをtrust側templates以下に作成し、dbに登録(モジュール更新)します。ファイルテンプレート(file:で始まる)の場合は絶対パスでファイル名を記述。
ファイルを直接適用テーマのtemplates以下に作成すればテーマ下テンプレートになりますが、この場合db登録は不要です。ただしsmartyエラーが出ますが。
- テーマ下テンプレートとは:
- 使用theme/templates以下に置かれたテンプレートが最優先される仕組み。
以上
d3blogの使い方(1
)へ