はじめまして。
conveyorを使ってみたくて、試行錯誤していますが、まだ期待通りに動かせていない状況です。
気づいた点について、ご報告させてください。当方の環境の問題もあるかもしれませんが。
動作環境は、WindowsXP(SP3)+Apache2.2.10+PHP5.2.8で、
conveyor_2_2_0_with_rhaco.zipからインストール。
ブラウザはFirefox 3.0.4。ローカルで動かしています。
1.setup.phpで、LOG_DISP_HTMLの値がブラウザに正しく表示されない
ブラウザでsetup.phpを開き「表示ログをHTMLとして表示する」をはい→いいえに変更・settingボタン押下で、
__settings__.phpでは「Rhaco::constant("LOG_DISP_HTML",false);」と変わりますが、ブラウザ
上では「はい」のまま。
なので、何もせずにまたsettingボタン押下で、trueになってしまうようです。
2.FilterStripRssAdでrssadが削除されない
例として、以下のテスト用ライン test.phpを作成。(YAML部分のみ抜粋)
<<< __YAML__
---
plugins:
-
module: FeedIn.FeedIn
config:
url: >
http://rss.rssad.jp/rss/CG5kXk4HYq9M/rss_0002
-
module: FilterStripRssAd.FilterStripRssAd
-
module: HtmlOut.HtmlOut
__YAML__
ですが、アイテムごとのrssadが削除されませんでした。
私の方で試したところ、
・workers/FilterStripRssAd/rssad_jp.yamlで、正規表現がマッチしていない
<img .*? src=\"http://rss\.rssad\.jp/rss/img/.*?\" border=\"0\" */>
を、
<img .*?src=\"http://rss\.rssad\.jp/rss/img/.*?\" border=\"0\" */>
と、srcの前のスペースを一つ削除すればマッチするようになりました。マッチパターンはサイトによって違うかもしれませんが。
・workers/FilterStripRssAd.php で、置換が正しくされていない?
43行目の
preg_replace('@'.$expression[1].'@','',$item->$expression[0]);
を試しに
$item->$expression[0] = preg_replace('@'.$expression[1].'@','',$item-
>$expression[0]);
に変えてみると置換がうまくいき、rssadが消えました。適当に変えたので、これでいいのかはわかりません。
3.workerでClass Vがインポートされていない?
例として、以下のようにテスト用のライン test.phpを作成。(YAML部分のみ抜粋)
<<< __YAML__
---
plugins:
-
module: FeedIn.FeedIn
config:
url: http://feeds.feedburner.jp/moongift
-
module: FilterTruePermalink.FilterTruePermalink
-
module: HtmlOut.HtmlOut
__YAML__
これでtest.phpを表示させると、エラー
Fatal error: Class 'V' not found in ~conveyor\library\workers
\FilterTruePermalink\FilterTruePermalink.php on line 65
が出ました。
同様にClass Vを使っているPlanetPublishHtmlをHtmlOutの代わりに入れて動かしても同様のエラーがでます。
abbr.Vがインポートされていないためのエラーでしょうか。
lang.Variableのエイリアスということなので、model/WorkerBase.phpの先頭に
Rhaco::import("abbr.V");
を追加すればFilterBase経由でインポートされるかとやってみたら、エラーは出なくなりました。
どこでClassVをインポートするのが適切なのかわかりませんので適当ですが。
ただ上記の例 *IGAZINEのフィードでは、FilterTruePermalinkが効かないのか、pheedo.jpのリンクはそのまま残って
しまいます。
workers/FilterTruePermalink/pheedo.yamlがうまく機能していないのか・・。
4.FilterEntryFullTextがあると、ラインに変更が保存されない。
ブラウザのライン作成画面で、ラインにFilterEntryFullTextを追加した場合、Generateしても、publish配下のファイル
に変更が反映されないようです。
(FilterEntryFullText追加以外の変更も含め、何も反映されない)
手動で、publish配下のファイルを、
plugins:
-
module: FeedIn.FeedIn
config:
url: http://feeds.feedburner.jp/moongift
-
module: FilterTruePermalink.FilterTruePermalink
-
module: FilterEntryFullText.FilterEntryFullText
config:
get_page: "1"
store_html_on_failure: "1"
-
module: HtmlOut.HtmlOut
以上のようにファイルを直接更新すれば、ブラウザのライン作成画面からLoadすればFilterEntryFullTextが表示されますが、
この状態でもブラウザからGenerateしてもファイルに変更が反映されませんでした。
また、これは各自で直すべきものかもしれませんが、FilterEntryFullTextがなかなかうまくとれませんで。
とりあえずXmlpathとExtractDateが必要とFilterEntryFullText.phpにあったので、setup.phpの
installから、arboのモジュールをすべてinstall。
その後、workers/FilterEntryFullText/FilterEntryFullText.phpで、先頭にある
Rhaco::import("Xmlpath");
Rhaco::import("ExtractDate");
を
Rhaco::import("arbo.tag.Xmlpath");
Rhaco::import("arbo.lang.ExtractDate");
に変更。それで動かしてみましたが、
Fatal error: Call to undefined method SimpleTag::find() in ~library
\arbo\tag\Xmlpath.php on line 162
といったエラーが。FilterTruePermalinkでのfeedburnerのエントリーURL変換が失敗している?のが原因?
Class 'V'のインポートエラーとか見ていると、conveyor_2_2_0_with_rhaco.zip+arboだけではまだ足りないも
のがあるような気もしますが、Subversionで最新を一通り(rhacoは1.6.1)取得して試したときも同様で。
phpもろくに知らないままの試行錯誤なので、的外れな話でしたらすいません。