ページ 11

MODxをマルチユーザー、カテゴリ自由定義(ブログライク)に運用することは可能か?

Posted: 2009年9月11日(金) 17:59
by Nick_smallworld
にっくです。質問トピックを立てさせていただきます。

現在、本仕事でMODx検討中です。
クライアントはMODxのツリー構造に満足していて、導入に乗り気。

ただ、2点ほど厄介な点がありまして

1・マルチユーザーで、ユーザーごとに独自ドメイン利用
2・不動産的なカテゴリ分け(間取りや駅からの距離などでタグ付け)をさせるが、ユーザーごとにオリジナルカテゴリを付与させたい
(ペット可、タバコ可能、などのカテゴリもしくはタグを、それぞれのユーザーレベルで付与できるようにして、ほかのドメインのユーザーには影響を与えない)

の2点が要望として挙がっています。

1は、やまさんと話して、Phizeさんの過去記事を発見。
http://dxd8.com/archives/61/

問題は2でして、これはマルチユーザーでブログを各自に与える感覚に近い。
MODxの枠組みの中でやろうとすると、ユーザーごとにそれぞれ独自のテンプレートを与えて、テンプレート変数を開放する形になるかと思ったけれど、運用としては論外。
キーワードの欄を利用して、擬似的にできないか考え中だが、決め手に欠ける。

・・・というわけで、少々苦戦しております。

ジャストアイディアレベル、雑談レベルで、上記課題を解決する方法が思いつく方、すでに経験済みの方、宜しければお話をお聞かせください。よろしくお願いいたします。

Re: MODxをマルチユーザー、カテゴリ自由定義(ブログライク)に運用することは可能か?

Posted: 2009年9月11日(金) 18:32
by sama55
Nick_smallworld さんが書きました:2・不動産的なカテゴリ分け(間取りや駅からの距離などでタグ付け)をさせるが、ユーザーごとにオリジナルカテゴリを付与させたい
(ペット可、タバコ可能、などのカテゴリもしくはタグを、それぞれのユーザーレベルで付与できるようにして、ほかのドメインのユーザーには影響を与えない)
これはマルチユーザーでブログを各自に与える感覚に近い。
MODxの枠組みの中でやろうとすると、ユーザーごとにそれぞれ独自のテンプレートを与えて、テンプレート変数を開放する形になるかと思ったけれど、運用としては論外。
キーワードの欄を利用して、擬似的にできないか考え中だが、決め手に欠ける。
パッとした思い付きなので、雑談レベルになりますが・・・

ペット可、タバコ可能、などのカテゴリもしくはタグ
>>> テンプレート変数で定義

ユーザーレベルで付与できるようにして、ほかのドメインのユーザーには影響を与えない
>>> ドメインごとにユーザロールを定義

キーワードの欄を利用して、擬似的にできないか
>>> キーワードの欄をテンプレート変数に置き換えて考える。
>>> 物件=ページという条件付きですが、ManagerManagerロール単位のカスタマイズ機能を利用し、物件ページを特定ロールユーザ(ドメインユーザ)が触る時に各ロールで許されたテンプレート変数だけしか触れないようmm_rulesで制御

本案の注意点1)
ペット可、タバコ可能などのカスタム変数の数に比例してドキュメントの開示性能がリニアに劣化していくので、テンプレート変数が数百以上のオーダーになることが予想される場合は、キャシュのリフレッシュタイミングをずらすなどのプログラム的アンド運用的な対応が別途必要になると思います。(勿論、ドキュメント(物件)数の一時点の最大数もしっかり管理)

本案の注意点2)
マルチドメイン機能を使ったことがないので、それとの関係でダメかもしれませんが・・・

Re: MODxをマルチユーザー、カテゴリ自由定義(ブログライク)に運用することは可能か?

Posted: 2009年9月11日(金) 18:41
by Nick_smallworld
sama55 さんが書きました: ペット可、タバコ可能、などのカテゴリもしくはタグ
>>> テンプレート変数で定義

ユーザーレベルで付与できるようにして、ほかのドメインのユーザーには影響を与えない
>>> ドメインごとにユーザロールを定義

キーワードの欄を利用して、擬似的にできないか
>>> キーワードの欄をテンプレート変数に置き換えて考える。
>>> 物件=ページという条件付きですが、ManagerManagerロール単位のカスタマイズ機能を利用し、物件ページを特定ロールユーザ(ドメインユーザ)が触る時に各ロールで許されたテンプレート変数だけしか触れないようmm_rulesで制御

