Products

Solutions

Learn More

Partners

Community

Blog

About

ModuleSearchBase

Return to previous page

  • 4/7/2015
  • 4271 Views

Comments

4271 Views

ModuleSearchBase

Last updated 2 years ago

Comments

Common

(Enter the content of this article below)

Advanced

 

In order to integrate the content in your custom module with DNN's search index, inherit from the ModuleSearchBase abstract base class in the Business Controller Class for your module.
Example from the HTMLText module

public class HtmlTextController : ModuleSearchBase, IPortable, IUpgradeable
...

Implement (just one) method: GetModifiedSearchDocuments, to return a list of SearchDocuments. This implementation only has to deal with content modified since the last call to GetModifiedSearchDocuments. So an incremental search has to be implemented.

Example (from the HTMLText module), where the beginTime is the start of the added, modified or deleted content

public override IList<SearchDocument> GetModifiedSearchDocuments(ModuleInfo modInfo, DateTime beginDate)
{
    ...
    var searchDocuments = new List<SearchDocument>();
    ...
    searchDocuments.Add(searchDoc);
    ....
    return searchDocuments;
}

In the manifest file for the module, you must provide “Searchable” as one of the SupportedFeatures. Example:

<supportedFeatures>
    <supportedFeature type="Portable" />
    <supportedFeature type="Searchable" />
    <supportedFeature type="Upgradeable" />
</supportedFeatures>
Subscribe to DNN Digest

DNN Digest is our monthly email newsletter. It highlights news and content from around the DNN ecosystem, such as new modules and themes, messages from leadership, blog posts and notable tweets. Keep your finger on the pulse of the ecosystem by subscribing.  

What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out