■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

アップローダーのバージョンアップについて

denko > アップローダーのバージョンアップについて @ 2014/12/4 16:40
お世話になっております。
アップローダーのバージョンアップについて質問です。

ブログのアップ画面でカテゴリ検索が出来るようになったと、大変待ち望んでいた機能の実装、誠にありがとうございました。
早速アップローダーのバージョンアップを行ったところ、上手く動かなくなってしまいました。
いくつかパターンを試してみたのでご報告いたします。

【環境1:私用のサイト】
■ BaserCMSのバージョン: 3.0.5.1
■ CakePHPバージョン: 2.5.3
■ スマートURLの利用:ON
■ 設置フォルダ:  サブフォルダ
■ 利用しているデータベース: SQLite 0.7
■ PHPのバージョン : 5.4.35
■ PHPスキル(自己評価):E

こちらの手順に従い作業を行いましたところ、
『管理画面よりアップデート』の作業が一切なく、登録日・更新日もそのまま[添付画像:参照1]。

しかし、実際ブログの投稿画面からアップロード画面を開くとカテゴリ検索が実装されバージョンアップされていました。
実際動いたことを確認したため、勤め先のサイトのアップローダーのバージョンアップを決行しました(こちらが本命)。


【環境2:勤務先のサイト】
■ BaserCMSのバージョン:3.0.1
■ CakePHPバージョン:2.4.3
■ スマートURLの利用:ON
■ 設置フォルダ:サブ(多分)
■ データベース:MySQL 5.1.66
■ PHPのバージョン:5.3.3
■ PHPスキル:E

CMSのバージョンが低く、baserMarketでも対応バージョンに3.0.1の表記がなかったのですが、
3.0.0以降であるには違いないため、先ほどと同じように、公式の手順に従い作業を行いました。
こちらでは、さきほどはなかった『管理画面よりアップデート』の一連の作業がありました。
プラグイン管理画面でバージョンアップを確認。登録日はそのままに、更新日が本日の日付になっています。

ブログの投稿画面から画像の投稿をしようとすると、アップローダーの画面が「WAIT」表示のまま一切読み込みが開始されません。
[添付画像:参照2]
OSやブラウザの相性があるのかと思い、以下の環境でも確認しましたが「WAIT」から移動する気配がありませんでした。

◆Mac OS10.6 Safari5.1.10…× / Chrome39.0.2171.71…×
◆Windows7 IE11.0.14…× / Chrome39.0.2171.71…×

現在、旧アップローダーのデータを使用してバージョンダウンを行い、今まで通りの環境になりました。
ただ、プラグイン管理画面を見ると、アップデート後のバージョン数3.0.2のままでした。[添付画像:参照3]


やはりCMSのバージョンが古いから対応が出来なかったのでしょうか?
また、アップローダーのアップデート後のバージョンがどちらも3.0.2と表記されますが、
公式のアップデート後のバージョン数は3.0.3となっており、これはどちらが正しいのでしょう…。

何かお心当たりのある方がいらっしゃいましたら、ご教示いただけましたら幸いです。
どうぞよろしくお願いいたします。

■ BaserCMSのバージョン:3.0.1
■ CakePHPバージョン:2.4.3
■ スマートURLの利用:ON
■ 設置フォルダ:サブ(多分)
■ データベース:MySQL 5.1.66
■ PHPのバージョン:5.3.3
■ PHPスキル:E

n1215 > Re: アップローダーのバージョンアップについて @ 2014/12/4 22:28
denko 様

先ほどマーケットから落として調べましたが、バージョン番号については更新時のミスだと思います。
バージョン番号はVERSION.txtの最初の行に書かれているのですが、ここだけ更新されていないため3.0.2のままになっています。
3.0以降、アップデートスクリプトは同梱されていないので、アップローダー自体の動作への影響は多分ないと思いますが。

VERSION.txt
3.0.2
///////////////////////////////////////////////////////////////////////////////////////////////////////////
// +---------------------------------------------------------------------------------------------------+ //
// + Release Notes
// +---------------------------------------------------------------------------------------------------+ //
///////////////////////////////////////////////////////////////////////////////////////////////////////////
CHG: 変更内容 / BUG: バグフィックス / NEW: 機能追加


