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