diff --git a/uSync.BackOffice/SyncHandlers/Handlers/ContentHandler.cs b/uSync.BackOffice/SyncHandlers/Handlers/ContentHandler.cs index 397d9896..b14cffa6 100644 --- a/uSync.BackOffice/SyncHandlers/Handlers/ContentHandler.cs +++ b/uSync.BackOffice/SyncHandlers/Handlers/ContentHandler.cs @@ -81,6 +81,35 @@ protected override Task HasChildrenAsync(IContent item) protected override IEnumerable GetRootItems() => _contentService.GetRootContent(); + /// + protected override async Task> GetChildItemsAsync(IEntity? parent) + { + if (parent != null) + { + var items = new List(); + const int pageSize = 5000; + var page = 0; + var total = long.MaxValue; + while (page * pageSize < total) + { + items.AddRange(_contentService.GetPagedChildren( + id: parent.Id, + pageIndex: page++, + pageSize: pageSize, + totalRecords: out total, + propertyAliases: null, + filter: null, + ordering: null, + loadTemplates: true)); + } + return items; + } + else + { + return await Task.FromResult(GetRootItems()); + } + } + /// /// Handle the publish events for content /// diff --git a/uSync.BackOffice/uSyncBackOfficeComposer.cs b/uSync.BackOffice/uSyncBackOfficeComposer.cs index abdca6e9..a80f34d1 100644 --- a/uSync.BackOffice/uSyncBackOfficeComposer.cs +++ b/uSync.BackOffice/uSyncBackOfficeComposer.cs @@ -18,10 +18,9 @@ public class uSyncBackOfficeComposer : IComposer /// public void Compose(IUmbracoBuilder builder) { - // uSync core will actually run when their is no back office loaded. - //if (builder.IsUmbracoBackOfficeEnabled() is false) - // return; - - builder.AdduSync(); + if (builder.IsUmbracoBackOfficeEnabled() is true) + { + builder.AdduSync(); + } } }