[2014-12-01] Uploader-3.0.3
-BUG: [UL]	fixed 画像呼出時のポップアップ画面でカテゴリ検索ができない点を修正
-CHG: [UL]	アップロード失敗時にエラーメッセージの表示を調整

この点は修正してもらうよう連絡しておきました。


もう一つ些細な問題ですが、baserCMS3系のマニュアルとして参照されているページは1系のものです。
3系は以下のURLになります ※ただこれも情報が古くマーケットからのDLに対応した表記になっていないのですが
http://basercms.net/manuals/3/introductions/update_plugin


さて、原因の究明をするにはエラー情報を集めるのが手っ取り早いです。
質問を投稿する際のガイドラインにある通り、
引用:
デバッグモードに切り替えてみましたか?
問題が発生した際、エラーメッセージを伝えて頂けると解決への近道となるのですが、baserCMSでは内部的にエラーが発生した際、エラーメッセージを抑制する仕組みとなっています。
システム設定より、制作・開発モードを「デバッグモード1」に切り替えて、問題が発生しているページを表示すると、エラーメッセージが表示される事がありますので、そちらを投稿に添えてください。

baserCMSをデバッグモードにした上で

・baserCMSのエラーログ {baserCMSの設置ディレクトリ}/app/tmp/logs/error.log
・(もし見られる環境であれば)WebサーバやPHPのエラーログ
・ブログ投稿画面において表示されるブラウザのJavaScriptのエラー(大抵のブラウザでは右クリック→要素を検証やF12キーでJavaScriptコンソールが開くと思います)

を確認していただけますか?

Twitter: @n_1215

denko > Re: アップローダーのバージョンアップについて @ 2014/12/5 10:34
n1215様

大変丁寧にお返事いただき、誠にありがとうございます。
アップローダーのバージョン表記に関しては問題ないとのこと安心いたしました。
また、リンク先にしていたページのミスについてのご指摘もありがとうございます。
検索して出て来たものをそのまま見ていました…。
今後は系統も合致しているか確認するようにいたします。

エラー情報全く載せておらず申し訳ありません。
収集方法も教えていただきありがとうございます。どこを確認すれば良いのかすぐに理解できました。
本当に助かりました……。

早速デバッグモードにしてためしてみたところ、以下の記載が確認できました。

■baserCMSのエラーログ(●●●はフォルダ名)
2014-12-05 10:07:38 Error: Fatal Error (1): Call to undefined function mb_basename() in [/var/www/html/●●●/app/Plugin/Uploader/Model/UploaderFile.php, line 166]
2014-12-05 10:07:38 Error: [InternalErrorException] Internal Server Error
Request URL: /●●●/admin/uploader/uploader_files/ajax_list/7371790/num:10/uploader_category_id:
Stack Trace:
#0 /var/www/html/●●●/lib/Cake/Error/ErrorHandler.php(203): ErrorHandler::handleFatalError(1, 'Call to undefin...', '/var/www/html/●●●...', 166)
#1 [internal function]: ErrorHandler::handleError(1, 'Call to undefin...', '/var/www/html/●●●...', 166, Array)
#2 /var/www/html/●●●/lib/Cake/Core/App.php(929): call_user_func('ErrorHandler::h...', 1, 'Call to undefin...', '/var/www/html/●●●...', 166, Array)
#3 /var/www/html/●●●/lib/Cake/Core/App.php(902): App::_checkFatalError()
#4 [internal function]: App::shutdown()
#5 {main}



■投稿画面において表示されるブラウザのJavaScriptのエラー
(Chromeで確認:○○○はドメイン、●●●は上と同じフォルダ名)
div#Waiting.waiting-box
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
http://www.○○○/●●●/admin/uploader/uploader_files/ajax_list/7371790/num:10/uploader_category_id: Failed to load resource: the server responded with a status of 500 (Internal Server Error)


WebサーバやPHPのエラーログは私ではわかりませんでした、申し訳ありません。
以上の情報で解決の糸口になりますでしょうか。
どうぞよろしくお願いいたします。

■ BaserCMSのバージョン:3.0.1
■ CakePHPバージョン:2.4.3
■ スマートURLの利用:ON
■ 設置フォルダ:サブ(多分)
■ データベース:MySQL 5.1.66
■ PHPのバージョン:5.3.3
■ PHPスキル:E

