MODx1.0.3Jのインストール時に不具合と思われる症状を確認しました。
ただ、いままで誰からも報告が無いことから、もしかしたら DB に依存する問題なのかもしれませんが。。。
(不具合確認: MySQL5.0.67 windows)
インストール中の「インストールオプションの選択」画面で”MODxHost ”テンプレートにチェックを入れた場合、
順調に「インストールを実行しました。」画面までは遷移しますが、
その画面内で”テンプレート”の項目に「Incorrect integer value: '' for column 'locked' at row 1」というエラーメッセージが表示され、処理が中断されます。
よって、それ以降のスニペットやプラグインなどがインストールされません。
ただ、インストール自体は”正常終了”という扱いになり、「インストール終了」ボタンが表示されます。
エラーの原因は tinyint 型である site_templates テーブルの`locked`カラムに文字列で INSERT または REPLACE しようとしていることだと思われます。
/install/instprocessor.php line337, 344
v1.0.3からテンプレートのインストール機能がついたようですが、テンプレートファイル内にある @lock_template の値が 0 の場合は無視されるようで、
MODxHost テンプレートはこれに該当し、結果的に locked='' という SQL を発行してしまっています。
ですので、instprocessor.php の 311行目を
$locked = mysql_real_escape_string(isset($moduleTemplates[$si][5]) && $moduleTemplates[$si][5] ? $moduleTemplates[$si][5] : 0);
のように変更することで改善できました。
個人的には、エラー発生の有無に関わらず、tinyint 型なのですから null ではなく明確に数値を指定したほうが良いかと思いますが、いかがでしょうか?
インストール不具合(標準チャンクやスニペットがインストールされない)
Re: インストール不具合(標準チャンクやスニペットがインストールされない)
対応策まで探っていただいて、ありがとうございます。おっしゃるとおりだと思うので、次回はそのように対応します。
1.0.1から組み込まれたこの部分、他にもバグがありそうな感じです。たとえば環境によっては所属カテゴリーの更新でコケるようですが・・
1.0.1から組み込まれたこの部分、他にもバグがありそうな感じです。たとえば環境によっては所属カテゴリーの更新でコケるようですが・・
Re: インストール不具合(標準チャンクやスニペットがインストールされない)
1.0.3J-r2をリリースしましたが、この件ノーチェックでした。次回で対応したいと思います
Re: インストール不具合(標準チャンクやスニペットがインストールされない)
この件、1.0.3J-r2で対応してました。