Re: 5.6.0.2へアップグレード後、スクラップブックとグローバルブロックの扱いについて

2013年3月1日 at 4:51

本家フォーラムでスクラップブックをスタックに変換するスクリプトが紹介されていました。

http://www.concrete5.org/community/forums/usage/is-there-a-way-to-convert-to-scrapbook-to-stack/

検証しようと思いつつ時間がなくてまだできてないんです、すいません。
自分も3月中に古いconcrete5サイトのアップグレードを予定しているので色々調べているのですが…個別に分解して考えたほうがいい気がしています。

グローバルスクラップブックの使い方を考えるに、ヘッダー・フッターなどで共通パーツを管理するのに使うことが多いです。そういうものは、基本的にエリアをグローバルエリアに置き換えることで対応してしまおうと思います。

問題は複数のページで内容を共通にするためにばらばらに置いているものですね。これは5.5以降ではスタックにせざるを得ないと思います。

スクラップブックが実際にどのように扱われているかというと、管理画面内の「スクラップブック」というページの中の、スクラップブックの名前を冠したエリアの中にあるブロックというデータになっています。

上記の移行スクリプトはそのエリアの中のブロックを取得し、ブロック名と同名のスタックを作成し、ブロックを複製して新しく作ったスタックの中に入れ、データベース内の CollectionVersionBlocks, CollectionVersionBlockStyles テーブルの中の旧ブロックと新ブロックを無理やり置き換えています。この処理が、いまいちこれで合っているのか?よく分からないので、スタックが各ページでどのようにデータベースに保存されているのか調べているところです。

Re: 5.6.0.2へアップグレード後、スクラップブックとグローバルブロックの扱いについて

2013年3月1日 at 8:39
本家フォーラムに投稿されていた移行スクリプトを修正しました!
http://github.com/hissy/MoveScrapbookToStackJob

以下の手順でテストして問題なかったのですが、テスト用にコピーした環境などで、試していただけますでしょうか?
ぼくの方でも、移行予定にしていた古いサイトの方でテストしてみます。ページ数が多いので時間がかかると思われます…。


●5.4.2.2でインストール
スクラップブックを使って複数のページにブロックを挿入

●5.5.2.1にアップデート
・表示されるし編集モードで編集できるが、グローバルブロックとして認識されなくなる(個別に編集できてしまう)
・管理画面内に下書きページは残っており、編集もできる。bIDは同一なので、ここからの編集は各ページのブロックに反映される(要キャッシュクリア)

●5.6.0.2にアップデート
・表示と編集モードは変化なし。
・管理画面内の下書きページは依然残っていて編集も可能。各ページのブロックに反映される。

●移行ジョブをインストールして実行
・全てのスクラップブックのブロックがスタックの中に移され、編集しようとするとスタックの編集画面に飛ぶようになった。