Concrete CMS バージョンアップしました。v 9.1.1

v9.1.1vsv8.5.7

この後、

「FileImageThumbnailPaths抽出」

[aitc_cf840.sql]をVS Codeで開いて「FileImageThumbnailPaths」で検索します。
INSERT INTO 部分(10,266行分)を抽出して

Sublime Textに貼り付けて、FileImageThumbnailPaths.sqlで保存します。

phpMyAdminから、FileImageThumbnailPaths.sqlをインポートします。

無事にインポートできました。

10,266件

画像は撮りませんでしたが、やはりサムネイル部分の画像が表示されず"#"のままです。
ここで、先日の画像「Library-600-400-028-040.jpg」のパス

/application/files/2515/5368/9105/Library-600-400-028-040.jpgは、通常の画像の格納先と気付きました。
そして、
改めてサムネイル画像のパス「/application/files/thumbnails/」を確認し直しました。

「疑念」

そして、これ(FileImageThumbnailPaths)のサムネイル画像パスは、

INSERT INTO FileImageThumbnailPaths
(fileID, fileVersionID, thumbnailTypeHandle, storageLocationID, thumbnailFormat,
path, isBuilt, lockID, lockExpires) VALUES
– ・・・・・・・・・・・・・・・・・・・・・・・・・・・・前略,
(1852, 1, ‘file_manager_detail’, 1, ‘jpeg’,
‘/thumbnails/file_manager_detail/2515/5368/9105/Library-600-400-028-040.jpg’, 1, NULL, NULL),

(1852, 1, ‘file_manager_listing’, 1, ‘jpeg’,
‘/thumbnails/file_manager_listing/2515/5368/9105/Library-600-400-028-040.jpg’, 1, NULL, NULL),

(1852, 1, ‘file_manager_listing_2x’, 1, ‘jpeg’,
‘/thumbnails/file_manager_listing_2x/2515/5368/9105/Library-600-400-028-040.jpg’, 1, NULL, NULL),
– ・・・・・・・・・・・・・・・・・・・・・・・・・・・・後略,

6番目のfield"path"の、サムネイルのパスは、それぞれ、

‘/thumbnails/file_manager_detail/2515/5368/9105/Library-600-400-028-040.jpg’
‘/thumbnails/file_manager_listing/2515/5368/9105/Library-600-400-028-040.jpg’
‘/thumbnails/file_manager_listing_2x/2515/5368/9105/Library-600-400-028-040.jpg’
です。

MAMP上は、
C:\MAMP\htdocs\concrete8.5.7\application\files\thumbnails\file_manager_detail\2515\5368\9105\Library-600-400-028-040.jpg あり

C:\MAMP\htdocs\concrete8.5.7\application\files\thumbnails\file_manager_listing\2515\5368\9105\Library-600-400-028-040.jpg あり

C:\MAMP\htdocs\concrete8.5.7\application\files\thumbnails\file_manager_detail_2x\2515
配下に"5368"フォルダがありません。

サムネイルはサイズによって生成しないものもありますから、存在しないものがあっても良いのですが
念のため、XSERVERの方も確認します。(FTPで長時間要した為、MAMP側と同期がとれているか)
同様に、\2515\5368\9105\Library-600-400-028-040.jpg あり
同様に、\2515\5368\9105\Library-600-400-028-040.jpg あり
同様に、\2515\配下に"5368"フォルダがありません。

FileImageThumbnailPathsをMAMP上のTableインポートしたのですが、
サムネイル画像の場所は’#'表示のまま、画像は表示されません。

結果から判断ですが、

やはり、"path"の値の画像のパス’/thumbnails/file_manager_~~’がうまく渡されていない様です。

この後、"path"の値の画像のパスの上位に’/concrete8.5.7/application/files’を付けて、
'/concrete8.5.7/application/files/thumbnails/file_manager_~~’で、FileImageThumbnailPaths.sqlを更新し
インポートしてみようと思います。

searchThumbnailPathGrepで探してみました。
気になる記述を見つけました。

$rs = $database->executeQuery(‘SELECT * FROM FileImageThumbnailPaths WHERE isBuilt = 0 ORDER BY ’ . $database->getDatabasePlatform()getLocateExpression(’?’, ‘path’) . ’ DESC LIMIT 1’, [$searchThumbnailPath]);

