CMSと他のシステムの融合のテクニック
■ このスレッドは過去ログ倉庫に格納されています
ウェブサイトの管理するためにCMSはかなり重要だと思っています。
しかし、他のシステム(自作のショッピングカートシステムなど)と
CMSをうまく融合したいと考えます。
ショッピングカートをCMSのプラグインとして実装するのが
一番スマートなのでしょうが、そうすると、CMSに
依存する形となり安易に他のCMSに乗り換えられなくなります。
あきらめて、完全に分離した形にすると、今度は
CMSと他のシステムとのデザイン上の不一致や
それを修正するときに、CMSと他のシステムの両方を
修正しなくてはならなくなったりと不便です。
他のシステム内のデータ(静的な簡単なメッセージ等)を
CMSで管理できないのも悔しいです。
そこで、逆にあるフォルダ以下を他のシステムにし、
そのシステムからCMSのパーツを呼び出す方法を考えています。
とすると今度はCMSのパーツの呼び出し方が問題になってきます。
どちらもスマートな気がしません。
結構良くある事例だと思いますので、こんな方法で
うまいかんじに融合させたというテクニックありませんか。 うーん
どうして融合させる必要があるのか逆に問いたい。
融合させなければスマートではないというのなら、1から自作する事
ぐらいしか思い浮かばない。
デザインの不一致というのは、分離する欠点にはならないよ。
なぜなら、大抵のCMSは、見た目はどうにでもなる。
システム内のデータに関して言うと、カートに出品する商品に
関してどのようにCMS側のデータと関連しているのか皆目
見当もつかない。
2度手間や、内容のダブリを防ぎたいという事ですか?
後・・・・
CMSのパーツというのは、どのような機能を呼び出さなければ
ならないのでしょうか?
>>2のように、自分で完全に1から自作したものであればまだ十分に
納得いくのだが・・・・。
デザイン重視で作るなら、全体を HTML + CSS で作って
動的な部分を適当なブログシステムなんかにする。
でもって、iframe で RSS 呼び出しってのはどう? >>4
> 2度手間や、内容のダブリを防ぎたいという事ですか?
そういうことです。
同じ物を二つ以上作ってはならない。
Dry(Don’t Repeat Yourself)が原則です。 >ショッピングカートをCMSのプラグインとして実装するのが
>一番スマート
答えでてるやん。乗換えの事まで考えてたら融合なんてできないよ。 コンテンツの管理にはCMS(ブログ含む)の方が優れているのですよ。
でも、CMSっていくつもあるじゃないですか。
場合によってCMSを使い分けたい。
独自で何かシステム作ったとき(もしくは既に有る何かを使ったとき)、
これらのシステムと、使い分けるCMSとは柔軟に組み合わせられたほうがいいと思いません?
だから、なるべく依存しない融合テクニックがあればいいなと。
とりあえず、中間報告。
CMSや他の何かをプロキシのように使い内部でHTTP経由で独自システムを呼び出す方法。
これは独自システムの変更を必要としないためいいように思えたが、
プロキシ風ゆえにIPが変わってしまうため、独自システムがIP見ている場合
(ログ、セッション管理、アクセス制御)改造が難易度が高く
複雑になる可能性があると判断したのでボツ。
そこで、ユーザーは独自システムに直接アクセスする。
そして独自システムの改造を必要とするが、独自システムから
CMSに管理されたページ(場合によってはテンプレート)を取得し、
独自システムのビューやテンプレートとして利用することにした。
パフォーマンスは落ちるが、独自システムの改造はわずかになる(ことが多いだろう) 共通のヘッダとフッタ、CSSのカラーファイル読み込ませるだけで、ずいぶんと統一感が出ると思う。
それぞれのCMSは別のディレクトリにインストールしておく。
ユーザー登録データとか流用するのは難しいかもしれん。 >>9
多分それが一番普通の答えでしょうね。
だけど問題があるというかそれ以上のものを狙っています。
問題とは、
・共通のヘッダ/フッタにCMS(やそれで使われているtemplate)の命令が使われている場合どうするか?
(自分のシステムに、その命令解釈機能をつける?)
・共通のヘッダ/フッタがファイルではなくデータベースなどに格納されている場合どうするか?
(自分のシステムから、それらを直接読めるようにする?)
・ユーザー登録データも流用したい(つまり自分のシステム内に表示されるデータもCMSで管理したい)
(自分のシステムから、それらを直接読めるようにする?)
・CSSのセレクタ名の違いをどうするか あと>>8が酔っていたときに書いたので、意味が良くわかりません。あとで書き直します。 >場合によってCMSを使い分けたい。
この「場合」がわからんからなんとも言えんが、
CMSの方をプラグインなり改造するなりで変えていけば済むことじゃないの? ■ このスレッドは過去ログ倉庫に格納されています