コミュニティのユーザーの同期

はじめに

AEM Communitiesのパブリッシュ環境から(設定されている権限に応じて)、 サイト訪問者 ~になるかもしれない メンバー、作成 ユーザーグループ​を編集し、 メンバープロファイル.

ユーザーデータ は、 ユーザー, ユーザープロファイル および ユーザーグループ.

メンバーという用語は、オーサー環境で登録されたユーザーではなく、パブリッシュ環境で登録されたユーザーを指します。

ユーザーデータについて詳しくは、ユーザーとユーザーグループの管理を参照してください。

パブリッシュファーム間のユーザーの同期

仕様上、パブリッシュ環境で作成されたデータは、オーサー環境では表示されません。

オーサー環境で作成されたほとんどのユーザーデータは、オーサー環境に残されたままとなり、パブリッシュインスタンスには同期もレプリケートもされません。

次の場合に トポロジパブリッシュファーム、1 つのパブリッシュインスタンスでおこなわれた登録と変更を、他のパブリッシュインスタンスと同期する必要があります。 メンバーは、任意のパブリッシュノードにログインしてデータを確認できる必要があります。

ユーザーの同期を有効にすると、ファーム内のパブリッシュインスタンス間でユーザーデータが自動的に同期されます。

ユーザーの同期のセットアップ手順

詳細なステップバイステップの手順については、以下を参照してください。

バックグラウンドでのユーザー同期

sling-dist-workflow

  • VLT パッケージ:は、パブリッシャーに対しておこなわれたすべての変更の zip ファイルです。パブリッシャーは、パブリッシャー間で配布する必要があります。 パブリッシャー上で変更を行うと、変更イベントリスナーによって選択されたイベントが生成されます。 これにより、すべての変更を含む vlt パッケージが作成されます。

  • 配布パッケージ:には、Sling の配布情報が含まれています。 コンテンツの配信先と最後に配信された日時に関する情報です。

各種操作の結果

コミュニティのサイトコンソールでのサイトの公開

オーサー環境で、コミュニティサイトをコミュニティサイトコンソールから公開すると、関連するページがレプリケートされます。また、Sling によって、動的に作成されたコミュニティユーザーグループ(メンバーシップを含む)が配信されます。

パブリッシュ環境でのユーザーの作成またはプロファイルの編集

仕様上、パブリッシュ環境で(自己登録、ソーシャルログイン、LDAP 認証などで)作成されたユーザーやプロファイルはオーサー環境では表示されません。

トポロジが パブリッシュファーム ユーザー同期が正しく設定されている場合、 ユーザー および ユーザープロファイル は、Sling 配布を使用してパブリッシュファーム全体で同期されます。

パブリッシュ環境での新しいコミュニティグループの作成

パブリッシュインスタンスから開始したコミュニティグループの作成では、新しいサイトページと新しいユーザーグループが作成されますが、実際にはオーサーインスタンス上で作成されます。

このプロセスの一環として、新しいサイトページがすべてのパブリッシュインスタンスにレプリケートされます。動的に作成されるコミュニティユーザーグループとそのメンバーシップは、 Sling をすべてのパブリッシュインスタンスに配布します。

セキュリティコンソールでのユーザーまたはユーザーグループの作成

仕様上、パブリッシュ環境で作成されたユーザーデータは、オーサー環境では表示されません。その反対も同様です。

ユーザー管理およびセキュリティコンソールを使用してパブリッシュ環境で新しいユーザーを追加すると、ユーザーの同期機能により、新しいユーザーとそのグループメンバーシップがその他のパブリッシュインスタンスに同期されます(必要な場合)。 ユーザー同期により、セキュリティコンソールによって作成されたユーザーグループも同期されます。

ユーザーによるパブリッシュ環境でのコンテンツの投稿

ユーザー生成コンテンツ(UGC)に関しては、パブリッシュインスタンスで入力されたデータへのアクセスは、設定済みの SRP を通じておこなわれます。

ベストプラクティス

デフォルトでは、ユーザー同期は​無効​になっています。ユーザー同期を有効にするには、OSGi の既存の設定を変更する必要があります​​ユーザー同期を有効にした結果、新しい設定が追加されることはありません。

