定義マネージャー

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

定義マネージャーは、マーケティング活動の取得、作成、検索、有効化、削除に使用されます。

Sitecoreコンテキストで定義マネージャーを取得する

以下の例は、Sitecore文脈でIGoalDefinitionManagerを取得する方法を示しています。

using Sitecore.DependencyInjection; using Sitecore.Marketing.Definitions; using Sitecore.Marketing.Definitions.Goals;

namespace Documentation { public class DefineAGoal { public void Example() { IDefinitionManager goalDefinitionManager = ServiceLocator.ServiceProvider.GetDefinitionManagerFactory().GetDefinitionManager<Sitecore.Marketing.Definitions.Goals.IGoalDefinition>(); } } }

非Sitecoreコンテキストでの構成定義マネージャー

以下の例は、リファレンスデータサービスをリポジトリとして用いて、非Sitecore文脈でAutomationPlanDefinitionManagerを構築する方法を示しています。

!注アプリケーションのConnectionStrings.configファイルにxdb.referencedata.clientの接続文字列を追加し、参照データサービスのエンドポイントを指す必要があります。例えば、https://refdata/。

using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Sitecore.Marketing.Definitions; using Sitecore.Marketing.Definitions.AutomationPlans; using Sitecore.Marketing.Definitions.AutomationPlans.Model; using Sitecore.Marketing.Definitions.Config; using Sitecore.Marketing.ObservableFeed.Activation; using Sitecore.Marketing.ObservableFeed.DeleteDefinition; using Sitecore.Marketing.Operations.Xdb.ReferenceData.Model.Definitions.AutomationPlans; using Sitecore.Marketing.Operations.Xdb.ReferenceData.Service.Definitions.AutomationPlans; using Sitecore.Marketing.Search; using Sitecore.Marketing.Taxonomy; using Sitecore.Xdb.ReferenceData.Client; using Sitecore.Xdb.ReferenceData.Core.Converter; using Sitecore.Xdb.ReferenceData.Core.Results; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Sitecore.Marketing.Core.ObservableFeed; using Sitecore.Xdb.Common.Web;

namespace Documentation { public class DefinitionManagerExternal { public static AutomationPlanDefinitionManager CreatePlanDefinitionManager() { var loggerFactory = new LoggerFactory();

// Replace value of FindValue= with certificate thumbprint for your reference data service CertificateWebRequestHandlerModifierOptions options = CertificateWebRequestHandlerModifierOptions.Parse("StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue=15E6693B0AECB63DE57D991EC363CA462DC52432");

// Optional timeout modifier IWebRequestHandlerModifier handlers = { new CertificateWebRequestHandlerModifier(options) };

var refDataClient = new ReferenceDataHttpClient( new DefinitionEnvelopeJsonConverter(), handlers, new Logger(loggerFactory) );

var repo = new PlanDefinitionReferenceDataRepository( refDataClient, new PlanDataConverter(), new GuidMonikerConverter(), new DefinitionOperationResultDiagnostics() );

var services = new ServiceCollection();

services.AddSingleton<ITaxonomyManagerProvider, TaxonomyManagerProvider>(); services.AddSingleton<ITaxonomyClassificationResolver, DefaultClassificationResolver>(); services.AddSingleton<FieldTaxonomyMap>();

IServiceProvider serviceProvider = services.BuildServiceProvider();

var classificationResolver = serviceProvider.GetRequiredService<ITaxonomyClassificationResolver>();

return new AutomationPlanDefinitionManager( repo, classificationResolver, new NotSupportedSearchProvider(), new ActivationRetryingObservableFeed(new Logger<ActivationRetryingObservableFeed>(loggerFactory)), new DummyDeleteDefinitionObservableFeed(), new DefaultDefinitionManagerSettings() ); }

class DummyDeleteDefinitionObservableFeed : IDeleteDefinitionObservableFeed { public void NotifyObservers(DeleteDefinitionArgs value) { }

IList<Sitecore.Marketing.Core.ObservableFeed.IObserver<DeleteDefinitionArgs>> IObservableFeed<DeleteDefinitionArgs>.Observers { get; } }

} }

この記事を改善するための提案がある場合は、 お知らせください!