ページタイプとそのページタイプで作成したページが全て消えました…

2012年8月8日 at 23:45

お世話になっております。concrete5を5年ほど利用しております者です。

先日、最新バージョンのconcrete5にてローンチしたページについて、ページタイプを一部修正しようとして「デフォルト」ボタンを押したところ、ページが一切表示されず真っ白なページになり(ソース閲覧も不可)ました。

しかも、そのページタイプを使って作成したページが全て同様に真っ白になり、一切消えてなくなっている状況です。

管理ページのサイトマップからページの名称は確認できるのですが、各ページのバージョンが全て消えているので復元もできません。

concrete5において、ページタイプが壊れること、またそのことが原因でページのデータが壊れるもしくは消えるということがあるのでしょうか。

消えたページは50ページ近くあり、かなり弱っています。

サイトのデータベース自体は先月に一旦取っているのですが、その後細かい修正が入っているため、出来る限りデータベースの復元なしで、該当のページタイプ部分のみ復帰させたいと考えています。

考えられる原因および対応策を教えてくださいませ。

タグ:

Re: ページタイプとそのページタイプで作成したページが全て消えました…

2012年8月9日 at 5:55
それは大変な事態ですね。しかし、ページタイプ一覧の「デフォルト」ボタンは、ページタイプのデフォルトの編集権限があるかチェックしたあと編集画面に移動しているだけなので、それでデータベースが壊れるということはちょっと考えにくいですね…。サイトマップから見て各ページのバージョンが消えているということは、全く1件も無いということですか?

PageTypesテーブルで特定のページタイプを消してみたり、Pagesテーブルで特定のページタイプのデフォルトとなるページでcIsTemplateを0に変えたりしてみたのですが、仰るような現象が再現できませんでした。バックアップを取ったデータベースと、何か違いが見つかれば手がかりになりそうなのですが…。

あと、一応[管理画面 → システム&設定 → 最適化 → キャッシュをクリア]をしてみてください。
 

Re: ページタイプとそのページタイプで作成したページが全て消えました…

2012年8月9日 at 8:44
お返事ありがとうございます。
バージョンですが、遡って調べましたら非常に古いもの(ちょっとどのタイミングで取得しているのかわからないのですが)は残っていました。が、そのバージョンを承認しても反映されていません。

キャッシュのクリアは実行済みです。

引き続き調査してみますが、何かお気づきの点がございましたらどうぞよろしくお願いいたします。
 

Re: ページタイプとそのページタイプで作成したページが全て消えました…

2012年8月9日 at 10:03
yamanoiです。

最新にバージョンアップしたということですよね。
concrete5から提供されているテーマを編集してオリジナルテーマとして使っている場合、ありえる話です。
テーマをカスタマイズする場合は、/themesへフォルダ名を替えてコピーしてからカスタマイズしていきます。

対策としては
編集したテーマをフォルダ名を替えて/themesへコピーし、description.txtの中身を変更します。
次に管理画面からテーマをインストールして切り替えれば表示できます。
あと、
concrete5.5.2.1.jaではelemests/footer.phpの中に<?php Loader::element('footer_required'); ?>がないといけません。</body>の上にあるかどうかの確認も必要です。
 

Re: ページタイプとそのページタイプで作成したページが全て消えました…

2012年8月9日 at 10:17
ありがとうございます。

テーマに関してはそのように作成していますが、それでも発生の可能性はありますでしょうか??

ちなみに現象は全てのページタイプではなく、8種ほど存在するページタイプのうち、ひとつの
テーマでのみ発生しており、また昨日までは正常に動作しており、その間テーマないしFTPにて何かを操作していないので、テーマが原因というのは考えにくいのですが…

フッターのPHPについても閉じタグの上に記載しております。
 

Re: ページタイプとそのページタイプで作成したページが全て消えました…

2012年8月9日 at 12:36
僕が考えられる可能性としては
・そのページタイプのコードにエラーがある
・そのページタイプのデフォルトで問題のあるブロックを挿入した。
・そのページタイプのグローバルエリアに問題のあるブロックを挿入した。
・パーミッションが変更された。
ではないかと思います。他にもあるかもしれません。

ページタイプに問題のある場合
Aというページタイプで問題が発生し、Bというページタイプで問題が発生しないのであればAをバックアップし、BをコピーしてAとし、表示されるか試して見る。

ブロックに問題がある場合
問題の起こるページタイプのエリアを示すphpコード($a->display)を順番に消していって、表示されるかどうか確認する。表示されるようになるより以前に削除したエリアに問題のブロックが挿入されている。

パーミッションの問題の場合
AのパーミッションとBのパーミッションが一緒か確認する。

このテストは必ずバックアップを取り、キャッシュをクリアして行ってください。
ページタイプのコードを変更した場合もキャッシュをクリアしてください。
もっといいテスト方法があるかもしれないのですが。。。
 

Re: Re: ページタイプとそのページタイプで作成したページが全て消えました…

2012年8月10日 at 16:51
ありがとうございます。
とりあえずキャッシュがある程度残っていたので手動で復旧しました。
あとはワイヤーフレームを元に作りなおしましたが、何とかなりました。
今後、データベースのバックアップはコマメに取ることを肝に銘じます。

おそらくページタイプに問題があるとは思うのですが、該当のページタイプを修正中に、一瞬ログインできないタイミングがあり、そのタイミングで何か壊したのかもしれません。

いずれにしろ気持ち悪い現象です。
他のページでいずれチェックしてみたいと思います。