これは、ThumbnailMiddleware.phpにあり、
C:\MAMP\htdocs\concrete8.5.7*application**files*\tmp\1616119373\concrete5-8.5.5_remote_updater\concrete\src\Http\Middleware配下にありました。
もし、この.phpが有効なら、サムネイルの画像のパス’/thumbnails/file_manager_~~’のままです。

@Jun1chi 取り急ぎ

まず

CollectionSearchIndexAttributes

テーブルの中身が違うことについて。

これは、検索インデックスの情報を保持しているところで、
8.5.7 と 9.1.1 では、実質根本的な仕様の違いはないです。

ただ、サイトに設定してある索引インデックスすると設定してあるページ属性によってカラム変化します。

検索ブロックで検索を希望するページ属性の数を増やすとこのテーブルのカラムの数も増減します。

多分、テーブルに違いが出たのは、バージョンアップとは関係がないです。

F ileImageT humbnailP aths

これは、各画像のサムネイル画像のどのタイプがどこに保存されているかを保存しているものです。
このテーブルも v857 から v911 への変更はありません。

また、サムネイル画像パスを生成するジョブなどを実行しないとテーブルの中に保存されません。新規インストールであると空です。ファイルをアップロードすると追加されていきます。

なので、違ってくると思います。

取り急ぎ。

お世話様です。

お返事ありがとうございます。

上記は認識しておりました。

ただ、.sqlでインポートしたFileImageThumbnailPathsのサムネイルのパスが、

このまま(/thumbnails/~)だと認識できず、画像が表示されない原因ではないかと考えています。(というのは少なくとも上位パスに” /application/files/”があり、“/application/files/thumbnails/~”でないといけないのではないか?)(これは、先に挙げた、「別のパス」に於いても、Localサイトの特定のページが表示されない・スライダの画像が表示されない問題があり、.sql上のパスをエディタで強制的に置き換えしたら、ページが表示される様になったことに起因するものと同様ではないかと考えたからです。)

念のため、Localで「サムネイルの生成」中です(自動化>タスク)

table_of_contents.jpg

サムネイル生成しなおしましたが、替わりありません。
エクスポート・インポートの.sqlを見直しました。(添付)
FileImageThumbnailPathsのパスが”’/thumbnails/file_manager_~~’”のままなら、
上位のパス(/application/files/)どのように取得されるのか(php?名)を知りたいものです。

少なくとも、本環境(Hosting)側では、
‘/thumbnails/file_manager_listing/4315/3189/6974/375x150-003.png’”などで、問題なく画像が表示されていますので、

Localでは、何故表示されないのか?
上位パスが取得できない(取得されない)何らかの原因があるはずです。

別の視点➡v9の問題(バグ?)

MAMP:(v9.1.1)環境の画像が表示されていないページのソースコードを取得し
正常に画像が表示されているHosting:(v8.5.7)環境のページのソースコードも取得し
WinMergeで比較してみました。(下図)

portfolio_Library_Comp-1920-639-176.jpg

<source srcset=“~~~”>の違いはあるものの、
問題はそこではないんです。

<mg>タグの問題?
WinMerge画像(左側:Hosting:正常/右側:MAMP:画像表示できない)

左側:Hosting:正常
211 <img src=“https://a-itc.info/application/files/2515/5368/9105/Library-600-400-028-040.jpg” alt="#" class=“img-responsive”>
右側:MAMP:画像表示できない
214 <img src alt="#" class=“img-responsive”>

そうです。src=""の定義が漏れているんです。

上の画像は見辛いと思いますので、それぞれの該当箇所のソースコードの画像を下に添付します。
(見やすさ重視の為、sourceには改行追加+各タグ前調整をしています)

1投稿1画像の制限がある様なので、添付画像の為、投稿を分けます。

Hosting:正常
portfolio_Library_Hosting_s-1920-826-132.jpg

MAMP:画像表示できない
portfolio_Library_MAMP_s-1920-1000-140.jpg

この様な現象は、画像が表示されない他のportfolioページでも同じ状態です。
portfolio_Comp-1920-845-224.jpg

v8.5.7とv9.1.1環境の違い(Hosting vs Local)もありますが、
この様に見えると、v9のバグではないか?とも思えるのですが、どうでしょうか?

