1

過去 3 年間ほど、Adobe CQ の使用を増やしてきました。/var/site/app私たちは 5.4 を使い始めました。そこでは、数人の開発者 (アドビ コンサルタントの推奨により) がノードにデータのルックアップ「テーブル」をいくつか保存しました。これらは、郵便番号、サイト ID などのコンポーネントのルックアップ ストアとして使用されていました。

現在、CQ 5.6 に挑戦していますが、パブリッシャー インスタンスでこのデータにアクセスするのに苦労しています。作成者は問題なく動作しますが、パブリッシャーでデータにアクセスしようとすると 404 が返されます。しばらく前に、他のコンサルタントから、データを /var に保存するのは得策ではないという意見がありましたが、その理由を思い出せません。それ。

いくつかのコンポーネント、ページ、またはその他のオブジェクトがアクセスできる一般的な参照データを格納するための推奨される場所はありますか?

よろしくお願いいたします。

4

3 に答える 3

2

この質問が「どこに置くべきか」という単純なものかどうかはわかりません。コンポーネント/ページはこの情報をどのように要求していますか? AJAX呼び出し経由ですか?その場合は、JSON としてデータを生成する Sling GET サーブレットを介して実際にアクセスする必要があります。オーサー インスタンス ダイアログを介してこのデータにアクセスすることについて話している場合、一般的にオーサー インスタンスはかなりオープンであるため、場所は重要ではありません。コンポーネントレンダリングの一部として(JSPまたはそのバッキングクラス内で)このデータサーバー側にアクセスすることについて話している場合、JcrResourceResolverがアクセスできるため、どこにも移動する必要はありません。

私は通常、/var (ツリーのシステム部分) の下には何も配置しませんが、解決策は別の任意の場所を選択することではなく、それを公開できるようにすることです。解決策は、その情報にアクセスする必要がある場所を理解し、その場合に適切に公開することです。わかる?

データを取得しようとしている方法について詳しく教えていただければ幸いです。

于 2014-02-12T15:58:12.767 に答える
2

私はその背後にある理由についての権威ではありません。おそらく、途中で下された決定にビジョンを持っている人が介入することができますが、私が知る限り、var はもともと一時データまたは派生データの場所でしたが、必ずしも顧客ではありませんでした直面している。

バージョン管理、およびその他の情報のスタックがそこに格納されるため、クライアントに公開しないでください。

/etc は、ディスパッチャー上で一般的に開かれた場所であるため、SDLC の一部として属している場合にルックアップ情報を配置する論理的な場所は、この場所内にあります。

ルックアップがオーサブルである場合は、/content ディレクトリに配置する方が賢明です。これは、マルチテナンシーを含む何かを実行している場合、書き換え戦略に適合します。さらに、異なるテナントが同じルックアップ データにアクセスしている場合、つまり、

http://www.mysite.com/mypage.html goes to /content/mysite/mypage and 
http://www.anothersite.com/anotherpage.html goes to /content/anothersite/anotherpage, 

共有場所には書き換えルールを使用できます。例えば

www.mysite.com/lookups/postcodes.json /content/lookups/postcodes
www.anothersite.com/lookups/postcodes.json /content/lookups/postcodes

それが理にかなっていることを願っています。

于 2014-02-11T05:34:02.370 に答える