本案の注意点1)
ペット可、タバコ可能などのカスタム変数の数に比例してドキュメントの開示性能がリニアに劣化していくので、テンプレート変数が数百以上のオーダーになることが予想される場合は、キャシュのリフレッシュタイミングをずらすなどのプログラム的アンド運用的な対応が別途必要になると思います。(勿論、ドキュメント(物件)数の一時点の最大数もしっかり管理)

本案の注意点2)
マルチドメイン機能を使ったことがないので、それとの関係でダメかもしれませんが・・・
にっくです。samaさん、返信ありがとうございます。
そうですね、ユーザー数が増えたときのパフォーマンスが気になるところではあります。
キーワードを利用した場合は、諸にほかのユーザーと影響がかぶりそうなので、自分で言っておきながらあまり現実的ではない気がしてきました。

Revoではマルチドメイン、マルチユーザーをサポートするみたいですが、まだ先でしょうね。
いずれにせよ、お付き合いありがとうございます。少し検討してみます。

Re: MODxをマルチユーザー、カテゴリ自由定義(ブログライク)に運用することは可能か?

Posted: 2009年9月11日(金) 19:02
by yama
(2)はモジュールを作るアプローチが素直でよさそうな気がします。ユーザごとの「ブログ設定画面」に相当するモジュールを作って、そこでカテゴリーをいくつでも自由に作らせる。作った値をテンプレート変数のオプション値のところで@bindする。投稿画面でカテゴリーを選択できる。というイメージです。

Re: MODxをマルチユーザー、カテゴリ自由定義(ブログライク)に運用することは可能か?

Posted: 2009年9月11日(金) 19:18
by kazuike
Nick_smallworld さんが書きました: 2・不動産的なカテゴリ分け(間取りや駅からの距離などでタグ付け)をさせるが、ユーザーごとにオリジナルカテゴリを付与させたい
(ペット可、タバコ可能、などのカテゴリもしくはタグを、それぞれのユーザーレベルで付与できるようにして、ほかのドメインのユーザーには影響を与えない)
状況をあまり理解できていないので、とんちんかんな答えかもしれませんが、

もし、サイト管理者が設定して、その選択肢からユーザに選ばせるということなら、
1ユーザに対して、1ロール作って設定し、
1ユーザ(1ロール)に対して、1テンプレート作って、ManagerManagerで割り当てる。
1ユーザに対して、1つのテンプレート変数(複数選択可能)を作り、これを当該ユーザに割り当てたテンプレートに設定する。
ページの表示は、ウィジェットかスニペットで適当に選択肢を分割して表示する。
このフィールドを検索条件にするなら、Dittoのtaggingを使う。
※これだと、ユーザ数に比例して、テンプレート変数が増大してしまいますね、

もし、サイト管理者が決めずに、ユーザが自由にタグを付けられるようにするということで良ければ、
1つのテンプレート変数(テキスト入力)を作り、
ユーザは「ペット可,タバコ可,オートロック」など、特定の文字で区切って入力する。
ページの表示は、ウィジェットかスニペットで適当に選択肢を分割して表示する。
このフィールドを検索条件にするなら、Dittoのtaggingを使う。

う~ん、なんかいまいちですね。 :roll:

Re: MODxをマルチユーザー、カテゴリ自由定義(ブログライク)に運用することは可能か?

Posted: 2009年9月11日(金) 19:24
by sama55
やはり付け焼刃でしたね。 :mrgreen:
マルチドメインをアプリレベルで実現するのは、システム(今回はmodx)のスケーラビリティが相当高くないと厳しいですよね。1のような機能は発想は素晴らしいと思いますが、搭載システム(modx)の性能限界をちゃんと見極められる人だけが使うべき。じゃないと後で痛い目に遭いそうです。既に視野に入ってると思いますが、収容するドメインが多いようなら、OSSではeZやTYPOあたりが現実的な線かもですね。

Re: MODxをマルチユーザー、カテゴリ自由定義(ブログライク)に運用することは可能か?

Posted: 2009年9月11日(金) 21:24
by Nick_smallworld
皆様、ありがとうございました。参考にします。

MODxでやる分には、マルチユーザーに対してタギングやカテゴリ付与は現実的ではないでしょうね。
もともとシングルサイト前提ですし。

静的htmlの出力を前提にした運用か、別CMSも検討中です。
Typo3は、今回の対象ユーザーを考えると、リテラシー的に厳しいだろうと思っております。