Project

General

Profile

QA #301

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

Added by 奈良 裕記 over 2 years ago. Updated 4 months ago.

Status:
回答済
Priority:
通常
Assignee:
-
Category:
-
Target version:
Start date:
02/16/2017
Due date:
% Done:

0%

Estimated time:

Description

■現象/要望

Redmine 2.x→3.xへVerUpした時に画面レイアウトが崩れる場合がある
(再現性不明)

■解決策

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

History

#1

Updated by 奈良 裕記 over 2 years ago

  • Description updated (diff)
  • Target version set to 本家patch有
#2

Updated by 奈良 裕記 over 2 years ago

  • Description updated (diff)
#3

Updated by 奈良 裕記 over 2 years ago

  • Description updated (diff)
#4

Updated by 奈良 裕記 over 2 years ago

  • Description updated (diff)

以下、問題提起

RAILS4対応-Redmine3.0(2015/2)からの潜在的問題が、2016/12に下記で指摘されるまで残っていた訳で、考える必要があると思う。

Defect #24617: Browser js/css cache remains after upgrade
http://www.redmine.org/issues/24617

■見逃し原因

クライアント側Webブラウザのキャッシュ状態に依存する動作になるから、
テストで検出するためには、Webブラウザ(相当)のキャッシュ状態を、
取り得るパターンに制御する必要があると思われる。
その点を設計しなければテストでの検出は無理。

変更内容の設計検証が必要では?
(特に外部の大幅な変更への対応における影響)

RAILS5対応で同様の事にならないか。

#5

Updated by 奈良 裕記 about 2 years ago

  • Description updated (diff)
  • Status changed from 新規 to 回答済

3.4.0で対応されたが、下記指摘があったので記入

http://www.redmine.org/issues/24617#note-12

#6

Updated by 奈良 裕記 about 2 years ago

  • Subject changed from Redmine 2.x→3.xへVerUpした時に画面レイアウトが崩れる場合がある to Redmine のVerUp時に画面レイアウトが崩れる場合がある
#7

Updated by 奈良 裕記 about 2 years ago

  • Description updated (diff)
#8

Updated by 奈良 裕記 4 months ago

  • Description updated (diff)
  • Target version changed from 本家patch有 to 標準対応済
#9

Updated by 奈良 裕記 4 months ago

  • Description updated (diff)

Also available in: Atom PDF