プロジェクト

全般

プロフィール

QA #301

奈良 裕記 さんがほぼ3年前に更新

h3. ■現象/要望 

 Redmine 2.x→3.xへVerUpした時に画面レイアウトが崩れる場合がある。→4.1でも複数事例あり。 
 (再現性不明) 

 h3. ■解決策 

 1.下記パッチ実行(3.0~3.3.X:必要、3.4.X 対応済) 
 Defect #24617: Browser js/css cache remains after upgrade  
 http://www.redmine.org/issues/24617 

 しかし、Redmine標準テーマの場合、下記リンク先の対応が必要になる。 
 (application.cssを識別しないでインポートしているため) 
 http://www.redmine.org/issues/29625 

 2.ブラウザのスーパーリロード実行 
 >IEの場合Ctrl+F5(Ctrl+更新ボタン)、 
 >Firefoxの場合Ctrl+F5(Shift+更新ボタン)、 
 >Chromeの場合Shift+更新ボタン(Ctrl+Shift+R) 


 h3. ■対応状況 

 修正パッチ24617は3.4.0で対応された。 

 但し、未対応部分の下記指摘もある。 
 http://www.redmine.org/issues/24617#note-12 

 > This patch doesn't seem to effect @import url(../../../stylesheets/application.css); in themes,  
 > so I still have to add a Cache-Control header. 
 標準組込のAlternate,Classic テーマの場合、@import で application.css を読み込んでいるため、上の問題に影響される可能性がある。 


 h3. ■原因 

 RAILS4.2の仕様変更 
 RAILS4では、assetpipelineを利用する方向に変更されているが、Redmineでは使用していない。 

 >・Ver2.xの時は、JSやCSSにセッションIDらしき数字がURLに付加されている 
 > ⇒問題なし 

 >・Ver2.x→3.xへパッチを当てずにVerUpすると、JSやCSSにセッションIDらしき数字は付加されない 
 > ⇒画面レイアウトが崩れる 

 >これは Redmine 3.0.0 から Rails のバージョンが 4.2 へ移行した際に、 
 >CSS や JavaScript などの静的ファイルに付与されていた GET パラメータが付与されなくなったため、 
 >前バージョンの静的ファイルをブラウザ側がキャッシュとして持っていること(=そちらが表示に利用されている)が原因のようです。 

 ブラウザ上キャッシュのヒット可否で現象が変化するため、、再現性不明のトラブルになります。 

 h3. ■補足 

 関連情報 

 Redmine 2.x→3.xへVerUpした時に画面レイアウトが崩れる症状に対する対応方法 
 http://forza.cocolog-nifty.com/blog/2017/02/redmine-2x3xver.html 

 Redmine3.3で表示崩れする件で色々教えていただいた 
 http://ucwd.jp/blog/807 

 >ブラウザの super reload でゆけそうな気がする。 
 >職場の Redmine も 2.x から 3.x 系に移行して更に 3.x で数回更新しているが 
 >毎回 super reload するよう案内してる。 
 http://b.hatena.ne.jp/entry/321963648/comment/akabekobeko 

 君は3つのリロードを知っているか? - os0x.blog 
 http://os0x.hatenablog.com/entry/20110617/1308280740 

 アセットパイプライン 
 https://railsguides.jp/asset_pipeline.html 
 !https://unofficial-redmine.org/matomo/matomo.php?rec=301! !https://unofficial-redmine.org/matomo/matomo.php?idsite=1&rec=301!

戻る