Calling all developers! We invite you to provide your input on Feature Experimentation by completing this brief survey.
Calling all developers! We invite you to provide your input on Feature Experimentation by completing this brief survey.
Hi,
I've registered the bug. You can however overload the default Url-projection for UnifiedFiles in UnifiedSearch by:
SearchClient.Conventions.UnifiedSearchRegistry
.ForInstanceOf<UnifiedFile>()
.ProjectUrlFrom(x => x.GetUrl());
public static string GetUrl(this UnifiedFile file)
{
if(file.PermanentLinkVirtualPath.IsNull())
{
return null;
}
if (Global.UrlRewriteProvider != null)
{
var url = new UrlBuilder(file.PermanentLinkVirtualPath);
Global.UrlRewriteProvider.ConvertToExternal(url, null, UTF8Encoding.UTF8);
return url.ToString();
}
return file.PermanentLinkVirtualPath;
}
Thanks Henrik,
I will try it out. We are not able to select Find as a product here http://world.episerver.com/en/Support/Register-Support-Incident/ when registering a new incident.
Hi again,
That didn't actually solve the bug. Now all url's are null for files. But I'm just searching in my local EPiServer database, so I can rely on the url-rewriter when renderingen the url's.
Now I'm just returning the VirtualPath and that works great.
SearchClient.Instance.Conventions.UnifiedSearchRegistry.ForInstanceOf<UnifiedFile>()
.ProjectUrlFrom<UnifiedFile>(file => file.VirtualPath));
Hi,
We're getting an error when searching for VPP files, please see stacktrace below:
EPiServer.Global System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: input
at System.Text.RegularExpressions.Regex.IsMatch(String input)
at EPiServer.UrlBuilder.Init(String url)
at EPiServer.Find.Cms.CmsUnifiedSearchSetUp.GetVppFileUrl(String permanentLinkVirtualPath)
at lambda_method(Closure )
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Delegate.DynamicInvokeImpl(Object[] args)
at EPiServer.Find.ProjectionHelper.GetMappedSearchResultItem[TResult](SearchRequestBody requestBody, SearchHit`1 searchHit)
at EPiServer.Find.ProjectionHelper.GetMappedResult[TResult](SearchRequestBody requestBody, SearchResults`1 jsonResult)
at EPiServer.Find.SearchExtensions.GetProjectedResult[TResult](ISearch`1 search, SearchContext context)
at EPiServer.Find.SearchExtensions.GetResult(ITypeSearch`1 search, HitSpecification hitSpecification, Boolean filterForPublicSearch)
at NetR.Project.Templates.Search.Search.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at ASP.templates_search_search_aspx.ProcessRequest(HttpContext context) in c:\Users\johan.petersson\AppData\Local\Temp\Temporary ASP.NET Files\root\23475520\c9d7e24e\App_Web_2iidcopa.0.cs:line 0
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
- 1.2.5 Unhandled exception in ASP.NET
2013-04-23 11:02:42,179 DEBUG [] SearchSettings - Start dequeue unprocessed items
2013-04-23 11:02:42,179 DEBUG [] SearchSettings - End dequeue unprocessed items
We're using EPiServer 6 R2, PTB and Find 1.0.0.324.
My guess is that the problem is that we're using a EPiServer.Web.Hosting.VirtualPathNativeProvider for one of our VPPs.