AEM Communitiesでは、公開環境(設定されている権限に応じて異なります)から、サイト訪問者がメンバーになり、ユーザーグループを作成し、メンバープロファイルを編集できます。
ユーザー データとは、 ユーザー、 ユーザー プロファイル、 ユーザーグループを指す用語です。
メンバーという用語は、オーサー環境で登録されたユーザーではなく、パブリッシュ環境で登録されたユーザーを指します。
ユーザーデータについて詳しくは、ユーザーとユーザーグループの管理を参照してください。
仕様上、パブリッシュ環境で作成されたデータは、オーサー環境では表示されません。
オーサー環境で作成されたほとんどのユーザーデータは、オーサー環境に残されたままとなり、パブリッシュインスタンスには同期もレプリケートもされません。
トポロジがパブリッシュファームである場合、1つのパブリッシュインスタンスに対する登録と変更を、他のパブリッシュインスタンスと同期する必要があります。 メンバーは、ログインして任意の発行ノードでデータを確認できる必要があります。
ユーザーの同期を有効にすると、ファーム内のパブリッシュインスタンス間でユーザーデータが自動的に同期されます。
発行ファーム全体で同期を有効にする方法に関する詳細な詳細な手順については、次を参照してください。
vltパッケージ
これは発行者に対して行われたすべての変更のzipファイルで、発行者に配布する必要があります。 パブリッシャの変更は、変更イベントリスナーによって選択されたイベントを生成します。 これにより、すべての変更を含むvltパッケージが作成されます。
配布パッケージ
Slingの配布情報が含まれます。 これは、コンテンツの配布が必要な場所、および最後に配布された日時に関する情報です。
オーサー環境で、コミュニティサイトをコミュニティサイトコンソールから公開すると、関連するページがレプリケートされます。また、Sling によって、動的に作成されたコミュニティユーザーグループ(メンバーシップを含む)が配信されます。
仕様上、パブリッシュ環境で(自己登録、ソーシャルログイン、LDAP 認証などで)作成されたユーザーやプロファイルはオーサー環境では表示されません。
トポロジが発行ファームで、ユーザー同期が正しく構成されている場合、userとuserプロファイルは、Sling配布を使用して、発行ファーム全体で同期されます。
発行インスタンスから開始されても、コミュニティグループの作成(新しいサイトページと新しいユーザーグループに結びつく)は、実際には作成者インスタンスで発生します。
このプロセスの一環として、新しいサイトページがすべてのパブリッシュインスタンスにレプリケートされます。動的に作成されるコミュニティユーザーグループとそのメンバーシップは、すべての発行インスタンスに配布されるSlingです。
仕様上、パブリッシュ環境で作成されたユーザーデータは、オーサー環境では表示されません。その反対も同様です。
ユーザー管理およびセキュリティコンソールを使用してパブリッシュ環境で新しいユーザーを追加すると、ユーザーの同期機能により、新しいユーザーとそのグループメンバーシップがその他のパブリッシュインスタンスに同期されます(必要な場合)。ユーザー同期は、セキュリティコンソールを使用して作成されたユーザーグループも同期します。
ユーザー生成コンテンツ(UGC)に関しては、パブリッシュインスタンスで入力されたデータへのアクセスは、設定済みの SRP を通じておこなわれます。
デフォルトでは、ユーザー同期は無効になっています。ユーザー同期を有効にするには、OSGi の既存の**設定を変更する必要があります。ユーザー同期を有効にした結果、新しい設定が追加されることはありません。
ユーザー同期では、オーサー環境で作成されていないユーザーデータでもその配布の管理はオーサー環境に依存します。
前提条件
ユーザーとユーザーグループが既に1つのパブリッシャー上に作成されている場合は、ユーザーの同期を設定および有効にする前に、ユーザーデータをすべてのパブリッシャーに手動で同期することをお勧めします。
ユーザー同期を有効にすると、新規に作成されたユーザーおよびグループのみが同期されるようになります。
最新のコードがインストールされていることを確認します。
AEM Communitiesでユーザー同期を有効にするには、次の設定が必要です。 Slingコンテンツの配信が失敗しないように、これらの設定が正しいことを確認します。
この設定は、発行者間で同期されるコンテンツを取得します。 設定は作成者インスタンスに対して行われます。 作成者は、そこに存在するすべての発行者と、すべての情報をどこで同期するかを追跡する必要があります。
設定のデフォルト値は、単一の発行インスタンスに対するものです。 ユーザー同期は、発行ファームなど複数の発行インスタンスを同期するのに役立つので、追加の発行インスタンスを設定に追加する必要があります。
コンテンツはどのように同期されますか。
発行者インスタンスが発行者のエクスポーターエンドポイントにpingを送信します。 特定の発行者(n)に対してユーザーが作成または更新されるたびに、作成者はエクスポーターのエンドポイントからコンテンツを取得し、プッシュしてコンテンツを他の発行者(n-1、つまりコンテンツの取得元とは別の発行者)に送信します。
Apache Sling Sync Agentsを設定するには:
AEMオーサーインスタンスでの管理者権限でサインインします。
Webコンソールにアクセスします。 例:https://localhost:4502/system/console/configMgr。
Apache Sling Distribution Agent - Sync Agents Factoryを探します。
編集用に開く既存の設定を選択します(鉛筆アイコン)。
検証名:socialpubsync.
「有効」チェックボックスを選択します。
「複数のキューを使用」を選択します。
エクスポーターエンドポイントとインポーターエンドポイントを指定します(エクスポーターエンドポイントとインポーターエンドポイントをさらに追加できます)。
これらのエンドポイントは、コンテンツの取得元と、コンテンツのプッシュ先を定義します。 作成者は、指定されたエクスポーターエンドポイントからコンテンツを取得し、コンテンツを(コンテンツの取得元の発行者以外の)発行者にプッシュします。
これにより、作成者は、許可されたユーザーを、作成者から発行するユーザーデータを同期する権限を持つユーザーとして識別できます。
許可されたユーザーがすべての発行インスタンスでを作成すると、発行者は作成者と接続し、発行者のSling配布を設定できます。 この権限を持つユーザーには、必要なすべてのACLがあります。
発行者にデータをインストールする場合、または発行者からデータを取得する場合は、この設定で設定された資格情報(ユーザー名とパスワード)を使用して作成者と接続します。
許可されたユーザーを使用して発行者と作成者を接続するには:
AEMオーサーインスタンスでの管理者権限でサインインします。
Webコンソールにアクセスします。
AdobeGranite配布 — 暗号化パスワードトランスポートシークレットプロバイダーを探します。
編集用に開く既存の設定を選択します(鉛筆アイコン)。
Verifyプロパティsocialpubsync - publishUser.
ユーザー名とパスワードを許可されたユーザーに設定します。
例:usersync - admin
この設定は、発行者間で同期するデータを設定する場合に使用します。 許可されているルートで指定されたパスでデータが作成/更新されると、「var/community/distribution/diff」がアクティブ化され、作成されたレプリケーターはパブリッシャーからデータを取得し、他のパブリッシャーにインストールします。
同期するデータ(ノードパス)を設定するには:
作成者インスタンスに対する管理者権限でログインします。
Webコンソールにアクセスします。
Apache Sling Distribution Agent - Queue Agents Factoryを探します。
編集用に開く既存の設定を選択します(鉛筆アイコン)。
検証名:socialpubsync -reverse
「有効」チェックボックスをオンにして保存します。
許可されているルートにレプリケートするノードパスを指定します。
publishの各インスタンスに対して同じ手順を繰り返します。
この設定は、パブリッシャー間でグループメンバーシップを同期します。
あるパブリッシャーでグループのメンバーシップを変更しても、他のパブリッシャーのメンバーシップが更新されない場合は、ref :membersがlooked properties namesに追加されていることを確認します。
メンバーの同期を確実に行うには:
AEMオーサーインスタンスでの管理者権限でサインインします。
Webコンソールにアクセスします。
AdobeGranite Distribution - Diff Observer Factoryを探します。
編集用に開く既存の設定を選択します(鉛筆アイコン)。
エージェント名を確認:socialpubsync -reverse。
「有効」チェックボックスを選択します。
looked properties namesのpropertyNameの説明としてrep:membersを指定し、「保存」をクリックします。
この設定では、(発行者がpingを送信し、変更を作成者が取得した後の)ポーリング間隔を設定して、発行者間で変更を同期できます。
作成者は、30秒(デフォルト)ごとに投稿者をポーリングします。 フォルダー/var/sling/distribution/packages/ socialpubsync - vlt /shared
にあるパッケージが存在する場合は、それらのパッケージが取得され、他のパブリッシャーにインストールされます。
ポーリング間隔を変更するには:
AEMオーサーインスタンスでの管理者権限でサインインします。
Webコンソールにアクセスします(例:https://localhost:4502/system/console/configMgr)
Apache Sling配布トリガー — 予定トリガーファクトリを探します。
編集用に開く既存の設定を選択します(鉛筆アイコン)。
socialpubsync -scheduled-トリガーを確認
間隔(秒)を目的の間隔に設定し、保存します。
Sling配布で、購読に不一致があり、それに続く問題については、AEM Communitiesユーザー同期リスナーの設定に次のプロパティが設定されているかどうかを確認してください。
購読、フォロー、通知を同期するには
各AEM発行インスタンスで、次の操作を行います。
管理者権限でサインインします。
Webコンソールにアクセスします。 例:https://localhost:4503/system/console/configMgr。
AEM Communitiesユーザー同期リスナーを探します。
編集用に開く既存の設定を選択します(鉛筆アイコン)
検証名:socialpubsync -scheduled-トリガー
次のNodeTypesを設定します。
rep:User
nt:unstructured
nt:resource
rep:ACL
sling:Folder
sling:OrderedFolder
このプロパティで指定されたノードタイプが同期され、通知情報(ブログと使用された設定)が異なる発行者間で同期されます。
<a0/追加>DistributedFolders 内の同期するすべてのフォルダー。例:
segments/scoring
social/relationships
activities
ignorablenodesを次のように設定します。
.tokens
system
rep:cache
(スティッキーセッションを使用するので、このノードを別の発行者に同期する必要はありません)。
AEM作成者インスタンスは、Sling IDを使用して、データの送信元およびパッケージの返送先(または送り返す必要のない発行者)を識別します。
発行ファーム内のすべての発行者が一意のSling IDを持っていることを確認します。 Sling IDが、発行ファーム内の複数の発行インスタンスに対して同じである場合、ユーザーの同期は失敗します。 作成者はパッケージの取り込み元とインストール先を知りません。
発行ファームで発行者のSling IDを一意にするには、各発行インスタンスで次の手順を実行します。
https://host:port/system/console/status-slingsettingsを参照します。
Sling IDの値を確認します。
あるパブリッシュインスタンスの Sling ID が他のパブリッシュインスタンスの Sling ID と一致する場合は、次のようにします。
一致するSling IDを持つ発行インスタンスの1つを停止します。
crx-quickstart/launchpad/felix
ディレクトリで、sling.id.file.という名前のファイルを探して削除します。
例えば、Linuxシステムの場合は、次のようになります。
rm -i $(find . -type f -name sling.id.file)
例えば、Windowsシステムの場合は次のようになります。
Windowsエクスプローラを使用してsling.id.file
を検索
発行インスタンスを起動します。起動時に、新しいSling IDが割り当てられます。
Sling IDが一意になったことを検証します。
すべてのパブリッシュインスタンスの Sling ID が一意になるまでこの手順を繰り返します。
アップデートを正しく同期するには、ユーザ同期用にVaultパッケージビルダを変更する必要があります。
/home/users
に*/rep:cache
ノードが作成されます。 これは、ノードのプリンシパル名にクエリした場合に、そのキャッシュを直接使用できることを確認するために使用されるキャッシュです。
rep :cache
ノードがパブリッシャー間で同期されている場合、ユーザーの同期は停止する可能性があります。
各AEM発行インスタンスで、アップデートが発行者間で適切に同期されるようにするには、次の手順を実行します。
Webコンソールにアクセス
Apache Sling Distribution Packaging - Vault Package Builder Factoryを探します。
ビルダー名:socialpubsync-vlt.
編集アイコンを選択します。
2つ追加のパッケージノードフィルター:
/home/users|-.*/.tokens
/home/users|-.*/rep:cache
ポリシー処理
/home/users|+.*/rep:policy
Acl Handling: IGNORE
Slingの配布に失敗した場合は、次のデバッグ手順を試してください。
複数の設定を追加または編集しないでください。既存のデフォルト設定は、編集する必要があります。
設定の確認
ベストプラクティスで説明されているように、AEM Authorインスタンスにすべての設定が適切に設定されていることを確認します。
許可されたユーザー権限の確認
パッケージが正しくインストールされていない場合は、最初の発行インスタンスで作成された許可されたユーザーに正しいACLが含まれていることを確認します。
これを検証するには、作成した認証済みユーザーの代わりに、作成者インスタンスのAdobeGranite配布 — 暗号化パスワードトランスポートシークレットプロバイダーの設定を変更し、管理者ユーザー資格情報を使用します。 次に、パッケージのインストールを再試行します。 ユーザー同期が管理者の資格情報で正常に機能する場合は、作成した発行ユーザーに適切なACLがないことを意味します。
相違オブザーバーファクトリ構成の確認
特定のノードのみがパブリッシュファーム全体で同期されない場合(例:グループメンバーは同期されない)、AdobeGranite Distribution - Diff Observer Factory構成が有効でrep:メンバーはlookedプロパティ名に設定されます。
AEM Communitiesユーザー同期リスナーの設定を確認します。 作成したユーザーが同期されているが、購読と次のユーザーが機能していない場合は、AEM Communitiesユーザー同期リスナーの構成に次の値が含まれていることを確認します。
発行インスタンスでのユーザー作成時に生成されたログの確認
上記の設定が適切に設定されているにもかかわらずユーザー同期が機能していない場合は、ユーザーの作成時に生成されたログを確認します。
次のように、ログの順序が同じかどうかを確認します。
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
デバッグするには:
ユーザー同期を無効にします。
AEMオーサーインスタンスで、管理者権限でサインインします。
Webコンソールにアクセスします。 例:https://localhost:4502/system/console/configMgr。
設定Apache Sling Distribution Agent - Sync Agents Factoryを探します。
「有効」チェックボックスの選択を解除します。
作成者インスタンスでユーザー同期を無効にすると、(エクスポーターとインポーター)エンドポイントが無効になり、作成者インスタンスは静的になります。 vltパッケージは作成者によってpingまたは取得されません。
現在は、ユーザーが発行インスタンスで作成された場合、vltパッケージが/var/sling/distribution/packages/ sociallpubsync - vlt /dataノードに作成されます。 また、これらのパッケージが作成者によって別のサービスにプッシュされた場合も、 このデータをダウンロードして抽出し、すべてのプロパティが他のサービスにプッシュされたものかどうかを確認できます。
投稿者に移動し、投稿でユーザーを作成します。 その結果、イベントが作成されます。
ユーザーの作成時に作成されたログ](/docs/experience-manager-65/communities/sync.html?lang=ja#troubleshoot-sling-distribution-in-aem-communities)の[順序を確認します。
vltパッケージが/var/sling/distribution/packages/socialpubsync-vlt/dataに作成されているかどうかを確認します。
次に、AEMオーサーインスタンスでユーザー同期を有効にします。
パブリッシャーで、Apache Sling Distribution Agent - Sync Agents Factoryのエクスポーターまたはインポーターエンドポイントを変更します。
パッケージデータをダウンロードして抽出し、すべてのプロパティが他の発行者にプッシュされ、どのデータが失われるかを確認できます。