コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 12:18

concrete5.7 で、新しくなったコンポーザーで、作成中、もしくは作成済みのページをコピーすると、コンポーザーで編集できなくなります。

この問題は、ちょっと奥が深いので、かなりコアーのコードを見ないといけないのですが、フィードバックが来ていて、下書きページでなにかテンプレートになるようなページをつくって、それをコピーすることでページの量産をしたい人にとって、それができないのでちょっと使いづらい。

という意見が出ています。

「編集モード」よりブロックを編集すると、コンポーザーで再び編集できなくなることは仕様でしょうがないと思いますが、

コンポーザーのみで編集しているページは、ページを複製したとしても、コンポーザーで編集し続けるようにしたいです。

ちょっと、その検証をしたいと思います。

今からちょっとコードを追いたいと思うのですが、既に解決策を知っている人がいればな−と思って、作業開始前に聞いてみました。

タグ:

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 12:42
再現手順がわかりづらいとのことなので、
下記、再現手順を追加します。

・ページタイプには、コンポーザーコントロールブロックで配置したブロックがデフォルトで登録してある。(記事ブロックなど)
・コンポーザーでページを作成する
・ページを下書きとして保存するか、公開する。
・下書きしたページや公開したページを、ページ設定の[バージョン]パネルから、最新のバージョンを選択し、[新しいページ]を選択。もしくはページを複製。
・新しく複製したページでは、コンポーザーの記事ブロックは編集できない。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 12:46
下書き状態のページバージョンが複製できるということがバグであり、できないようにするのが正しい解決方法だと思います。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 12:52
あ、下書き状態のバグは置いといて。

それ以外でも、既に公開済みのページでも複製した時にコンポーザーで編集し続けるようにしたいということですね。

元の再現手順を修正しました。

下書きページを複製できるようにする機能は必要だと思う。
下書きを元にページを量産させたい人が出てくるシーンは多くなるなー。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 13:09
下書きページを元に複製するかどうか、という説明だと、誤解を招くと思います。実際に、インストール時のサンプルコンテンツを編集する場合でも同様の現象は起こっていて、フォーラムへの書き込みもあります。「コンポーザーの画面から作成しないとコンポーザーから再編集できない」というのがより厳密には正しいです。XMLからのインポートを行った際にも、コンポーザーから再編集できない問題はあって、URLは忘れましたがフォーラムに書き込んだ気がします(と思って探したけどちょっと出てこなかった)。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 13:39
おっと。ちょっと

・コンポーザーのページを複製したあとでコンポーザーで複製できない問題
・下書きページを複製できるようにするか否かの問題

2つの問題がごちゃまぜですね。

自分の意見は、

・コンポーザーのページを複製したらコンポーザーで再び編集できるようにしたい
・下書きページの複製も可能にしたい

という意見です。

ひとまず、ここのスレでは、コンポーザー複製問題のみに特化して、
下書きのところは、別のスレで議論しましょう。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 13:01
進捗メモ

MySQLの
PageTypeComposerOutputBlocks テーブルで、このブロックはコンポーザーで編集できるかできないかのブロックなのかを見ている。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 13:08
ページを複製した時に、PageTypeComposerOutputBlocks に同じブロックが存在しているかを検索して、存在していたら、エントリーを複製させるという処理を加えたらいいのではないかと考えたので、

ちょっとやってみます。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 14:20
以外とシンプルに出来たかも

http://github.com/katzueno/concrete5/commit/3b51244bfafa3339b55a48fc847aae696df357a5

※ 要注意。今テスト中です。
 

Re: コンポーザーで作成しているページをコピーするとコンポーザーで編集できなくなる

2015年6月15日 at 14:59
やっぱり、ちょっと上のはバグが有りました。

下記プルリクエストの変更でいけると思います。
http://github.com/concrete5/concrete5/pull/2595