Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

DAM for Optimizely works well with Episerver Find. Out of the box, no assets from Digizuite will be indexed. Adding Digizuite assets to the index, can be done by adding a ReindexInformation provider as shown below. In the example below we use the IDigizuiteClientclass to access assets from Digizuite. The method Client.GetAllAssetIds, is used for getting all assets from digizuite that has been added to the Episerver channel in Digizuite backend.

ReindexInformation Provider
using System.Collections.Generic;
using EPiServer.Find.Cms;
using EPiServer.ServiceLocation;
using EPiServer.Web;
using System.Globalization;
using System.Linq;
using Digizuite.Episerver;
using Digizuite.Episerver.Helpers.Internal;
using EPiServer.Core;

namespace EpiserverSite.Business
{
    [ServiceConfiguration(typeof(IReindexInformation), Lifecycle = ServiceInstanceScope.Singleton)]
    public class DigizuiteReindexInformation : IReindexInformation
    {        
        public IDigizuiteClient Client { get; set; }
        public DigizuiteReindexInformation(IDigizuiteClient client)
        {
            this.Client = client;
        }

        public IEnumerable<ReindexTarget> ReindexTargets
        {
            get
            {
                var assets = Client.GetAllAssetIds();
                if (assets != null)
                {
                    var searchResult = assets.Select(asset => ConversionHelper.GetReferenceFromAssetId(asset.AssetId)).ToList();
                    var languages = Client.Languages.Select(lang => new CultureInfo(lang.LanguageShort)).ToList();

                    return new List<ReindexTarget>()
                    {
                        new ReindexTarget
                        {
                            ContentLinks = searchResult,
                            Languages = languages,
                            SiteDefinition = SiteDefinition.Empty
                        }
                    };
                }

                return null;
            }
        }

        public ContentReference Root
        {
            get
            {                
                return DigizuiteContentProvider.GetEntryPoint();
            }
        }
    }
}
ContentIndexer

dsfsdfsdfsdfsdf sdfdsfsdf sdf dsf

using Digizuite.Episerver.Models.Media;
using EPiServer.Find.Cms;
using EPiServer.Find.Cms.Conventions;
using EPiServer.Find.Cms.Module;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;
using System;

namespace Test_Digizuite.Episerver_2._3.Business.Initialization
{
    [InitializableModule]
    [ModuleDependency(typeof(IndexingModule))]
    public class FileIndexingConventions : IInitializableModule
    {
        public void Initialize(InitializationEngine context)
        {
            ContentIndexer.Instance.Conventions.ForInstancesOf<IDigizuiteContent>().IndexAttachment(x => false);
        }
        public void Uninitialize(InitializationEngine context)
        {
            throw new NotImplementedException();
        }
    }
}
  • No labels