New Community Forums are coming. Watch this space for news.
Subscribe: RSS
  • 以前ここのフォーラムで投稿してたTrackback リソースキットの最新バージョンをリリースしました。
    バージョンを2にして管理機能(添付ファイルの画像参照)やスパム対策も少しだけ追加してます。

    以前もスニペットやプラグイン・テンプレート変数を使ってたのですが、今回からモジュールやチャンクも使うようになって更に複雑になってきました…おかげでインストールがかなり面倒という :’(
    ただ、Trackbackの動作設定をモジュールで行うようにしたので、ドキュメントに書くスニペットはずいぶんすっきりしてます。
    あとバージョン1の頃はリソースキットと書いてたんですが、今回からツールセットと書くようにしました。

    例によって僕のサイトで実際に動かしています smiley

    [2007/11/5:追記]
    バージョン2.03をリリースしました。
    若干のバグ修正と機能追加してますが、前バージョンの2.02とほとんど変わりません。
    ただ、内部的には結構作り変えてるので不具合が出るかも…でうs。
    (詳細は付属のreadmeに書いています)

    • soushiさん。
      Trackback ツールセットのアップありがとうございます。
      翻訳がんばります。
      • Quote from: MEGU at Sep 18, 2007, 01:29 PM

        Trackback ツールセットのアップありがとうございます。
        翻訳がんばります。

        翻訳どうもありがとうございます。
        日本語としてもちょっとおかしなところがあったりしたら…いや、たくさんあると思うのでわからなければ質問ください。
        あと一つ問題があって、readmeファイルの説明書が悪いところがあります :’(
        [初期設定]の1番の項目でドキュメントを作るところで、まだTrackback用のDBができてないためエラーになっちゃうんです。
        ここはエラーになっても気にせず次に進めていけばいいのですが、混乱を招いてしまうので次回のバージョンアップのときに合わせて書き直そうと思ってます。

        このエラーに引っかかって僕個人にメールをくれた方がいて、おかげでエラーになることに気付きました。
        (その方にメールにて返信はしてるのですが、無事に届いてますでしょうか…僕のメールは迷惑メール判定によく引っかかってしまうのでちょっと心配しています)
        • soushiさん

          非常に有益なツールセットの公開ありがとうございます。
          XREA(s265)にインストールしたMODx0.9.6.1(SVN版 rev2784)で試しています。

          1.トラックバックの受信が常に拒否される
          モジュール設定で「Trackback受信を許可するドキュメントID」を空白にしているにもかかわらず、他のサーバーからのトラックバックが拒否されます。
          応答はこれ...
          <?xml version="1.0" encoding="UTF-8"?>
          <response>
            <error>1</error>
            <message>Not allow trackback by Access List. ID:48</message>
          </response>
          

          「48」はトラックバック対象のドキュメントのIDです。どのあたりの設定をチェックすべきかヒントを頂けませんか?

          2.文字化け
          モジュール設定で「Trackback未受信時のメッセージ」に日本語を設定すると文字化けする。
          文字コードはMODx側もMySQL側もUTF-8のつもりなんですが...

          3.ドキュメントやウェブリンクを新規作成するとMySQLのSQL syntaxエラーが出る
          これが上記でsoushiさんがコメントされているエラーのことですかね?
          1つでもトラックバックが受信されれば以後は出なくなるということですか?

          4.複数サーバーへのトラックバック送信
          テンプレート変数に入力したURLへドキュメント保存時にトラックバック送信する場合、
          複数のサーバー(あて先)に一度の保存でトラックバックを送ることは可能でしょうか?
          (プラグインのソースも読まずいきなり質問でスミマセン...)
          • tkfmさんへ

            Trackbackツールセット使っていただきありがとうございます smiley
            少々縦長になってしまいましたが返信です。

            Quote from: tkfm at Sep 27, 2007, 05:05 PM

            1.トラックバックの受信が常に拒否される
            モジュール設定で「Trackback受信を許可するドキュメントID」を空白にしているにもかかわらず、他のサーバーからのトラックバックが拒否されます。

            応答からするとトラックバック設定の「トラックバック拒否-3」のフィルタに引っかかっているようです。
            ここの「トラックバック拒否-3」にもし何か書いていれば一度消していただいて試していただいてよろしいでしょうか?

            Quote from: tkfm at Sep 27, 2007, 05:05 PM

            2.文字化け
            モジュール設定で「Trackback未受信時のメッセージ」に日本語を設定すると文字化けする。
            文字コードはMODx側もMySQL側もUTF-8のつもりなんですが...

            文字化けですが…実際に文字化けした画面でブラウザのエンコードを強制的に指定してみるとどうなるでしょうか?
            (IEの場合は上部メニューから「表示」→「エンコード」です)
            「Trackback未受信時のメッセージ」が文字化けしないエンコードがUTF-8以外だった場合、どこかで変換がかかってるかもしれませんね…。

            Quote from: tkfm at Sep 27, 2007, 05:05 PM

            3.ドキュメントやウェブリンクを新規作成するとMySQLのSQL syntaxエラーが出る
            これが上記でsoushiさんがコメントされているエラーのことですかね?
            1つでもトラックバックが受信されれば以後は出なくなるということですか?

            これは僕がコメントしてるエラーとは別ですね :’(
            すいません、これはバグです。
            新規作成したドキュメントは一度保存するまでドキュメントIDが割り当てられてないので、うまく処理できずにエラーになってます。
            ドキュメントIDがわからないとトラックバックも送信できないため、新規作成のときはトラックバックのメニューが出ないようにソースを修正しますね。
            修正したものは後日、ここにアップします。

            Quote from: tkfm at Sep 27, 2007, 05:05 PM

            4.複数サーバーへのトラックバック送信
            テンプレート変数に入力したURLへドキュメント保存時にトラックバック送信する場合、
            複数のサーバー(あて先)に一度の保存でトラックバックを送ることは可能でしょうか?
            (プラグインのソースも読まずいきなり質問でスミマセン...)

            現状、同時に複数サーバへの送信は考慮されていないです。
            思いつきですが、URLをコンマ区切りでトラックバックURLをたくさん書けるようにしてみようかなぁ…。

            • soushiさん

              コメントありがとうございます。

              Quote from: soushi at Sep 27, 2007, 06:46 PM

              Quote from: tkfm at Sep 27, 2007, 05:05 PM

              1.トラックバックの受信が常に拒否される
              応答からするとトラックバック設定の「トラックバック拒否-3」のフィルタに引っかかっているようです。
              ここの「トラックバック拒否-3」にもし何か書いていれば一度消していただいて試していただいてよろしいでしょうか?
              「トラックバック拒否-3」のところは元々何も入力していないんです。
              念のため、一度何かを入力保存し、改めて全て削除して保存し直しましたが、結果は変わりませんでした。
              また、設定を保存しているチャンクを直接見てみましたが、こちらも問題なく無入力になっていました...

              Quote from: soushi at Sep 27, 2007, 06:46 PM

              Quote from: tkfm at Sep 27, 2007, 05:05 PM

              2.文字化け
              文字化けですが…実際に文字化けした画面でブラウザのエンコードを強制的に指定してみるとどうなるでしょうか?
              (IEの場合は上部メニューから「表示」→「エンコード」です)
              「Trackback未受信時のメッセージ」が文字化けしないエンコードがUTF-8以外だった場合、どこかで変換がかかってるかもしれませんね…。
              Shift-JIS/EUC/JIS/UTF-8のどのエンコードを強制指定しても正しく表示されませんでした。
              モジュールの設定画面では正しく日本語で表示されますし、設定を保存しているチャンクを直接見てみても、正しく表示されます...

              また、ソースを見ていて気づいたんですが、同時に出力されているRDFの「dc:title」や「dc:description」も似たような感じで化けています。
              (対象ブログ記事のタイトルや要約にも日本語を使っています。)

              追記: テンプレートとしてデフォルトの「MODxHost」を使っていましたが、テンプレート無しにしたら日本語が正しく表示されました... 何でだろう?

              再追記: 他のサーバーで同じ設定をしてみたら、MODxHostテンプレートでも日本語が表示されました。サーバー環境の問題のようです。もう少しいろいろ試してみますね。

              Quote from: soushi at Sep 27, 2007, 06:46 PM

              Quote from: tkfm at Sep 27, 2007, 05:05 PM

              3.ドキュメントやウェブリンクを新規作成するとMySQLのSQL syntaxエラーが出る
              これは僕がコメントしてるエラーとは別ですね :’(
              すいません、これはバグです。
              新規作成したドキュメントは一度保存するまでドキュメントIDが割り当てられてないので、うまく処理できずにエラーになってます。
              ドキュメントIDがわからないとトラックバックも送信できないため、新規作成のときはトラックバックのメニューが出ないようにソースを修正しますね。
              修正したものは後日、ここにアップします。
              なるほど~ そういう仕組みなんですか。
              そうなると、1度保存しドキュメントIDを確定した上で、
              改めてドキュメント編集をしてトラックバックPINGを飛ばすという2度保存操作になるんでしょうか?
              できればイベント等を上手く選択することで、操作上は1回の保存でPINGを飛ばせると良いのですが。

              Quote from: soushi at Sep 27, 2007, 06:46 PM

              Quote from: tkfm at Sep 27, 2007, 05:05 PM

              4.複数サーバーへのトラックバック送信
              現状、同時に複数サーバへの送信は考慮されていないです。
              思いつきですが、URLをコンマ区切りでトラックバックURLをたくさん書けるようにしてみようかなぁ…。
              横に長くなってしまいそうですね~笑
              入力をテキストボックスにして、そこに1行毎改行して送信先URLを並べる方が見やすいかも。

              そもそも、複数の送信先が必要になるケースの方が少ないですかね? (本末転倒でスミマセン)
              • こんばんわです laugh

                1.トラックバックの受信が常に拒否される
                Quote from: tkfm at Sep 28, 2007, 02:00 AM

                「トラックバック拒否-3」のところは元々何も入力していないんです。
                念のため、一度何かを入力保存し、改めて全て削除して保存し直しましたが、結果は変わりませんでした。
                また、設定を保存しているチャンクを直接見てみましたが、こちらも問題なく無入力になっていました...

                受信したトラックバックのURLからドメインをうまく抜き出せないときに「トラックバック拒否-3」が勝手に機能してしまう事を確認しました。
                tkfmさんの場合は、このパターンかもしれません。
                動作的にはおかしいので、拒否しないようにソースを修正します。

                2.文字化け
                Quote from: tkfm at Sep 28, 2007, 02:00 AM

                Shift-JIS/EUC/JIS/UTF-8のどのエンコードを強制指定しても正しく表示されませんでした。
                モジュールの設定画面では正しく日本語で表示されますし、設定を保存しているチャンクを直接見てみても、正しく表示されます...

                また、ソースを見ていて気づいたんですが、同時に出力されているRDFの「dc:title」や「dc:description」も似たような感じで化けています。
                (対象ブログ記事のタイトルや要約にも日本語を使っています。)

                追記: テンプレートとしてデフォルトの「MODxHost」を使っていましたが、テンプレート無しにしたら日本語が正しく表示されました... 何でだろう?

                再追記: 他のサーバーで同じ設定をしてみたら、MODxHostテンプレートでも日本語が表示されました。サーバー環境の問題のようです。もう少しいろいろ試してみますね。

                外しているかもしれませんが、MODxHostテンプレートの中でcharsetがiso-8859-1等になっていませんでしょうか。
                ここをUTF-8に書き直すと何か変るかもしれません。


                3.ドキュメントやウェブリンクを新規作成するとMySQLのSQL syntaxエラーが出る

                Quote from: tkfm at Sep 28, 2007, 02:00 AM

                Quote from: soushi at Sep 27, 2007, 06:46 PM

                新規作成したドキュメントは一度保存するまでドキュメントIDが割り当てられてないので、うまく処理できずにエラーになってます。
                ドキュメントIDがわからないとトラックバックも送信できないため、新規作成のときはトラックバックのメニューが出ないようにソースを修正しますね。
                修正したものは後日、ここにアップします。
                なるほど~ そういう仕組みなんですか。
                そうなると、1度保存しドキュメントIDを確定した上で、
                改めてドキュメント編集をしてトラックバックPINGを飛ばすという2度保存操作になるんでしょうか?
                できればイベント等を上手く選択することで、操作上は1回の保存でPINGを飛ばせると良いのですが。

                その後、MODxのソース追っかけてみたらドキュメントを新規作成した場合でもドキュメントIDをできる事がわかりました。
                というわけでドキュメントを新規作成しながらトラックバックも送れるように修正します。

                4.複数サーバーへのトラックバック送信

                Quote from: tkfm at Sep 28, 2007, 02:00 AM

                入力をテキストボックスにして、そこに1行毎改行して送信先URLを並べる方が見やすいかも。

                そもそも、複数の送信先が必要になるケースの方が少ないですかね? (本末転倒でスミマセン)

                確かに一行にひとつのURLで記述するのはいいですね。
                トラックバック送信用に作成したテンプレート変数(trackbackURL)の入力タイプをTextareaに変更すれば複数行にわたってURLが入力可能になるので、この方向で修正します。


                そして上記で「修正します」と書いた内容を実際に修正したトラックバックツールをver2.01としてアップします。
                もし良ければお使いください smiley
                そして人柱に…(笑)
                • soushiさん

                  2.01のリリース有難うございます。早速使ってみましたよ~


                  1.トラックバックの受信が常に拒否される
                  受信したトラックバックのURLからドメインをうまく抜き出せないときに「トラックバック拒否-3」が勝手に機能してしまう事を確認しました。
                  tkfmさんの場合は、このパターンかもしれません。動作的にはおかしいので、拒否しないようにソースを修正します。
                  別サーバーからのトラックバック送信時に出ていたエラーはなくなり、正常に送信ができるようになりました!

                  ...が、... MODx側ではトラックバックを受けた形跡が無いのです... トホホ

                  全てのトラックバックを即表示するようにしているんですが、モジュールのTrackbackリストも空、DBを直接覗いても
                  トラックバックを保持しているテーブルは空、イベントログには何も書かれていない、当然トラックバックを送ったブログ記事を
                  開いてもトラックバックは無し... Updateでどこかしくじったかなぁ~


                  2.文字化け
                  外しているかもしれませんが、MODxHostテンプレートの中でcharsetがiso-8859-1等になっていませんでしょうか。
                  ここをUTF-8に書き直すと何か変るかもしれません。
                  ちょうどタイムリーにフォーラムに報告が有ったんですが、どうやらこの記事の件と原因が同じっぽいです。
                  http://modxcms.com/forums/index.php/topic,2573.msg116558.html#msg116558
                  恐らくsoushiさんのツールセット側は問題ないと思います。
                  (今はMODxHostテンプレートでも正常に日本語表示できています。)


                  3.ドキュメントやウェブリンクを新規作成するとMySQLのSQL syntaxエラーが出る
                  その後、MODxのソース追っかけてみたらドキュメントを新規作成した場合でもドキュメントIDをできる事がわかりました。
                  というわけでドキュメントを新規作成しながらトラックバックも送れるように修正します。
                  ドキュメント新規作成してもMySQLのSyntaxエラーが出なくなりました!


                  4.複数サーバーへのトラックバック送信
                  確かに一行にひとつのURLで記述するのはいいですね。
                  トラックバック送信用に作成したテンプレート変数(trackbackURL)の入力タイプをTextareaに変更すれば複数行にわたってURLが入力可能になるので、この方向で修正します。
                  テンプレート変数をTextAreaにして、一度に複数のトラックバックを送信できました!

                  最後に、調子に乗ってもう1つお願い...

                  5.更新PINGを送りたいのです。
                  チャンクか外部ファイルに並べた更新PINGのURL一覧に、トラックバックを送るのと同じような仕組みで送れないでしょうか?
                  ここまでトラックバックが実装できれば、更新PINGもすぐにできそうな気がして... 無責任発言でスミマセン。笑
                  • tkfmさんへ

                    1.トラックバックの受信が常に拒否される

                    Quote from: tkfm at Sep 30, 2007, 02:17 PM

                    別サーバーからのトラックバック送信時に出ていたエラーはなくなり、正常に送信ができるようになりました!

                    ...が、... MODx側ではトラックバックを受けた形跡が無いのです... トホホ

                    全てのトラックバックを即表示するようにしているんですが、モジュールのTrackbackリストも空、DBを直接覗いても
                    トラックバックを保持しているテーブルは空、イベントログには何も書かれていない、当然トラックバックを送ったブログ記事を
                    開いてもトラックバックは無し... Updateでどこかしくじったかなぁ~

                    う~ん、もしかしたらどこかのDB操作でエラーになってるかもしれません。
                    きちんとエラーとかを吐いたりもう少し綺麗なロジックになるように見直しを掛けてみます。
                    すみませんが、少々お待ちください。

                    それと一つお尋ねしたことが。
                    トラックバックで送ろうとしている送信元のURLですが、こちらは通常のURLの形式で送られますでしょうか?
                    プログラム中にトラックバックで送られてきたURLをドメインやパス等にバラバラに分解していてるので、URLじゃなさそうな文字列が来たら誤動作するかもしれません。
                    (そこもプログラム中にきちんとエラーとして扱わないとダメなんですけどね… :’()

                    5.更新PINGを送りたい

                    Quote from: tkfm at Sep 30, 2007, 02:17 PM

                    チャンクか外部ファイルに並べた更新PINGのURL一覧に、トラックバックを送るのと同じような仕組みで送れないでしょうか?
                    ここまでトラックバックが実装できれば、更新PINGもすぐにできそうな気がして... 無責任発言でスミマセン。笑

                    実は更新pingなモジュール&プラグインはZeRoさんがリリースされています。

                    http://modxcms.com/forums/index.php/topic,11940.0.html

                    多分tkfmさんの言われてるような使い方ができると思います。
                    (実際に使ってないのではっきりとは断言できないですが)

                    でもゆくゆくは統合したりすると、使い勝手はいいかもしれませんね。
                    ねぇ、ZeRoさん(笑)
                    • soushiさん

                      Quote from: soushi at Oct 02, 2007, 02:52 PM

                      1.トラックバックの受信が常に拒否される
                      トラックバックで送ろうとしている送信元のURLですが、こちらは通常のURLの形式で送られますでしょうか?
                      トラックバックを受け取ったときのApacheのログ(レンタルサーバーから取得)は以下のとおりです。
                      日本語が日本語のまま表示されていますが、実際はちゃんとエンコード処理はされていると思いますが...
                      ちなみに、UAの部分にも表示されていますが、「Serene Bach」というブログツールから試験してみました。
                      rs*.naid.jp - - [30/Sep/2007:22:56:19 +0900] "GET /mx-svn/trackback?tb_id=9&blog_name=tkfm.net&excerpt=USL-5Pについては、Debian化その3まで書いたところですが、気になることが1点。とにかく時間がずれるんですよ~+ntpdate コマンドで12時間に1度NTPで...&charset=UTF-8&url=http://tkfm.net/log/eid268.html&title=[LANDISK] USL-5Pの時間ずれ HTTP/1.1" 200 14925 "-" "Serene Bach/2.17R"
                      

                      Quote from: soushi at Oct 02, 2007, 02:52 PM

                      5.更新PINGを送りたい
                      実は更新pingなモジュール&プラグインはZeRoさんがリリースされています。
                      http://modxcms.com/forums/index.php/topic,11940.0.html
                      でもゆくゆくは統合したりすると、使い勝手はいいかもしれませんね。
                      ねぇ、ZeRoさん(笑)
                      さすが、HowTo本まで出しちゃう日本の優秀なMODxコミュニティですね~
                      私の欲しかったのはまさしくこれです!
                      統合... 楽しみです♪ 笑