ユーザー同期では、オーサー環境で作成されていないユーザーデータでもその配布の管理はオーサー環境に依存します。

前提条件

  1. )1 つのパブリッシャーでユーザーおよびユーザーグループが既に作成されている場合は、ユーザー同期を設定して有効にする前に、ユーザーデータをすべてのパブリッシャーと手動で同期することをお勧めします。

    ユーザー同期を有効にすると、新規に作成されたユーザーおよびグループのみが同期されるようになります。

  2. 最新のコードがインストールされていることを確認します。

AEM Communitiesでユーザーの同期を有効にするには、次の設定が必要です。 Sling コンテンツの配布が失敗するのを防ぐために、これらの設定が正しいことを確認します。

Apache Sling Distribution Agent - Sync Agents Factory

この設定は、パブリッシャー全体で同期されるコンテンツを取得します。 設定はオーサーインスタンス上にあります。 作成者は、そこに存在するすべての公開者と、すべての情報を同期する場所を追跡する必要があります。

この設定のデフォルト値は、1 つのパブリッシュインスタンス用です。 ユーザー同期は、パブリッシュファームなど、複数のパブリッシュインスタンスを同期する場合に便利なので、追加のパブリッシュインスタンスを設定に追加する必要があります。

コンテンツはどのように同期されますか?

オーサーインスタンスが、パブリッシャーのエクスポーターエンドポイントに ping を発行します。 特定の発行者 (n) でユーザーが作成または更新されるたびに、作成者は、書き出しエンドポイントおよび コンテンツをプッシュ を他のパブリッシャー(n-1、つまりコンテンツの取得元とは別のパブリッシャー)に送信する場合。

Apache Sling 同期エージェントを設定するには

AEMオーサーインスタンス上:

  1. 管理者権限でサインインします。

  2. 次にアクセス: Web コンソール.

    例: http://localhost:4502/system/console/configMgr.

  3. 場所 Apache Sling Distribution Agent - Sync Agents Factory.

    • 編集用に開く既存の設定を選択します(鉛筆アイコン)。

    • 名前を確認: socialpubsync.

    • Enabled」チェックボックスをオンにします。

    • 選択 複数のキューを使用.

    • 指定 エクスポーターエンドポイント および インポーターエンドポイント (エクスポーターおよびインポーターエンドポイントをさらに追加できます)。

      これらのエンドポイントは、コンテンツの取得元と、コンテンツのプッシュ先を定義します。 作成者は、指定されたエクスポーターエンドポイントからコンテンツを取得し、そのコンテンツを(コンテンツの取得元の発行者以外の)発行者にプッシュします。
      sync-agent-fact

Adobe Granite Distribution - Encrypted Password Transport Secret Provider

作成者は、作成者から発行へのユーザーデータの同期権限を持つ、認証済みユーザーを識別できます。

この 認証済みユーザーが作成されました すべてのパブリッシュインスタンスでは、パブリッシャーはオーサーとの接続とオーサーでの Sling 配布の設定をおこなうことができます。 この承認済みユーザーは、すべての要件を満たしています ACL.

パブリッシャーにデータをインストールする場合、またはパブリッシャーからデータを取得する場合は常に、この設定で設定された資格情報(ユーザー名とパスワード)を使用してパブリッシャーに接続します。

認証済みユーザーを使用してオーサーとパブリッシャーを接続するには

AEMオーサーインスタンス上:

  1. 管理者権限でサインインします。

  2. 次にアクセス: Web コンソール.

    例: http://localhost:4502/system/console/configMgr.

  3. 場所 AdobeGranite 配布 — 暗号化パスワードトランスポート秘密鍵プロバイダー.

  4. 編集用に開く既存の設定を選択します(鉛筆アイコン)。

    プロパティを検証 name: socialpubsync- publishUser .

  5. ユーザー名とパスワードを 認証済みユーザー.

    例: usersync-admin

    granite-paswrd-trans

Apache Sling Distribution Agent - Queue Agents Factory

この設定は、パブリッシャー間で同期するデータを設定するために使用します。 データが 許可されたルート​を指定した場合、「var/community/distribution/diff」がアクティブ化され、作成されたレプリケーターがパブリッシャーからデータを取得して、他のパブリッシャーにインストールします。

同期するデータ(ノードパス)を設定するには

