問題タブ [aem]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
email - AdobeCQ5-カスタムメール機能
AdobeCQ5に要件があります。いくつかのフィールドを含むフォーム(登録フォームなど)を作成する必要があります。フォームを作成した後、特定の電子メールに詳細をメールで送信する必要があります。私が知る必要があるのはです。
- カスタムメールテンプレートを作成するにはどうすればよいですか?
- テンプレートを使用して、フォームを介してキャプチャされたデータを使用して電子メールを作成するにはどうすればよいですか?
- メール設定の設定方法は?
これについての考えを教えてください。多くの人に役立つかもしれません。前もって感謝します。
file-upload - CQ5 fileupload コンポーネントの使用方法
ファイルを介したファイルのアップロードに関してサポートが必要です。実際には、(cq5 フォーム コンポーネントを使用して) ユーザーがファイルをアップロードできるフォームを作成したいと思います (テキストまたは何でも)。送信ボタンをクリックすると、そのファイルが jcr に保存されます。同時に、ユーザーは別のページからそのファイルをダウンロードできます。
組み込みの cq5 ファイル アップロード コンポーネントをフォームに追加しましたが、問題は、ファイルが jcr に保存されないことです。ファイルをjcrに保存する方法、またはファイルの参照をjcrに保存する方法を教えてください。
velocity - ユーザー定義の Java オブジェクトを速度スクリプトエンジンに渡す
CQ5でベロシティテンプレートを使用しています。インストールした速度スクリプトエンジンは、事前定義された CQ オブジェクトを識別します。ユーザー定義の Java オブジェクトを速度スクリプト エンジンに渡す方法を知りたいです。私はこれに似たものを試しました: http://groovy.codehaus.org/JSR+223+Scripting+with+Groovy
しかし、うまくいきません..親切にこの状況を解決するのを手伝ってください
前もって感謝します
single-sign-on - Adobe CQ5: LDAP なしの SSO?
私たちの顧客は CQ5 を購入したばかりで、そのセキュリティをすべて外部化したいと考えています。SSO に STS サーバーを使用し、CQ5 リポジトリの代わりにカスタム認証/属性プロバイダーを活用したいと考えています。最終的には、LDAP を使用したくありません。
これをどのように想定するかを次に示します (一部の部分は既に機能しています)。
- ユーザーは、Apache で実行されている CQ5 Dispatcher を参照します
- Apache フィルターは、ログインが完了する STS サイトにユーザーをリダイレクトします。
- ユーザーは、SAML クレームを使用して Apache にリダイレクトされます。
- ユーザー ID トークンは Cookie としてブラウザーに配置されます。(ここまではすべて動いています)
- CQ5 は、SSO 構成に基づいてその Cookie をキャプチャします (動作中)
- 問題はここから始まります: ここから、ユーザーの属性、役割、グループなどのカスタム承認プロバイダーを呼び出したいと考えています...
これを行う方法を見つけようとしましたが、見つからないリンクが見つからないようです。
カスタムログインモジュールを作成する必要がありますか? カスタム プリンシパル プロバイダーを作成する必要がありますか? CQ5 で既存の LDAP 機能を何らかの方法で使用しますが、外部認証ソースを活用するカスタム クラスを呼び出す必要がありますか?
ここにいる誰かがこれを行う方法を知っている場合、それを共有できれば、その年のカルマ商はいっぱいになります. これが JAAS で行う基本的なことなのか、作成したクラスをどこに配置すればよいのかさえわかりません。
私たちはこれまで非常に懸命に取り組んできたので、もう少しのところまで来ているように見えますが、行き止まりにぶつかり続けています。
どこから始めればよいか考えているなら、どうもありがとう!!
-ジョー
adobe - parsys コンポーネント機能の複製
コンポーネントlibs/foundation/components/parsys/colctrl/...を取得し、そのテキストを変更して、代わりに CSS タブに使用できるようにします。apps/-site-/components/content/tabsys/として再作成しました(すべてサブフォルダー/components/etc です。唯一変更しなかったのは、tabsys/tabctrl/virtual/2tabs/cq:editConfig/cq: です。 formParameters (3tabs/ も同様):
サイドキックには、列と同じオプションを持つタブ コンポーネント オプションがあります。ただし、タブのいずれかをコンテンツ領域にドラッグすると、コンテンツの一部をドラッグする境界コンテンツ領域が取得されません。編集/削除/新規バーのみ。[編集] をクリックすると、必要な列数のドロップダウンが表示されます (Columns コンポーネントには参照用のドロップダウンがあります)。私は何が欠けていますか?
adobe - CQ5 ライブラリ コンポーネントが複製され、アプリ フォルダーで上書きされない
libs フォルダー内のデフォルト コンポーネントをアプリの 1 つに複製すると、前者をオーバーライドすることになっていますが、私にとっては、サイドキックでコンポーネントのオプションを複製しています。
libs/foundation/components/parsys/の複製を作成し、それをapps/-site-/components/contentに移動して、機能を追加できるようにしました。ただし、サイドキック ( /parsys/colctrl/コンポーネント) で列コンポーネントを表示すると、オプションが複製されます。「2 つの列」、「3 つの列」、および「列コントロール」のリストが 2 回あります。
アイデア?
jackrabbit - Jackrabbit は、参加しているノード全体を検索します
Jackrabbit リポジトリのオブジェクトにタグを付けました (実際には Adobe/Day CQ の CRX ですが、これは Jackrabbit コードだと思います):
- アセット: タグ = A、B
- 子アセット データ 1: タグ = A、C、E
- 子アセット データ 2: タグ = D、E
親アセットの一連のタグと 1 つの子の結合に対してクエリを実行したい。つまり、"BC" は親と子 1 にあるためアセットに一致しますが、"C D" は組み合わせがないため一致しません。これは、C と D が別々の子データ ノードに分割されているためです。
Jackrabbit でこれを行う方法はありますか? XPathクエリを書くことができます
ただし、結合された子アセットが同じであることを XPath が保証していないように見えるため、これは機能しません*
。つまり、これは「どの子にも C/D がある」ことを意味し、1+ の子には C と 1+ があるため、私のアセットと一致します。子供にはDがあります。代わりに、JCR-SQL2を使用できます
しかしSELECT DISTINCT
、JCR-SQL2 にはありません。代わりに「BE」を検索すると、このアセットが 2 回返されます。これは、asset+child1 と asset+child2 の両方に一致するためです。
どちらのクエリ結果も Java で後処理できます。つまり、最初のケースでは偽陽性の一致を除外するか、2 番目のケースでは重複した結果を除外しますが、これがページングのパフォーマンスにどのように影響するか心配です。より多くのノードをスキャンする必要があります。悪いノードを取り除く必要がなく、ページングの正しい結果サイズを計算するためにロットをスキャンする必要があります。これは、2 番目の SQL2 のケースでは安くなるはずです。なぜなら、検索が順序付けられている場合、ノード パスのみに基づいて重複を見つけることができ、すべての重複が連続しているため、特定のページの価値のあるデータを安価なスキャンだけで見つけることができるため、うまくいけば読み取らずに済むからです。各結果のノード全体ですが、単純なパスのみの場合でも、ページング カウントのすべての結果をスキャンするコストはわかりません。
私たちが検討したさらに別のオプションは、タグを単一のノードに非正規化することです。この場合、検索を正確に保つには、各子ノードに新しい combined_tags 属性を作成し、一連の子ノードに対してのみすべての検索を実行する必要があります。ただし、これには、同じアセットの下にある 2 つの子ノードを一致させると、明確な問題が残ります。
提案をありがとう。これはすでに大規模なインスタンスであり、さらにスケーリングする必要があります。ModeShape は JCR 実装であるという他の質問を見てきましたが、SELECT DISTINCT
ModeShape で CQ をホストすることが実際に可能である場合、そのためだけに ModeShape に切り替えることは最後の手段である必要があると思います。
ここで思いついたアイデアの 1 つは、アセット タグと子タグの各結合を計算し、タグを 1 つの文字列に結合してから、各値をアセットの多値プロパティとして書き込むことです。つまり、asset + child1 = "ABC E" です。アセット + child2 = "ABD E" であるため、次のようになります。
- アセット: タグ = A、B; tagUnions = "ABC E", "ABD E"
タグを文字列に結合する固定順序 (アルファベット順など) を定義している限り、任意の組み合わせを検索できますtagUnions LIKE '%B%C%'
(ただし、実際にはタグ間に適切な区切り記号を使用します)。これは私たちが見ることができる限り機能しますが、私はあまり好きではありません: アセット + 子ごとに多数のタグが存在する可能性があり、すべてのタグが 1 文字よりも長い名前を持つため、最終的LIKE
にはすべてに対してクエリを実行する長い文字列になります。効率的にインデックスを作成できない可能性があります。
これに対するもう 1 つの方法は、ビットマスクを作成することです。A=1、B=2 などを定義して、ここに多値整数配列を格納し、ビットごとの比較を実行します。ただし、それはおそらく 64 の異なるタグに制限されており、1,000 以上あるので、これを行うことはできないと思います。
そのため、私はまだ、これに対するクリーンなデータベースのようなソリューションを探しています。あなたは私が立てた賞金を逃しましたが、まだダニ、投票、そして助けに対する感謝があります.
extjs - CQ5 コンポーネント ダイアログから ExtJS の現在のダイアログを参照する
私は CQ5 と ExtJS が初めてで、これが私のシナリオです。
オーサリング用の独自のダイアログを備えた新しいコンポーネントを作成しました。ダイアログに、作成したカスタム xtype を含むチェックボックス フィールドを追加しました。私がやりたいことはこれです:
チェックボックスがチェックされている/チェックされていないときはいつでも、既存のダイアログにTABを動的に追加/削除して、さらに作成オプションを表示したいと考えています。
ExtJS の Window と TabPanel を処理する方法を見てきましたが、現在のダイアログの参照を取得して操作 (タブの追加/削除) できるようにする方法がわかりません。
CQ.Ext.WindowMgr.getActive() を試して、ウィンドウ/ダイアログが表示されるかどうかを確認しましたが、期待どおりの結果が得られません。
何か案は?ありがとう!
adobe - ページ上にコンポーネントのインスタンスを 1 つだけ要求する
Day CQ5でサイトを開発しています。テンプレート、コンポーネント、およびページを開発していて、問題に直面しました。サイトのページでは、コンポーネントのインスタンスを 1 つにすることができ、他のインスタンスの追加を防ぐ必要があります。これどうやってするの?多分誰かがこの問題に直面したことがありますか?
element - CQ5のマルチフィールドの要素数を制限するにはどうすればよいですか?
Day CQ5でサイトを開発しましたが、問題が発生しました。コンポーネントとそのダイアログを作成しています。ダイアログで、いくつかの要素「パスフィールド」を含むコンポーネント要素「マルチフィールド」を使用します。特定の数の要素「pathfield」を設定し、ボタン「+」と「-」を削除するにはどうすればよいですか?