問題タブ [sling]
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.
aem - スリングを介してユーザーの名前を変更する
SlingとRESTを使用してCQ5のユーザーのライフサイクルを管理する必要がある外部ID管理システムがあります。
を使用してユーザーとグループを作成および削除できます
作成
/li>消去
/li>
私たちの問題は、ユーザー(またはグループ)の名前を変更する方法がわからなかったことです。
ユーザーの名前を変更するにはどうすればよいですか?
私たちが見つけた唯一の解決策は
- ユーザーのすべてのグループメンバーシップを一覧表示します
- ユーザーを削除します
- 新しいユーザーを作成する
- すべてのグループメンバーシップを再作成します
このソリューションは機能する可能性がありますが、パフォーマンスの問題が発生する可能性があります(70Kを超えるユーザーと15Kを超えるグループがあります)。これが唯一の解決策である場合:RESTを介して最初のステップ(すべてのメンバーシップを一覧表示)を効率的に実行するにはどうすればよいですか?
junit - CQ5 統合テストで JUnitServlet を使用してすべてのテスト クラスを実行する
CQ5 統合テストの JUnitServlet について質問があります。私は2つのことを理解していません。同様の問題を抱えている人の助けが必要です. これまでのところ、いくつかのテストメソッドを持つテストクラスが 1 つだけのパッケージがあります。すべて正常に動作しますが、次の 2 つの問題があります。
テスト クラスの名前を変更すると、JunitServlet がそれを見つけられなくなるのはなぜですか。もう一度ビルドしてパッケージとすべてをエクスポートしていますが、見つかりません。テストクラスに最初に付けた名前とは異なる名前を受け入れたくありません。最初に非常に具体的な名前を付けてから、いくつかのテストメソッドを追加し、「TestScenarioOne.java」などのより一般的な名前に変更したいので、変更したい...
2 つ目の問題は、このテスト クラスを終了した後、別のシナリオを引き続きテストするために新しいクラスを作成したことです。JUnitServlet は最初のものだけを見つけますが、新しいものも見つけません...それらは同じパッケージにありますが。何が問題なのかわからない...
どうもありがとう、私はあなたの答えを待っています...
jackrabbit - sling のユーザーとグループの変更をリッスンする
sling の userManager でユーザーまたはグループが変更されたときに通知を受け取りたいです。たとえば、新しいグループが作成された場合、/content の下に同じ名前の新しいノードを作成する必要があります。新しいユーザーが作成されたら、/content/foo への書き込み権限を付与したいと考えています。オブジェクトが削除されたときの同様のティアダウン手順。
event.topics を "*" (すべてのトピック) に設定して、EventHandler (org.osgi.service.event.EventHandler) を登録しようとしましたが、これはリソースの変更のみをキャプチャし、ユーザーとグループは合成リソースであるため、userManager の変更はキャプチャしませんでした (I考える)
org.apache.sling.api.request.SlingRequestListener を使用してみましたが、SlingRequestEvent には、リクエストを区別するのに役立つ情報が含まれていませんでした (または方法がわかりませんでした)。また、リクエストが処理された後に呼び出す必要があるコールバックにこれを使用できるかどうかもわかりません。
別の問題にフィルターを使用しましたが、この目的にもフィルターを適用してみました。ただし、それらには制限があります。私のフィルターはリクエストの前に呼び出されるため、アクションを実行することを決定する前に、リクエストが成功するかどうかを知ることはできません。
sling のユーザーおよびグループ モデルの変更をリッスンして対応する方法について何か提案はありますか?
osgi - Apache Sling の 46 行のブログ チュートリアルを実行するには?
この Apache Sling のチュートリアルを実行しようとしていますが、最初から行き詰っています。ブラウザでブログ フォームを表示できません。代わりに、次のメッセージが表示されます。
これは、実行していないことが原因である可能性があることをREADME で確認しましたorg.apache.sling.samples.path-based.rtp
。ただし、バンドルが Felix コンソールでアクティブであることを確認しました。(コンソールの OSGi リポジトリ タブからインストールしようとした後、jar をダウンロードして sling/startup/15 の下にドロップしましたが、何も変わりませんでした)
実行する必要がある追加の構成手順があるかどうか疑問に思っていますか?
私は OSGi と Sling を初めて使用するので、これはおそらく初心者の間違いであることに注意してください。
org.apache.sling.samples.pathbasedrtp.DefaultResourceTypeProvider
編集: コンポーネント タブの Felix コンソールで、ステータスが「不満足」であることに気付きました。それは関連しているのでしょうか?
java - Sling スケジューラの定期的なジョブ -- ジョブは重複しますか?
Sling のスケジューラを使用して定期的なジョブをスケジュールしていますが、ジョブ A を 5 分ごとに実行するようにスケジュールしているかどうか疑問に思っています。まれに、ジョブの実行が開始され、5 分以上かかることがあります。何が起こるでしょうか? ジョブを並行して実行できないことを指定しました。
- ジョブ A は、前回の実行が終了した直後に再度実行されます。
- ジョブ A は、前の実行が終了してから 5 分後に実行されます。
内部では、Sling のスケジューラは QuartzScheduler を使用しているため、この場合に QuartzScheduler がどのように動作するかを知っている場合は、知識も共有してください。
どんな助けでも大歓迎です!
adobe - Adobe CQ で実行モードを決定する
インスタンスが実行されている実行モードをプログラムで知るにはどうすればよいですか? インスタンスの実行モードに応じて構成を提供するカスタム タグを作成しましたが、現在の実行モードを特定できません。
run-mods インスタンスのリストを返すメソッドを見つけました:
しかし、オブジェクト SlingSettings または BundleContext を取得できません。これらのオブジェクトを取得するにはどうすればよいですか、または現在の実行モードを取得する別の方法があるのでしょうか?
apache - BLOBのアップロード/ダウンロードJackrabbit
BLOBファイルのアップロード/ダウンロードメカニズムを提供する方法を探しています。これらのファイルは、jackrabbitデータソースリポジトリに保存する必要があります。このタスク用のapacheSlingフレームワークはすでに発見しましたが、独自のjackrabbit実装があり、jackrabbitデータソースリポジトリでは使用できないため、これはレアファイル(BLOB)には適用できないようです。これを解決する方法について何かアイデアはありますか?
jackrabbit - DocViewProperty XML シリアル化
DocViewProperty#format を使用して、Java 文字列を JCR docview XML 形式にシリアル化できます。ただし、そのメソッドの出力は、16 進数でエスケープされた制御文字を使用するのではなく、キャリッジ リターン/ライン フィードを尊重しているように見えます。これは、DocViewProperty#format を使用した後でも、CQ5 パッケージの .content.xml ファイルに表示されるものと同じ文字列が得られるとは限らないことを意味します (空白がエスケープされている場合)。シリアル化メカニズムの何がその作業を実行し、自分で近似値をロールアップするのではなく、どのように使用できますか?
jackrabbit - GUID でノードにアクセスできますか?
SLING クエリを介して GUID でノード全体にアクセスすることは可能ですか?
GUID による検索が可能であることはわかっていますが、検索を行った後、ノードを取得するために別のクエリを実行する必要があります。
クエリが 1 つだけのノードを取得したいと考えています。
filter - フィルターをコンポーネントとして作成する方法と、アノテーションには何を付ける必要がありますか?
なので、CQ5に取り組んでいます。バンドルされたコンポーネントをサービスとしてデプロイして、(sling からの) .inifinity.json 出力を CQ5 にフィルター処理および変更したいと考えています。
ビルドとデプロイができ、コンポーネントとバンドルの両方がアクティブになっています。ただし、ページまたは infinity.json を呼び出すと、ログに出力が表示されません。サービスが正しくインストールされていないのではないでしょうか? または他のサービスが私のサービスを実行する前に呼び出しを返しますか? わからない。ここに私のコードがあります:
注釈に欠けているものはありますか? または私がすべきだったことは何ですか?