AEMパブリッシュインスタンス上:

  1. 管理者権限でサインインします。

  2. 次にアクセス: Web コンソール.

    例: http://localhost:4503/system/console/configMgr.

  3. 場所 Apache Sling Distribution Agent - Queue Agents Factory.

  4. 編集用に開く既存の設定を選択します(鉛筆アイコン)。

    名前を検証: socialpubsync -reverse.

  5. を選択します。 有効 チェックボックスをオンにして保存します。

  6. レプリケート先のノードパスを指定します。 許可されたルート.

  7. publish インスタンス。

    queue-agents-fact

Adobe Granite Distribution - Diff Observer Factory

この設定は、パブリッシャー間でグループメンバーシップを同期します。
あるパブリッシャーでグループのメンバーシップを変更しても、他のパブリッシャーのメンバーシップが更新されない場合は、 ref:membersプロパティ名を参照.

メンバーの同期を確実に行うには

各AEMパブリッシュインスタンスで、次の手順を実行します。

  1. 管理者権限でサインインします。

  2. 次にアクセス: Web コンソール.

    例: http://localhost:4503/system/console/configMgr.

  3. 場所 AdobeGranite 配布 — 差分監視者ファクトリー.

  4. 編集用に開く既存の設定を選択します(鉛筆アイコン)。

    検証 エージェント名: socialpubsync -reverse**.

  5. Enabled」チェックボックスをオンにします。

  6. 指定 rep:members as description のプロパティ名 プロパティ名を参照、および保存します。

    diff-obs

Apache Sling Distribution Trigger - Scheduled Triggers Factory

この設定を使用すると、(作成者が変更を取り込んで発行者によって送信される)ポーリング間隔を設定して、発行者間で変更を同期できます。

作成者は、30 秒ごと(デフォルト)に発行者をポーリングします。 フォルダーにパッケージが存在する場合 /var/sling/distribution/packages/ socialpubsync - vlt /shared​その後、これらのパッケージを取得し、他のパブリッシャーにインストールします。

ポーリング間隔を変更するには

AEMオーサーインスタンス上:

  1. 管理者権限でサインインします。

  2. 次にアクセス: Web コンソール例: http://localhost:4502/system/console/configMgr

  3. 場所 Apache Sling 配布トリガー — 予定トリガーファクトリ

    • 編集用に開く既存の設定を選択します(鉛筆アイコン)
    • 検証 Name: socialpubsync-scheduled-トリガー
    • 間隔(秒)を目的の間隔に設定し、保存します。

    scheduled-trigger

AEM Communities User Sync Listener

Sling 配布で、サブスクリプションとフォローに不一致がある問題については、 AEM Communities User Sync Listener 設定は次のように設定されます。

  • NodeTypes
  • IgnorableProperties
  • IgnorableNodes
  • DistributedFolders

購読、フォロー、および通知を同期するには

各AEMパブリッシュインスタンスで、次の手順を実行します。

  1. 管理者権限でサインインします。

  2. 次にアクセス: Web コンソール. 例: http://localhost:4503/system/console/configMgr.

  3. 場所 AEM Communities User Sync Listener.

  4. 編集用に開く既存の設定を選択します(鉛筆アイコン)。

    名前を検証: socialpubsync-scheduled-トリガー

  5. 以下を設定します。 NodeTypes :

    rep:User

    nt :unstructured

    nt :resource

    rep:ACL

    sling:Folder

    sling:OrderedFolder

    このプロパティで指定されたノードタイプが同期され、通知情報(ブログと設定が続く)が異なる発行者間で同期されます。

  6. 同期するすべてのフォルダを追加 DistributedFolders. 例:

    segments/scoring

    social/relationships

    activities

  7. ignorablenodes 移動先:

    .tokens

    system

    rep :cache (スティッキーセッションを使用するので、このノードを別のパブリッシャーに同期する必要はありません)。

    user-sync-listner

一意の Sling ID

AEMオーサーインスタンスは、Sling ID を使用して、データの送信先と、パッケージを送り返す(または送り返す)必要のあるパブリッシャーを特定します。

