これまでTrackbackブロックや公開の切り替え、削除などの管理が行えるのはSuper-Adminに限られていましたが、これをSuper-Admin以外にもできるようにしてみました。複数人でNucleusを利用している場合にはバージョンアップをすることをおススメします。例によって穴が開いている可能性がありますので、おかしな動きを見つけたら教えてください。
※使い方についてはplugins:trackback [Nucleus CMS Japan Wiki]を参照してください。
動作確認はNucleus 3.3(UTF-8)、PHP 4.4.7環境で行っています。
動作確認報告、バグ報告はこのエントリへ、コメント・トラックバックをお願いします。
† [Added] SuperAdmin以外でもTrackbackが管理できるようにした
Super-Admin出ない場合でもトラックバックの管理が行えるようになりました。Super-Adminはこれまで通り全てのトラックバックの管理ができますが、それ以外のユーザーは自分が書いたエントリもしくは、自分がBlogAdminに指定されている場合には指定されているブログの全てのエントリに対して管理が行えるようになります。
2.0.3 jp11を導入してみました。
トラックバックURLの短縮化をしているからなのか、インストール直後、以下のようなメッセージが表示されました。
mySQL error with query ALTER TABLE `nucleus_plugin_tb` ADD INDEX `tb_id_block_timestamp_idx` ( `tb_id`, `block`, `timestamp` DESC ): Duplicate key name 'tb_id_block_timestamp_idx'
(問題ないですよね?)
Super-Admin以外の動作報告ですが、「ブロックされたトラックバック」の一覧表示は問題なくされます。
ただ、「ブロックされたトラックバックのクリア」や「spam判定されたトラックバックのクリア」の権限は許可されていないため、一件ずつ削除しなければならないのが少しわずらわしく感じました。
つづけてすいません。
トラックバックが送られたことを、メンバー個別にメールで通知するにはどうすればいいでしょうか?
エラーについては問題ありません。
# パフォーマンス向上用のインデックスを作るためのものなのですが、もうすでに存在しているというエラーが出ています。
一括クリア機能については今後の検討課題にしたいと思います。影響が大きいので、ちょっと今回のバージョンアップに盛り込むのを躊躇しました。
メール通知についてはブログオプションにある「ping受付時のメール送信先」を使ってください。
hsurさんへ
エラー、問題なくてホッとしました。
一括クリア機能の件、次期バージョンに実装されるのを心待ちにしております。
こちらの勘違いかもしれませんが、メール通知ですが、「ブログオプションにある『ping受付時のメール送信先』」に複数のメールアドレス(複数のユーザーで運用しているので)を入れると、そのメンバー全員に通知されますよね?
あ、いえ、いいです!
またわからないことがあったら教えてください!
どうもありがとうございました。
こんにちは。はじめまして。超初心者です。
http://japan.nucleuscms.org...
↑
こちらの記事の⇒「 Tipsと裏技 」
にしたがって、<%TrackBack(url)%>を、①<%sitevar(url)%>item/<%itemid%>.trackbackもしくは②<%itemlink%>.trackback と書き換えたところ、トラックバックURLは表示されず、書き換えたコード(①、②)がそのまま表示されてしまいます。
いろいろ検索したのですが、同様の記事が見つからなかったので、質問させていただきました。
よろしくお願いします。
<%TrackBack(url)%>を書いていた場所はどこでしょうか。スキンですか、それともテンプレートですか?
<%TrackBack(url)%>はNucleusのスキンやテンプレートのどこに書いても比較的うまく動くように作ってあるのですが、Tipsと裏技に書かれている方法はスキンの「個別アイテムページ」内にしか書くことができません。
とりあえず、使っているバージョンなどについては質問投稿ガイドライン(http://japan.nucleuscms.org...)に沿って教えてもらえると、もうちょっとアドバイスできるかもしれません。
hsurさん、お返事ありがとうございます。
<%TrackBack(url)%>を書いていた場所は、テンプレートです。
管理画面>テンプレート編集で、
default/indexと、default/item を編集しました。
ご質問させていただいた後、記述箇所を<%TrackBack(url)%>に戻したら、urlが正しく表示されました。
また、履歴を確認すると、トラックバックがblockされていました。手動送信で確認したところ、正しくトラックバックが受け取られました。
確認が足りず、お手数おかけしました。
1)Nucleus本体のバージョン
Nucleus CMS v3.3
使用している文字コード( EUC-JP)
2)サーバー環境
PHP5
MySQL(?)
Apache等Webサーバー(?)
使用している文字コード(EUC-JP)
ホスティング会社:XREA.COM
3)クライアント環境
OS(win xp pro)
ブラウザ(FireFox2.0.0.9)
やはりテンプレートに書いていましたか。
ちなみにテンプレートのどのマスに書いていますか?
例)アイテム>アイテムの本体
どのマスに書いても下記のものは比較的ちゃんと動くと思うのですが、
こちらはもう試されたということでいいでしょうか?
<%itemlink%>.trackback
初めて質問をさせていただきます。
以前、Nucleus v3.2 で NP_TrackBack v2.0.1 jp c3 を使用していました。
この度 Nucleusのバージョンを v3.3にアップデートしたのを機会に、NP_TrackBack のほうも v2.0.3 jp11にしたところ、
色々巧く行かない事にぶち当たってしまいました。
色々弄ったり検証してみたのですが、それでも分からなかったので質問をさせてください。
(NP_TrackBackのアップデートは、ファイルを上書きの後、プラグインの管理画面より「アンインストール → 再インストール」という手順で行いました。)
★ メールでのお知らせ機能
以前は「トラックバックのあったことをメールで知らせるかどうか?」を、プラグインのオプション設定のページからできていた(『日付の形式』と『ping受付時のメール送信先』の項目の間に『メールで知らせるか?』の選択項目があった)のですが、 v2.0.3 jp11にしたところ、その項目は無くなってしまいました。
v2.0.3 jp11では、どこから選択すればいいのでしょうか?
(ちなみに、ブログの『グローバル設定』のぺージの“プラグインによる追加設定”のところには、何の項目も表示されていません)
現時点では、お知らせメールは届いています。
それとも、これは仕様であって「メールお知らせを希望しないならメールアドレスを設定しない」ということなんでしょうか?
★ 「トラックバック元にping先記事へのリンクがあるかどうか」の判定
同一ブログから localを外してのトラックバック、ポップアップ手動フォームからのトラックバックの際に、『記事内のバックリンク』の判定が(有っても無くても)全て『無し』と判定されて処理されているようです。
ちなみに、他のブログからのトラックバックに関しては、正しい判定を受けて設定通りの処理がなされます。また、管理画面の手動pingフォームからのトラックバックは、localトラックバックと同様、リンクの有無に関わらずトラックバックできます。
これらもまた、仕様でしょうか?
★ if拡張(<%if()%>)が機能しない
『ヘルプ』に記載のとおりに、例えば
<%if(TrackBack)%>●●●●<%endif%>
<%if(TrackBack,accept,no)%>○○○○<%endif%>
と記述すると、●●●●も○○○○も、両方表示されてしまう・・・つまり、条件の判定が巧くいきません。
記述場所は『トラックバック表示専用テンプレートのフッタ』の中だったのですが、個別アイテムページのスキン内に記述しても同様の結果でした。
ちなみに、例えばこの場合『accept』の判定は、トラックバックオプションの設定/ブログ自体の設定/アイテム自体の設定、いずれの設定をもって判定しているのでしょうか?
環境はNucleus v3.3(EUC-JP)、PHP 4.4.7です。
(EUC-JPだから、ダメなのでしょうか・・・?)
長々と質問してすいません、
どこか見落としている所があれば、ご指摘いただけると幸いです。
こんにちわ。
ちょっと沢山あるのでわかるところから、順次答えていきます。
★ メールでのお知らせ機能
どのバージョンからか忘れましたが、冗長な設定を廃止するということで、On/Offを削除してメールお知らせを希望しない場合にはメールアドレスを設定しないということにしたはずです。
★ 「トラックバック元にping先記事へのリンクがあるかどうか」の判定
こちらでも調べますが、localを外してのトラックバックしたときには管理者操作履歴にはどのようなログが残っていますか?それを教えてもらえると修正が早くなるかもしれません。
★ if拡張(<%if()%>)が機能しない
たとえばですが
<%if(TrackBack)%>
●●●●
<%else%>
○○○○
<%endif%>
というようにしたらどうでしょうか?
私のほうではテンプレートに埋め込んでテストした覚えがないので、テンプレートではうまく動かないかもしれません
(EUC-JPだから、ダメなのでしょうか・・・?)
それはないと思います。
早速のお返事、大変ありがとうございます。
どのバージョンからか忘れましたが、冗長な設定を廃止するということで、On/Offを削除してメールお知らせを希望しない場合にはメールアドレスを設定しないということにしたはずです。
メールお知らせの選択方法については、やはりそういう仕様に変更されていたのですね。
了解いたしました。
localを外してのトラックバックしたときには管理者操作履歴にはどのようなログが残っていますか?
ping先記事へのリンクを記述せずにトラックバックした場合も、記述せずにトラックバックした場合も、
Trackback: LinkCheck NG. [ignore] (itemid:305 from: http://*******.#####.ne.jp/blog/index.php?itemid=303 cnt: 5 pat: {^http¥://*******¥.#####¥.ne¥.jp/blog/index¥.php¥?itemid¥=305}i)
つづいて
[lime] TrackBack Error:An error occurred: XML Parse Error: syntax error in 1 (http://######/blog/action.php?action=plugin&name=TrackBack&tb_id=305)
というふうに、同じ内容のログが残りました。
(305がping先のアイテムID、303がトラックバックしたアイテムのID。*******、#####はただの伏せ字です)
参考になるといいのですが・・・
たとえばですが
<%if(TrackBack)%>
●●●●
<%else%>
○○○○
<%endif%>
というようにしたらどうでしょうか?
アドバイスいただいた通りに記述したところ、スキンのほうでは正しく条件判定されるようになりました。
そして、おっしゃるとおり、やはりテンプレートのほうではダメでした。
なので、スキン上でなんとか工夫したいと思います。
また、『accept』の『no』判定について
“トラックバックオプションの設定”“ブログ自体の設定”の拒否設定は反映されるけれど、アイテム自体の拒否設定は反映されないことも、自分で検証しているうちに判りました。
アドバイス、ありがとうございます。
すいません、伏せ字失敗しました。
localを外してのトラックバックしたときには管理者操作履歴にはどのようなログが残っていますか?
ping先記事へのリンクを記述せずにトラックバックした場合も、記述せずにトラックバックした場合も、
Trackback: LinkCheck NG. [ignore] (itemid:305 from: http://*******.#####.ne.jp/blog/index.php?itemid=303 cnt: 5 pat: {^http¥://*******¥.#####¥.ne¥.jp/blog/index¥.php¥?itemid¥=305}i)
つづいて
[lime] TrackBack Error:An error occurred: XML Parse Error: syntax error in 1 (http://*******.#####.ne.jp/blog/action.php?action=plugin&name=TrackBack&tb_id=305)
これで正しく表示されるでしょうか?
ありがとうございます。
★ if拡張(<%if()%>)が機能しない
どうやらこの件はバグのようです。
修正版を用意する方向で検討します。
hsurさん、ありがとうございます。
さっそく、NP_TrackBack v2.0.3 jp12をインストールして試してみたところ
全て解決いたしました。
本当にありがとうございました。
よかったです。こちらこそいろいろ助かりました。
# ここまでのバグがあるとは思っていなかったです。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。