After upgrading to DNN 7.1 OpenSearch and DNN Preview Search doesn't work

In a previous blog post I talked about what you can do to get DNN 7.1 working if you previously had Xepient's Open Search installed. One thing I failed to cover though, was what happens after you disable open search? You likely no longer have the DNN Search Results module on a page, and after upgrading to DNN 7.1.2 (I didn't notice this in 7.1.0) you may find that the "Preview" search results in the Search SkinObject no longer work.

You may not actually notice, but if you try to "search" and you just get redirected back to the page you were on when you searched, you likely are running into the problem I have a fix for below.

Basically the problem is that you don't have a Search Results module on your Search Results page anymore in DNN (I know I removed it back when I started using OpenSearch on this particular site).

So what you will need to do is go to your Search Results page (found from admin/page management) and add the Search Results module onto the page.

From there, search should hopefully start working again for you.

Here is the error message I was getting in the Log Viewer (event viewer, eventlog table), a tad cryptic, but I am glad I was able to track down the issue for my customer's site.

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.Collections.ArrayList.get_Item(Int32 index) at DotNetNuke.Web.InternalServices.SearchServiceController.GetSearchModule() at DotNetNuke.Web.InternalServices.SearchServiceController.GetSearchModuleSettings() at DotNetNuke.Web.InternalServices.SearchServiceController.Preview(String keywords, String culture, Int32 forceWild, Int32 portal) at lambda_method(Closure , Object , Object[] ) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass13.<GetExecutor>b__c(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.<>c__DisplayClass5.<ExecuteAsync>b__4() at System.Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func`1 func, CancellationToken cancellationToken)

 

 

Recent Comments

There are currently no comments. Be the first to make a comment.

Add Comment

Please add your comment by filling out the field(s) below. Your comment may need to be approved before it becomes visible.
Enter your first name for display with the comment
Enter your last name for display with the comment.
Enter your comment here.
If you can't type Human2 in, you can't post, plain and simple.
Submit Comment Cancel

Chris Hammond

Chris Hammond

is a father, husband, leader, developer, photographer and car guy. Chris has long specialized in ASP.NET and DotNetNuke (DNN) development, so you will find a variety of posts relating to those topics. For more information check out the about Chris Hammond page.

If you are looking for DotNetNuke consulting please visit Christoc.com Software Solutions

Find me on Twitter, GitHub and LinkedIn.