diff --git a/ExpandableText/Components/ExpandableTextHtmlController.cs b/ExpandableText/Components/ExpandableTextHtmlController.cs index 47187ef..2a53905 100644 --- a/ExpandableText/Components/ExpandableTextHtmlController.cs +++ b/ExpandableText/Components/ExpandableTextHtmlController.cs @@ -25,13 +25,14 @@ using DotNetNuke.Common; using DotNetNuke.Common.Utilities; using DotNetNuke.Entities.Modules; +using DotNetNuke.Services.Search.Entities; namespace ICG.Modules.ExpandableTextHtml.Components { /// /// This is the controller class providing functionality to the module /// - public class ExpandableTextHtmlController : IPortable + public class ExpandableTextHtmlController : ModuleSearchBase, IPortable { #region Public Methods @@ -123,6 +124,51 @@ public void DeleteExpandableTextHtml(int moduleId, int itemId) //#endregion + #region ModuleSearchBase Members + + /// + /// Gets the search documents for the module. + /// + /// The module information. + /// The begin date in UTC. + /// A collection of search documents. + public override IList GetModifiedSearchDocuments(ModuleInfo moduleInfo, DateTime beginDateUtc) + { + var searchDocuments = new List(); + + // Get all expandable text items for this module, ordered by last updated date + var items = GetExpandableTextHtmls(moduleInfo.ModuleID, "ORDER BY LastUpdated"); + + foreach (var item in items) + { + // Only include items that have been updated since the begin date + if (item.LastUpdated.ToUniversalTime() >= beginDateUtc) + { + var searchDoc = new SearchDocument + { + UniqueKey = $"ETH_{moduleInfo.ModuleID}_{item.ItemId}", + PortalId = moduleInfo.PortalID, + TabId = moduleInfo.TabID, + ModuleId = moduleInfo.ModuleID, + ModuleDefId = moduleInfo.ModuleDefID, + Title = item.Title, + Body = item.Body, + Description = item.Title, + ModifiedTimeUtc = item.LastUpdated.ToUniversalTime(), + AuthorUserId = -1, // Default author as system since we don't track the author in this module + IsActive = true, // Assuming all items are active + CultureCode = moduleInfo.CultureCode, + }; + + searchDocuments.Add(searchDoc); + } + } + + return searchDocuments; + } + + #endregion + #region IPortable Members ///// diff --git a/ExpandableText/ExpandableTextHtml.dnn b/ExpandableText/ExpandableTextHtml.dnn index 64d3ffa..9247c87 100644 --- a/ExpandableText/ExpandableTextHtml.dnn +++ b/ExpandableText/ExpandableTextHtml.dnn @@ -13,7 +13,7 @@ - 07.00.00 + 09.07.00 diff --git a/ExpandableText/ManifestAssets/ReleaseNotes.txt b/ExpandableText/ManifestAssets/ReleaseNotes.txt index 610564f..42a9ef8 100644 --- a/ExpandableText/ManifestAssets/ReleaseNotes.txt +++ b/ExpandableText/ManifestAssets/ReleaseNotes.txt @@ -1,4 +1,9 @@ -

Version 06.01.00 - April 21st, 2012

+

Version 06.02.00 - [Current Date]

+
    +
  • Added support for DNN 10.x Search Integration using ModuleSearchBase
  • +
+ +

Version 06.01.00 - April 21st, 2012

  • Resolved issues installing to SQL Azure
  • Updated module to support proper installation if a failure occured during initial install
  • diff --git a/README.md b/README.md index 08f0f87..842193c 100644 --- a/README.md +++ b/README.md @@ -6,4 +6,8 @@ A simple Expanding/Collapsing text module for use with DNN ## Minimum DNN Version -Current releases support DNN 7.0.0 and later \ No newline at end of file +Version 10.0.0 of this module requires DNN 9.7.0 or later + +## Upgrade Warning - DNN 10.x Support + +You must update to version 10.0.0 of this module BEFORE moving to DNN 10 to prevent errors. \ No newline at end of file