ページ 1 / 2
[モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年7月20日(火) 11:34
by jeyson
MODxへ履歴と承認と差分表示の機能を追加するモジュール&プラグイン
「DAAAH」(DiffAndApprovalAndHistory) ver0.5をリリースします。
「DAAAH」はMODxにはなかった履歴と承認と差分表示の機能を追加する
モジュール&プラグインです。
次のような機能があります。
・更新履歴の管理
・現在のデータと更新前データの差分表示(Diff機能)
・いじって保存してしまったデータを更新前データへ復帰(ロールバック機能)
・一般公開のための承認ワークフロー
ぶっちゃけ、eZ Publishのような気合の入ったロールバック&ワークフロー機能ではないですが、MODxをビジネスベースで使う場合の不満点だった機能を一応補完できます。
詳しくはダウンロードして、説明文を読んでください。
※動作テストは1.0.4Jで行っていますが、たぶん0.9系でも使用できると思います。
↓↓ダウンロードとスクリーンショットはこちら
http://jeyson.eshizuoka.jp/e606304.html
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年7月20日(火) 14:22
by yama
便利なモジュールをありがとうございます
http://forum.modx.jp/viewtopic.php?f=54&t=362
phpMyAdminを使わずに手軽にインストールできればと思い、支援モジュールを作ってみました
(いちおう汎用的に使えますが)
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年7月20日(火) 14:41
by jeyson
yama 様 ありがとうございます。
良く考えてみればMODxのセットアップは
SEの人たちだけが行うものではないので
確かにphpMyAdminを使える人ばかりではないですからね。
ありがとうございます。
※ただ、このSQL実行モジュールは使いようによっては破壊力があるので、
使用後はモジュールの使用停止をしたほうがよいモジュールですね。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年7月21日(水) 14:46
by jeyson
下記のように少しだけ調整と修正しました。
・XAMPPで動かしたとき日付が変だったので訂正
・PHP5.3でPEAR/Diffが怒られたのでclassの呼び出し方を訂正
・画像が一部欠けていたので訂正
現在は修正版となっています。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年9月24日(金) 21:36
by yasu
こんばんは
DAAAHを導入していたのですが、エラーが出てページが真っ白になり表示されません。
イベントログをみると、タイムゾーン関係のエラーのようですが、どこを修正すればいいのか分からないので、
教えていただけないでしょうか?
・自分の環境が、テーブル名が「mod_ 」なので「DAAAH.sql 」の「modx_ 」を→「mod_ 」にすべて変更
・「DAAAH.sql 」は、yamaさんのモジュールを使ってDBへ投入。
・リソースの編集画面では承認の表示も出て、「ドキュメントの更新履歴/差分表示」へも入れます。
・承認する/承認しないを選んで保存をクリックすると、管理画面の右側が真っ白です(ツリーは表示されています)
・「config.inc.php」の設定は、単純設定にしています。
・マニュアルどおり、「Wayfinder2.0」の設定を変えています。
エラー表示
DAAAH - OnDocFormRender
An error occurred while loading. Please see the event log for more information.
エベントログ
strftime() [function.strftime]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead
[modx] バージョン:1.0.4J
[サーバ]
ホスト:エックスサーバー
PHPバージョン:5.2.14
DB:5.0.77
以上です。
よろしくお願いします。
追記です:
モジュール → モジュール管理 → DAAAH で、DAAAHの管理画面に行けるのですが、
モジュール → (上のツールバーのような所から直接)DAAAH をクリックして管理画面に入ろうとすると
処理を停止しました。本機能は編集画面より呼び出してください。
のエラーがでるのに気付きました。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年9月25日(土) 01:10
by jeyson
下記のところでもコメントさせていただきましたが
http://jeyson.eshizuoka.jp/e606304.html#comments
PHP5では時間の把握にタイムゾーンを明確にして置く必要があります。
よって、
.htaccess
に
php_value date.timezone Asia/Tokyo
という記述を追加してください。
なお、モジュールのDAAAHは
モジュールからではなく
実は編集画面から呼び出すようにしています。
ページの編集画面の下部で表示されるボタンが
モジュールの呼び出しボタンです。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年9月25日(土) 11:29
by yasu
返信ありがとうございます。
モジュールをダウンロードしただけで、下のコメントに気付きませんでした。
失礼しました^^;
私の環境では、.htaccessに「php_value date.timezone Asia/Tokyo」を記述では
「500 Internal Server Error」が出てしまいましたが、「php.ini」にてタイムゾーンの設定ができました。
無事に解決です。
ありがとうございました。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年9月25日(土) 19:27
by yasu
すみません。
解決したと思ったのですが・・・
再度、質問させてください。
今まであるリソースの編集は、承認も問題なく動作したのですが、
今度は、リソースを新規に作成するときに別のエラーがでてしまいました。
イベントログ
コード: 全て選択
Undefined offset: 0
警告がでても無視してリソースを作成しようと保存してみたのですが、やはり無理でした^^;
その時にでたエラーメッセージです。
コード: 全て選択
Warning: Cannot modify header information - headers already sent by (output started at /home/inpres/inpres.jp/public_html/manager/includes/document.parser.class.inc.php:757) in /home/inpres/inpres.jp/public_html/manager/processors/save_content.processor.php on line 408
どのように修正すれば良いのでしょうか?
よろしくお願いします。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年9月25日(土) 22:02
by jeyson
同梱のXAMPP用修正版を上書きしてください。
このエラーは
PHPがいろいろな処理結果を出力する前に
すでになんかのデータを出力すると発生します
たぶん、XAMPP以外ならばphp.iniの設定を
見直して解消できると思いますが
あれこれ探って時間を使うよりも
とりあえず上記で問題解決できるかと思います。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年9月28日(火) 09:28
by yasu
返信遅くなりました。
回答ありがとうございます。
今回は、XAMPPではないのでphp.iniを探ってみたいと思います。
解決したら、ご報告いたします。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年9月28日(火) 09:50
by jeyson
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年10月05日(火) 00:48
by yama
http://modxcms-jp.com/news/2010/1004.html
1.0.4J-r3リリースしましたが、該当ファイルの変更ないためjeysonさんのパッチ使えます。
検証先送りで、すみません orz
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年10月05日(火) 16:12
by yasu
お世話になります。
jeysonさん、yamaさん、ご支援ありがとうございます。
php.iniから解決を図ろうと思いいろいろ調べたのですが、
私の知識では何も解決できずにいました。
とりあえず1.0.4J-r3にアップデートして、XAMPP環境ではないのですが、
http://jeyson.eshizuoka.jp/e607397.html を
参考に修正してみました。
しかし問題は改善されず、相変わらず「リソースの新規作成」時に
DAAAH - OnDocFormRender
An error occurred while loading. Please see the event log for more information.
のシステム警告と、イベントログでは 「Undefined offset: 0」 が出てしまいます。
タイムゾーンのエラーの時に、サーバー会社から「php_value」等のPHPに対する設定は.htaccessでは行えないとの
回答をいただいたので、「php.ini」にてタイムゾーンの設定をしたのですが、この辺りが何か関係するのでしょうか?
承認機能はぜひ使いたいので、よろしくお願いします。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年10月06日(水) 09:47
by jeyson
現在、私事ですが、抱えている仕事が立て込んでおりまして
土日あたりに確認させていただきたいと思います。
エラーの行数は分かりますか?
イベントログのメッセージを丸ごとコピペしていただけると助かります。
(apacheのerror_logも見れたら、もっと素敵ですが…)
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年10月06日(水) 20:27
by yasu
お忙しいのに申し訳ありません。
エラー行数とか出ずに、これだけの情報しかありません。
もっと他に確認すべき箇所があればおっしゃってください。
システム警告のコピペ
システム警告
DAAAH - OnDocFormRender
An error occurred while loading. Please see the event log for more information.
イベントログのコピペ
DAAAH - Plugin - イベントログ
エラー
イベントID: 1 ソース: DAAAH - Plugin
日付: 2010/10/06 19:52:28 ユーザー: admin
Undefined offset: 0
apacheのerror_logはこれで良いのでしょうか?
サーバーのエラーログをダウンロードすると、以下のログが残っていました。毎回、このエラーのようです。
[Wed Oct 06 19:52:10 2010] [error] [client 000.0.000.171] File does not exist: /home/inpres/inpres.jp/public_html/assets/templates/manager/images/input-bg.gif, referer:
http://×××.jp/manager/
少ない情報ですが、よろしくお願いします。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年10月10日(日) 18:09
by jeyson
正直、当方の環境では全く発生しないため
エラー内容からの推測による調整ですが
下記のファイルを試していただけますか?
一応、当方の環境で動作テストを行い
動くことは確認済みです。
ちなみにいただいたapacheログだと
今回の問題となるようなエラーらしいエラーはないようですね。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2010年10月12日(火) 17:50
by yasu
解決しました。
jeysonさん、お忙し中ありがとうございます。
上記ファイルに変えたところ、細かく動作テストはしていませんが、
今まで出ていたエラーは出なくなりました。
私の力量では、いったい何が原因だったのかは分かりませんが、
これで前に進むことができます。
ありがとうございました。
今後とも、よろしくお願いします。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2011年2月28日(月) 21:23
by kazuike
承認関連の機能は、MODxの大きな弱点の一つだと思っていますので、
このような拡張機能を提供していただいて、大変ありがたく思っています。
実は、現在開発中のサイトで、はじめてDAAAHを使わせていただいているのですが、
以下の現象がおきておりまして、どのように対処すべきか悩んでおります。
おそらく、何らかの手を加える必要があるのではないかと思いますが、
修正箇所のヒントだけでもいただけるとありがたいです。
(MODxのバージョンは、1.0.5Jです。)
▼現象
テンプレート変数について、一度既定値以外の値で保存(承認)してしまうと、
既定値に戻すことができなくなるという現象が起きています。
管理画面上は戻るのですが、
承認済みデータとしては、前の既定値以外の値が残っています。
▼ちょっと考えてみました
MODxのコアは、テンプレート変数の値が、既定値である場合や未入力の場合、
テンプレート変数の値をデータベースに記録しませんね。
変更時、既に既定値以外のテンプレート変数のデータがある場合は、それを削除しますが、
このあたりの仕様が、DAAAH側で反映されていないのかな?と想像しています。
(間違っていたらごめんなさい)
ちなみに、
既定値での保存(承認)と、既定値以外での保存(承認)を繰り返すと、
「<prefix>_approvaled_site_tmplvar_contentvalues」の中に、
「tmplvarid」と「contentid」が同じ組み合わせのレコードが重複して増えていくようです。
以上、よろしくお願いいたします。
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2011年3月01日(火) 13:54
by kazuike
取り急ぎの対応として、
プラグインコードの373行目に以下を入れて、当該リソースの承認済みテンプレート変数をいったんクリアするようにしました。
--------
$modx->db->delete($contentvalues_approval_table_name, $sql_string_where);
--------
あと、
OnLoadWebPageCache、OnLoadWebDocument
の時の、
テンプレート変数の既定値を入れる処理は、入れなくても大丈夫かな?
Re: [モジュール][プラグイン] DAAAH - 履歴と承認と差分表示の機能を追加
Posted: 2011年3月01日(火) 19:59
by jeyson
本件、了解です。
改良版の制作を行います。
が、すみません。
現在、仕事が立て込んでおりまして
3月の中旬ぐらいまでお待ちください。
ごめんなさい。(泣)
kazuike さんが書きました:
▼現象
テンプレート変数について、一度既定値以外の値で保存(承認)してしまうと、
既定値に戻すことができなくなるという現象が起きています。
管理画面上は戻るのですが、
承認済みデータとしては、前の既定値以外の値が残っています。