プロジェクト

全般

プロフィール

QA #301

未完了

Redmine のVerUp時に画面レイアウトが崩れる場合がある

奈良 裕記 さんが約7年前に追加. ほぼ3年前に更新.

ステータス:
回答済
優先度:
通常
担当者:
-
カテゴリ:
-
対象バージョン:
開始日:
2017/02/16
期日:
進捗率:

0%

予定工数:

説明

■現象/要望

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

■解決策

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
>Firefoxの場合Ctrl+F5
>Chromeの場合Shift+更新ボタン(Ctrl+Shift+R)

■対応状況

修正パッチ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 を読み込んでいるため、上の問題に影響される可能性がある。

■原因

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 パラメータが付与されなくなったため、
>前バージョンの静的ファイルをブラウザ側がキャッシュとして持っていること(=そちらが表示に利用されている)が原因のようです。

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

■補足

関連情報

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

他の形式にエクスポート: Atom PDF