フォーラム掲示板について

以下の目的、注意点などご確認いただき、ご使用ください。

目的
Connect-CMSのユーザやConnect-CMSに興味のある方同士で自由に意見交換できる場を提供する目的で、コミュニティ掲示板として提供しています。
投稿方法
このサイトにユーザー登録することで、投稿することができます。
投稿内容
投稿内容は公開されます。
Connect-CMSに無関係な内容が記載されたと判断した場合、削除することがあります。
バグ情報
バグ(不具合)はGithub のIssues(https://github.com/opensource-workshop/connect-cms/issues)に記載していただくと、開発者に伝わりやすくなります。
また、セキュリティなど重大な事象の場合は、お問い合わせページよりお知らせください。優先的に調査いたします。
また、貢献ガイド(https://connect-cms.jp/abount/contributions)も参照をお願いします。
ユーザ登録
当サイトへのユーザ登録は以下のお問い合わせフォームよりお願いいたします。
https://connect-cms.jp/contact

フォーラムでのサポート範囲

当フォーラムでは、Connect-CMSのトラブルなどの相談も記載いただけますが、作業を肩代わりするものではありません。
作業の依頼は、株式会社オープンソース・ワークショップの調査メニューなどをご検討ください。
https://opensource-workshop.jp/service/rescue

フォーラム掲示板

ページ削除により、ファイルにアクセスできなくなる現象と対策

2024年12月12日 22時00分 [akaz]

弊社サイトをリニューアルしていて遭遇した現象を報告いたします。皆さまがサイトのページ構成を変更されるときの参考になればと思います。

概要

現象自体は、GitHubのissueにて報告されております(#1996)。

  • 現象確認バージョン: Connect-CMS - version1.21
  • 確認プラグイン:固定記事、データベース
  • 未確認だが発症すると思われるプラグイン:フォトアルバム、ブログ、掲示板、キャビネットなど

もう少し詳しく申し上げますと、以下のような現象です。

(1)ページAにコンテンツAがあり、そこに画像などのファイルがあったとします。

(2)ページBでもコンテンツAを表示させます。

(3)不要になったページAを削除します。

(4)ページBのコンテンツAで、画像は表示されなくなり、PDF等のファイルはダウンロードできなくなります。

実際の現象と対策

(1)「会社案内」ページとその下層に「代表より」ページがありました。

01page-control

(2)サイトリニューアルにより、「代表より」ページのコンテンツは「会社案内」ページに移動しました(正確には、「会社案内」ページでも表示するようにした)。

※この様子をデモした様子が以下の桜Aの画像です。元々は下層の「代表より」ページに載せていましたが、上層の「会社案内」ページに表示するようにしました。

02VisibleSakura

(3)ここで、不要となった下層の「代表より」ページを削除すると、上層の「会社案内」ページで桜A画像が表示されなくなります。

※実際には、ブラウザのキャッシュにより画像は表示されます。このため、大規模にサイト構成を変更して気づかないまま何日かたって、何かの都合でブラウザのキャッシュをクリアしたときに、「あ、あちこちの画像が表示されない!PDFをダウンロードできない!」と恐れおののくこととなります。

03UnvisibleSakura

(4)「管理者メニュー」 → 「アップロードファイル」でもこの現象を確認できます。

※ファイルのID(ここでは「98」)は、コンテンツ画面のHTMLエディタやブラウザのディベロッパーツールで確認できます。

04UploadFiles

(5) 以降は対策です。

DBのuploadsテーブルで、id = 98 のレコードを探します。page_idが「18」となっていますが、この18のページは削除された「代表より」ページなのです。

05DB-uploads

(6)pagesテーブルで、「会社案内」ページの id を探します。すると、id=3 とわかります。

06DB-pages

(7)uploadsテーブルに戻り、id=98のファイルのpage_idを(6)で見つけた「3」に変更します。

07DB-uploads

(8)すると、「アップロードファイル」画面で ID = 98 の画像が表示されるようになり、所属するページも「会社案内」に変わります。

08UploadFiles

(9)「会社案内」ページでも、桜Aの画像が表示されるようになりました。

09VisibleSakuraAgain

もし、対象画像が多い場合は、(7)でSQL文を使って一括で更新すればいいでしょう。

(更新:2024年12月12日 22時27分)
スレッドの記事一覧
ページ削除により、ファイルにアクセスできなくなる現象と対策
2024-12-12 [akaz]

弊社サイトをリニューアルしていて遭遇した現象を報告いたします。皆さまがサイトのページ構成を変更されるときの参考になればと思います。

概要

現象自体は、GitHubのissueにて報告されております(#1996)。

  • 現象確認バージョン: Connect-CMS - version1.21
  • 確認プラグイン:固定記事、データベース
  • 未確認だが発症すると思われるプラグイン:フォトアルバム、ブログ、掲示板、キャビネットなど

もう少し詳しく申し上げますと、以下のような現象です。

(1)ページAにコンテンツAがあり、そこに画像などのファイルがあったとします。

(2)ページBでもコンテンツAを表示させます。

(3)不要になったページAを削除します。

(4)ページBのコンテンツAで、画像は表示されなくなり、PDF等のファイルはダウンロードできなくなります。

実際の現象と対策

(1)「会社案内」ページとその下層に「代表より」ページがありました。

01page-control

(2)サイトリニューアルにより、「代表より」ページのコンテンツは「会社案内」ページに移動しました(正確には、「会社案内」ページでも表示するようにした)。

※この様子をデモした様子が以下の桜Aの画像です。元々は下層の「代表より」ページに載せていましたが、上層の「会社案内」ページに表示するようにしました。

02VisibleSakura

(3)ここで、不要となった下層の「代表より」ページを削除すると、上層の「会社案内」ページで桜A画像が表示されなくなります。

※実際には、ブラウザのキャッシュにより画像は表示されます。このため、大規模にサイト構成を変更して気づかないまま何日かたって、何かの都合でブラウザのキャッシュをクリアしたときに、「あ、あちこちの画像が表示されない!PDFをダウンロードできない!」と恐れおののくこととなります。

03UnvisibleSakura

(4)「管理者メニュー」 → 「アップロードファイル」でもこの現象を確認できます。

※ファイルのID(ここでは「98」)は、コンテンツ画面のHTMLエディタやブラウザのディベロッパーツールで確認できます。

04UploadFiles

(5) 以降は対策です。

DBのuploadsテーブルで、id = 98 のレコードを探します。page_idが「18」となっていますが、この18のページは削除された「代表より」ページなのです。

05DB-uploads

(6)pagesテーブルで、「会社案内」ページの id を探します。すると、id=3 とわかります。

06DB-pages

(7)uploadsテーブルに戻り、id=98のファイルのpage_idを(6)で見つけた「3」に変更します。

07DB-uploads

(8)すると、「アップロードファイル」画面で ID = 98 の画像が表示されるようになり、所属するページも「会社案内」に変わります。

08UploadFiles

(9)「会社案内」ページでも、桜Aの画像が表示されるようになりました。

09VisibleSakuraAgain

もし、対象画像が多い場合は、(7)でSQL文を使って一括で更新すればいいでしょう。