...
Code Block |
---|
|
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 dsfWhen indexing Digizuite content, you must disable indexing attachments. Otherwise you can end up with an error like this ServiceException: The remote server returned an error: (413) Payload Too Large. Request entity too large
.
Code Block |
---|
|
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.InitializationEpiserverSite.Business
{
[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();
}
}
} |