パブリッシュファーム内のすべてのパブリッシャーが一意の Sling ID を持っていることを確認します。 Sling ID がパブリッシュファーム内の複数のパブリッシュインスタンスに対して同じ場合、ユーザーの同期は失敗します。 作成者は、パッケージの取得元とインストール先を知りません。

パブリッシュファームで発行者の一意の Sling ID を確保するには

各パブリッシュインスタンスで以下をおこないます。

  1. 参照先 https://host:port/system/console/status-slingsettings.

  2. の値を確認します。 Sling ID.

    slingid

    あるパブリッシュインスタンスの Sling ID が他のパブリッシュインスタンスの Sling ID と一致する場合は、次のようにします。

  3. 一致する Sling ID を持つパブリッシュインスタンスの 1 つを停止します。

  4. crx-quickstart/launchpad/felix ディレクトリで、_sling.id.file という名前のファイルを検索して削除します。

    例えば、Linux システムの場合、次のようになります。

    rm -i $(find . -type f -name sling.id.file)

    例えば、Windows システムの場合、次のようになります。

    use windows explorer and search for _sling.id.file_

  5. 発行インスタンスを起動します。起動時に、新しい Sling ID が割り当てられます。

  6. を検証します。 Sling ID が一意になりました。

すべてのパブリッシュインスタンスの Sling ID が一意になるまでこの手順を繰り返します。

Vault Package Builder Factory

更新を正しく同期するには、ユーザ同期用に Vault パッケージビルダーを変更する必要があります。
In /home/users, a /rep:cache ノードが作成されます。 ノードのプリンシパル名に対してクエリを実行すると、このキャッシュが直接使用できることを確認するために使用されるキャッシュです。

次の場合にユーザーの同期が停止する可能性がある: rep:cache ノードはパブリッシャー間で同期されます。

パブリッシャー全体で更新が正しく同期されるようにするには

各AEMパブリッシュインスタンスで、次の手順を実行します。

  1. 次にアクセス: Web コンソール例: http://localhost:4503/system/console/configMgr.

  2. Apache Sling 配布パッケージ — Vault Package Builder Factory Builder name:socialpubsync-vlt

  3. 編集アイコンを選択します。

  4. 次の 2 つのパッケージフィルターを追加します。

    • /home/users|-.\*/.tokens
    • /home/users|**+**.\*/rep:cache
  5. ポリシーの処理

    • 既存のレプリケーションを上書きするには :policy 新しいノードを含むノードに、3 つ目のパッケージフィルターを追加します。

      /home/users|**+**.\*/rep:policy

    • ポリシーの配布を防ぐには、

      Acl 処理:無視

vault-package-builder-factory

AEM Communitiesでの Sling 配布のトラブルシューティング