@Jun1chi こんにちは。
スライダ画像ブロックは何かカスタマイズをされていますか?

であれば、view.php で読み込んでいる img ヘルパーの記述がちょっと変わったので、
もしかしたらそれが原因かもしれません。

ありがとうございます。

スライダのカスタマイズはしていません。

カスタマイズは、スマホで「電話」ボタンをBlog以外のページの下部に常駐させるために

\application\themes\stucco\inc配下の、header_top.phpに

の追加と

スタックで、タップで「電話」ボタンを.png画像を各ページに配置しています。

あとは、Blogページで、拡張HTMLブロックにHTML記述とインラインcssの追加くらいです。
SP_TEL05G0-0641-0061-012

上記の一部がTAGとして認識され表示されなかったので、一部を変更して追記します。

header_top.phpに追加は、以下の内容です(<を<に、>を>に変更しています)
<link rel=“stylesheet” href="<?php echo $view->getThemePath()?>/css/telBtnFix.css">の追加

@Jun1chi こんにちは。Stucco をお使いということでしょうか?

であれば、カスタマイズはしていなくても、Stucco のテーマがそもそも V9 にまだ対応していないのが原因だと思います。

今、Stucco の修正対応してもらってると思います。

ちょっとお待ちいただく必要があると思います。

こんにちは、
はい、Stucco を使用させていただいております。

そうですか、では本環境のVersionは、しばらくこのままで行こうと思います。

ちなみに、
このまま開発・テスト環境の方で、Themeをv9対応のElementallyに変更することは可能でしょうか?
「Stucco」は「Elementally」ベースと伺っています。
ありがとうございます。

お世話様です。

MAMP環境に、新しくV8.5.7で空の Elemental テーマで作成しました。

この環境に、本環境で作った全データ(データベース&ファイル)をインポート(デプロイ)しました。
(この状態で、ほぼMAMPサイトを閲覧・更新可能な状態まで持ってこれました)

このあと、v8.5.8、v8.5.9そしてv9.1.1へバージョンアップ(Stuccoを使用しないで)したいと考えています。

テーマStuccoを使用しないで、
カスタマイズした.css等を読み込ませるために、
\concrete\themes\elemental\elementsのheader_top.phpをカスタマイズ(下記の様な内容を追加して)して

<link rel=“stylesheet” href="<?php echo $view->getThemePath()?>/css/telBtnFix.css"> 等、

別フォルダに保存して、
Elemental テーマのheader_top.phpを
オーバーライド(オーバーレイ)したいと思います。

この場合、\concrete\themes\elemental\elements配下に置くと
バージョンアップで置き換わってしまうと思いますので、

Elementalをオーバーライドする
header_top.phpと追加.cssの配置場所(置き場)は、
どのフォルダ配下にすれば良いか教えて戴きたいと思います。

p.s.
本環境では、
\application\themes\stucco\inc配下の、header_top.phpをカスタマイズしていました。

返信が遅れてすいません。

Elemental に変更することは可能ですが、Stucco は Elemental を拡張して追加でいろいろデザインなどを追加しているため、デザインが崩れたりする場合がありますね。

\application\themes\stucco\inc配下の、header_top.phpをカスタマイズしていました。

これを伺っていると、まず Stucco の V9 対応を待ったほうがいいかもしれません。
Stucco V9 対応前と対応後の差分を、\application\themes\stucco\inc に適用するなどされたほうがいいと思います。

お世話様です。

v8.5.7で、Stuccoを使用せず空の ElementalでMAMPに環境をつくり
v.8.5.7のStuccoの本環境のデータを移行したところ、細かい部分は未確認ですが、
デザインの崩れなどは見受けられません(当然テーマは Elemental のままです)

ですので、
Stuccoでカスタマイズしていた部分を

Elementalのままで使ってみたいと考えましたが、ダメなのでしょうか?

Elementalなら、v9でも動いたことを確認済みなので、
このまま、MAMP環境でv9まで上げて行き確認したい(あくまでもテスト・検証・開発環境として)

それで、バージョンアップで上書きされない様に

また、別のテーマ(Atomic)を使わないまま、
Elementalのheader_top.phpをオーバーライドする形で、追加.cssなどを読み込みたいので、
この様な質問になりました。

新しい環境を作って
StuccoでV9にしてみました。
続きは⇓から