Re: Concrete5の導入について

2015年4月17日 at 22:56

> ①コンテンツの履歴管理について
ファイルの差分管理はありません。そちらはgit等をご活用ください。concrete5で管理するのはコンテンツまでです。

> ②動的URLについて
ページリストブロックのcontrollerをご参照ください。フルサイトでインストールした場合、トピックリストブロックで生成されるURLに動的に反応してコンテンツを表示する仕組みになっていますので、参考になるかと思います。また、そもそもページ送りは動的に生成されています。

フルページキャッシュに関しては、ブロックごとのコントローラーのプロパティにて、キャッシュへの対応方法が指定されています。例えばページリストは動的なブロックですので、フルページキャッシュを許可していないブロックですので、各ページでフルページキャッシュを常に有効にしない限りは、ページリストブロックが置かれているページではフルページキャッシュは生成されません。

> ④外部会員システムについて
こういう機能はシングルページで実装します。標準のログイン画面はcontrollers/single_pages/login.php と single_pages/login.php の組み合わせできています。

> ⑤ページ表示時のDB更新について
> ユーザが参照するページはreadonlyなレプリケーションDBを参照させるようにしたいと考えております。
基本的には可能ですし事例もありますが、5.7系ではまだ事例が少ないです。ただ仰る通りログを取る機能はありますので管理画面から無効にしていただければと思います。

> ⑥パッケージ領域のオーバーライドについて
マーケットプレイスのアドオンは、基本的にはルールとしてコアクラスのエイリアス設定を上書きはしないと思います。複数パッケージで上書きは試したことは無いですが基本的にはLaravelのFacadeクラスを使っていますのでそちらに依存すると思います。すいません、詳しくないです…。

Re: Re: Concrete5の導入について

2015年4月18日 at 1:36
hissyさん

詳細なご回答ありがとうございます!

> ①コンテンツの履歴管理について
> ファイルの差分管理はありません。そちらはgit等をご活用ください。concrete5で管理するのはコンテンツまでです。

ファイルの差分管理機能はなく、ブロックのファイルを修正して直接デプロイした場合にはキャッシュがなければ即時反映と言う事ですね。
現行CMSの業務フローでは、ステージ環境で確認後に本番反映と言うフローがどうしても必要となってしまうため、ステージ(管理画面での確認用)と本番のモジュールを別に管理しておき、管理画面からブロック編集( or ファイルアップロード)出来るように機能拡張(db.xmlなどは禁止?)→このタイミングではステージのみモジュールが変更されている状態(公開ステータスを承認待ち?に合わせて更新)→本番公開時にステージ環境から対象ブロックを本番環境へ同期(rsyncなど?)のような形が実現出来ないか検討してみたいと思います。

> ②動的URLについて
参考になるsrcを教えて頂きありがとうございます!
いま手元にsrcがないので、のちほどページリストブロックの確認させて頂きたいと思います。

> ページリストブロックが置かれているページではフルページキャッシュは生成されません。

フルページキャッシュが生成されないとなると、今回の例の場合には毎回の外部API呼び出しをしてしまう事になりそうですね。
キャッシュ処理のsrcはまだ見れていないのですが、外部APIへの負荷が少し心配なので、指定されたパラメータを含むURLに対してページキャッシュ出来るような仕組みを少し検討してみたいと思います。

> > ④外部会員システムについて
> こういう機能はシングルページで実装します。

シングルページのcontrollerとして処理を書くようなイメージになるのですね。
参考に標準ログイン画面を確認させて頂きます!

> > ⑤ページ表示時のDB更新について
> > ユーザが参照するページはreadonlyなレプリケーションDBを参照させるようにしたいと考えております。
> 基本的には可能ですし事例もありますが、5.7系ではまだ事例が少ないです。

上記の件、了解いたしました。
実現は可能との事で安心いたしました、一応アプリケーションログは監視しておきたいので、Loggerのあたりをファイル出力可能なように拡張出来ないか検討してみたいと思います。

> マーケットプレイスのアドオンは、基本的にはルールとしてコアクラスのエイリアス設定を上書きはしないと思います。

失礼いたしました、マーケットプレイスのアドオンはコアクラスのエイリアスを書き換えたりはしないのですね。
すっかり共通的な処理の機能拡張を行うアドオンのようなものは、コアクラスの置き換えを行っているのかと勘違いしてしまっておりました。

いくつかアドオンのsrcも確認してきちんと理解するようにいたします。

お忙しいところご回答頂きまして本当にありがとうございました!
同じような疑問を抱く方がもしかしたらいるかも知れないので、検討した結果ものちほど記載させて頂きます。
 

Re: Concrete5の導入について

2015年4月18日 at 16:27
キャッシュについては、ブロックキャッシュを活用すれば、毎回APIを読みにいくことは無く、取得結果を一次保存することも可能です。いいサンプルがあればまた共有します