Sling 配布が失敗した場合は、次のデバッグ手順を試してください。

  1. 確認 誤って追加された設定. 複数の設定を追加または編集しないようにします。代わりに、既存のデフォルト設定を編集する必要があります。

  2. 設定を確認. すべての 設定 が AEM オーサーインスタンスで適切に設定されているかどうか ( ベストプラクティス.

  3. 認証済みユーザー権限の確認. パッケージが正しくインストールされていない場合は、 認証済みユーザー 最初のパブリッシュインスタンスで作成されたが、正しい ACL を持っている。

    これを検証するには、 認証済みユーザーが作成されました 変更 AdobeGranite 配布 — 暗号化パスワードトランスポート秘密鍵プロバイダー オーサーインスタンスの設定で、管理者ユーザーの資格情報を使用します。 次に、パッケージを再度インストールしてみてください。 ユーザー同期が管理者の資格情報で正常に機能する場合は、作成された公開ユーザーに適切な ACL がなかったことを意味します。

  4. 差分監視者ファクトリ設定を確認. 特定のノードのみがパブリッシュファーム全体で同期されない(例えば、グループメンバーが同期されない)場合は、 AdobeGranite 配布 — 差分監視者ファクトリー 設定が有効になっており、 rep:membersプロパティ名を参照.

  5. AEM Communities User Sync Listener 設定を確認します。 作成したユーザーが同期されているものの、サブスクリプションとフォローが機能しない場合は、AEM Communities User Sync Listener の設定に次の事項が含まれていることを確認します。

    • ノードタイプ — に設定 rep:User, nt:unstructured, nt:resource, rep:ACL, sling:Folder、および sling:OrderedFolder
    • 無視可能なノード — に設定 .tokens, システム、および rep:cache
    • [ 配布フォルダ ]:配布するフォルダに設定します
  6. パブリッシュインスタンスでのユーザー作成時に生成されたログを確認する. 上記の設定が適切に設定されているにもかかわらず、ユーザー同期が機能していない場合は、ユーザーの作成時に生成されるログを確認します。

    次のように、ログの順序が同じかどうかを確認します。

    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7422] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C, /home/users/C/Cw-5avWqilmqsNn5hCvK]
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7422] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ2: ADD paths=[/home/users/C, /home/users/C/Cw-5avWqilmqsNn5hCvK], user=communities-user-admin
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7431] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C/Cw-5avWqilmqsNn5hCvK, /home/users/C/Cw-5avWqilmqsNn5hCvK/profile, /home/users/C/Cw-5avWqilmqsNn5hCvK/rep:policy]
    15.05.2016 18:33:01.523 *INFO* [sling-oak-observation-7431] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ3: ADD paths=[/home/users/C/Cw-5avWqilmqsNn5hCvK, /home/users/C/Cw-5avWqilmqsNn5hCvK/profile, /home/users/C/Cw-5avWqilmqsNn5hCvK/rep:policy], user=communities-user-admin
    15.05.2016 18:33:01.757 *INFO* [sling-oak-observation-7431] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337181554_ebb27ad9-a861-4405-9342-d64c916654e2:0.0.1
    15.05.2016 18:33:01.820 *INFO* [sling-oak-observation-7422] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337181554_58811273-5861-48fe-95d2-4aff367b99c3:0.0.1
    15.05.2016 18:33:02.023 *INFO* [sling-oak-observation-7430] com.adobe.cq.social.sync.impl.PublisherSyncServiceImpl Handing these paths to the distribution subsystem: [/home/users/C/Cw-5avWqilmqsNn5hCvK/profile]
    15.05.2016 18:33:02.023 *INFO* [sling-oak-observation-7430] org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync-reverse] REQUEST-START DSTRQ4: ADD paths=[/home/users/C/Cw-5avWqilmqsNn5hCvK/profile], user=communities-user-admin
    15.05.2016 18:33:02.273 *INFO* [sling-oak-observation-7430] org.apache.jackrabbit.vault.packaging.impl.JcrPackageDefinitionImpl unwrapping package sling/distribution:socialpubsync-vlt_1463337182039_f34f4fa6-10b9-42eb-8740-4da9d4d38f99:0.0.1
    

    デバッグするには:

    1. ユーザーの同期を無効にします。

    2. AEMオーサーインスタンスで、管理者権限でログインします。

      1. 次にアクセス: Web コンソール. 例: http://localhost:4502/system/console/configMgr.

      2. 設定の場所 Apache Sling Distribution Agent - Sync Agents Factory.

      3. 選択を解除する 有効 チェックボックス。

      オーサーインスタンスでのユーザー同期を無効にすると、(エクスポーターおよびインポーター)エンドポイントが無効になり、オーサーインスタンスが静的になります。 この vlt 作成者はパッケージに対して ping を送信したり取得したりしません。

      パブリッシュインスタンスでユーザーが作成された場合、 vlt パッケージは次の場所に作成されます。 /var/sling/distribution/packages/ socialpubsync - vlt /data ノード。 作成者がこれらのパッケージを別のサービスにプッシュした場合も同様です。 このデータをダウンロードして抽出し、他のサービスにプッシュされるすべてのプロパティを確認できます。

    3. 投稿者に移動し、投稿者でユーザーを作成します。 その結果、イベントが作成されます。

    4. 次を確認します。 ログの順序(ユーザーの作成時に作成)

    5. vlt パッケージの作成日: /var/sling/distribution/packages/socialpubsync-vlt/data.

    6. 次に、AEMオーサーインスタンスでユーザー同期を有効にします。

    7. パブリッシャーで、のエクスポーターまたはインポーターエンドポイントを変更します。 Apache Sling Distribution Agent - Sync Agents Factory.

      パッケージデータをダウンロードおよび抽出して、他のパブリッシャーにプッシュされるすべてのプロパティと、失われるデータを確認できます。

このページ