After reading the Michael Washington tutorial, and following it closely, I am not able to get my module to recognize ISearchable interface in my controller class.
This is my controller class
Namespace MNO.Modules.KNB
<DataObject(True)> _
Public Class KNBController
Implements Entities.Modules.ISearchable
Public Function GetSearchItems(ByVal ModInfo As Entities.Modules.ModuleInfo) _
As DotNetNuke.Services.Search.SearchItemInfoCollection Implements Entities.Modules.ISearchable.GetSearchItems
' Get the Surveys for this Module instance
Dim Topics As List(Of TopicsInfo) = ListKNB_TOPICS(ModInfo.ModuleID)
Dim SearchItemCollection As New SearchItemInfoCollection
Dim TopicsInfo As TopicsInfo
For Each TopicsInfo In Topics
Dim SearchItem As SearchItemInfo
With CType(TopicsInfo, TopicsInfo)
Dim strContent As String = System.Web.HttpUtility.HtmlDecode(.Title & " " & .Summary & " " & .Keywords & " " & .Details)
Dim strDescription As String = HtmlUtils.Shorten(HtmlUtils.Clean(System.Web.HttpUtility.HtmlDecode(.Summary), False), 100, "...")
SearchItem = New SearchItemInfo(ModInfo.ModuleTitle & " - " & .Title, _
strDescription, _
.CreatedByUser, _
.CreatedDate, _
ModInfo.ModuleID, _
.TopicId.ToString, _
strContent, "TopicId=" & .TopicId.ToString)
SearchItemCollection.Add(SearchItem)
End With
Next
Return SearchItemCollection
End Function
In my Module definition I have this in my Controller class field: MNO.Modules.KNB.KNBController
When I hit update, ISearchable does not get checked. This module controller class is in the app code folder, does that make a difference?
Help! This portal runs 4.5.1