n1215 > Re: アップローダーのバージョンアップについて @ 2014/12/5 15:58
denko 様

エラーメッセージの提示ありがとうございます。

https://github.com/baserproject/basercms/commit/9275f97521d42d91fa511322d6ca411ac08288d8
上記のように3.0.2のリリース後に日本語ファイル名に対応するために修正がなされており、
その際にbaserCMSのコアにマルチバイト文字に対応した関数mb_basename()が追加されています。
コアのバージョンが古く、その関数が見つからないのでエラーが出ているということです。

暫定的な対応策としては、以下の関数をlib/Baser/basics.phpの末尾にコピーしていただければ動くのではないかと思います。
https://github.com/baserproject/basercms/blob/dev-3/lib/Baser/basics.php#L855-L870

Twitter: @n_1215

denko > Re: アップローダーのバージョンアップについて @ 2014/12/5 16:57
n1215様

引き続きお返事ありがとうございます。
ご指摘のとおりlib/Baser/basics.phpの末尾にコードを追加したところ、
WAITの画面から先に進むことができました!ありがとうございます。

カテゴリーの検索が出来るようになっており、ためしに画像をアップロードしようとしたところ、
今度は画像がアップされませんでした。
デバックモードでためしたところ、アップローダーを開いた時にエラーの文字が表示されていました。

Notice (8): Undefined index: UploaderFile [APP/Plugin/Uploader/Controller/UploaderFilesController.php, line 109]


先ほどの投稿の時に、デバックモードで試した際同じ文章が表示されていたのですが
その旨を前の投稿で記載するのを忘れておりました。大変申し訳ありません。
この一文から何か解決策は見つかりますでしょうか。

/app/tmp/logs/error.logには、特にエラーの記載は見つかりませんでした。
また、BaserCMSのバージョン:3.0.5.1の方でバージョンアップを行った方では
画像のアップは問題なく行うことができました。

やはりBaserCMS自体のバージョンアップを行うのが一番の解決策なのかもしれませんが
もし良い方法がございましたらご教示いただけますと幸いです。

■ BaserCMSのバージョン:3.0.1
■ CakePHPバージョン:2.4.3
■ スマートURLの利用:ON
■ 設置フォルダ:サブ(多分)
■ データベース:MySQL 5.1.66
■ PHPのバージョン:5.3.3
■ PHPスキル:E

n1215 > Re: アップローダーのバージョンアップについて @ 2014/12/5 22:46
denko 様

そのエラーメッセージの出ている箇所のコードを見るにBcUploadBehavior絡みでしょうね。
https://github.com/baserproject/basercms/commit/36d6a20c9b55cf009bb1654fe2273e10355b5fd5
この改修によってUploaderFilesController.phpのエラーが出ている付近の$settingsという配列の構造も変化しているようです。
それに伴い、UploaderFilesController.phpのコードも変更されています。エラーメッセージが出ているのはこちらが原因でしょう。
https://github.com/baserproject/uploader/commit/81d4e02a9f0f7a97cbd7834753ad3985199c6c14

前者の変更を反映させれば動く可能性はありますが、
改修によるコードの変更が多すぎるので、新たにどんな問題が出るか予想がつきません。
コアのアップデートのほうが圧倒的に無難だと思います。

Twitter: @n_1215

denko > Re: アップローダーのバージョンアップについて @ 2014/12/8 9:40
n1215様

お忙しい中お返事ありがとうございます。
やはりコアのアップデートをする方が、今後のことを考えても一番良いのですね。
勤務先と相談してみたいと思います。

問題自体はコアのアップデートに落ち着いてしまいましたが、
今回の質問させていただいて、n1215様がおつきあいくださったお陰で
今まで気付かなかったことなどを多く知ることができました。
本当にありがとうございました!!

■ BaserCMSのバージョン:3.0.1
■ CakePHPバージョン:2.4.3
■ スマートURLの利用:ON
■ 設置フォルダ:サブ(多分)
■ データベース:MySQL 5.1.66
■ PHPのバージョン:5.3.3
■ PHPスキル:E

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
5 人のユーザが現在オンラインです。 (5 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 5