I 'm having issues with the latest version where a call to GetMembers on your API just returns "An error occured". The previous version worked fine, however VERY slow with searching (like 1 minute per search). I updated Lucene Index already, but since I don't have the source I can't check what goes wrong. Particular is that Reflector et all fail to decompile the GetMembers method, whereas the rest works fine. Perhaps the DLL you released is corrupted?
I'll need some more details - the dll in the package isn't corrupt in any way or you wouldn't be able to install it (and I've tested it on a fresh installation).
How are you getting the "An error occured" message? have you checked the Umbraco Log file?
I'm installing this on the latest stable Umbraco (7.1.6). The Umbraco log has nothing on whats happening strangely enough. As said, it's the GetMembers API call that fails (it returns an internal server error), but turning on errors (even IIS errors) doesn't help because it will not throw the "yellow page of death" so to speak.
I'm clueless.
Oh, and the "An error occured" message is the JSON-response of the API when I browse to it (or click the link in the inspector).
I'll take a look at the source later, but here's a few suggestions:
1. Make sure you modify the InternalMemberIndex as per the project description - the searching relies on this to return any results.
2. Use the browsers Developer Tools (usually F12) and trace the response and request (Network tracing).
3. If you haven't already turn off custom errors so you can see the stack trace etc. You may also want to turn Debug on in the web.config as well temporarily.
An error has occurred. The given key was not present in the dictionary. System.Collections.Generic.KeyNotFoundException at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at MemberListView.Helpers.MemberSearch.<>c__DisplayClass7.b__3(SearchResult o) at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count) at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count) at System.Linq.OrderedEnumerable`1.d__0.MoveNext() at System.Linq.Enumerable.d__4d`1.MoveNext() at System.Linq.Enumerable.d__3a`1.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at AutoMapper.Mappers.EnumerableMapperBase`1.Map(ResolutionContext context, IMappingEngineRunner mapper) at AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext context)
Can you please post a screenshot of your MemberType properties...
Also please verify that you have a search provider with the name of InternalMemberSearcher in your ExamineSettings.config file.
Based on the stacktrace you've provided above, one of these two things may be the culprit. If for some reason your MemberType does not contain a field with an alias "email" then that's likely the problem. If the InternalMemberSearcher search provider is missing or renamed, then that too could be the problem. If there are still problems then we need to look deeper - but the most likely issue is either the search provider or the index.
Well, I checed the config and thats fine. However, the MemberType is a bit weird. There is the umbraco E-mail field, aswell as a custom property for e-mail (which has the alias email). So it's not a problem of being there, it might be a problem of the alias "email" being defined twice! Can you try that in your clean umbraco?
The one I'm messing around in is an accept release, so I can't take a gamble and remove the field :P
More than likely it's something to do with the additional email property.
With the source I will be putting it up on github sometime in the near future - need to clean a few things up and make sure the project has everything required included first.
"An error has occured"
I 'm having issues with the latest version where a call to GetMembers on your API just returns "An error occured". The previous version worked fine, however VERY slow with searching (like 1 minute per search). I updated Lucene Index already, but since I don't have the source I can't check what goes wrong. Particular is that Reflector et all fail to decompile the GetMembers method, whereas the rest works fine. Perhaps the DLL you released is corrupted?
Hi Lennard,
I'll need some more details - the dll in the package isn't corrupt in any way or you wouldn't be able to install it (and I've tested it on a fresh installation).
How are you getting the "An error occured" message? have you checked the Umbraco Log file?
Morning,
I'm installing this on the latest stable Umbraco (7.1.6). The Umbraco log has nothing on whats happening strangely enough. As said, it's the GetMembers API call that fails (it returns an internal server error), but turning on errors (even IIS errors) doesn't help because it will not throw the "yellow page of death" so to speak.
I'm clueless.
Oh, and the "An error occured" message is the JSON-response of the API when I browse to it (or click the link in the inspector).
Lennard
I'll take a look at the source later, but here's a few suggestions:
1. Make sure you modify the InternalMemberIndex as per the project description - the searching relies on this to return any results.
2. Use the browsers Developer Tools (usually F12) and trace the response and request (Network tracing).
3. If you haven't already turn off custom errors so you can see the stack trace etc. You may also want to turn Debug on in the web.config as well temporarily.
Hope this helps...
An error has occurred. The given key was not present in the dictionary. System.Collections.Generic.KeyNotFoundException at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at MemberListView.Helpers.MemberSearch.<>c__DisplayClass7.b__3(SearchResult o) at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count) at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count) at System.Linq.OrderedEnumerable`1.d__0.MoveNext() at System.Linq.Enumerable.d__4d`1.MoveNext() at System.Linq.Enumerable.d__3a`1.MoveNext() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at AutoMapper.Mappers.EnumerableMapperBase`1.Map(ResolutionContext context, IMappingEngineRunner mapper) at AutoMapper.MappingEngine.AutoMapper.IMappingEngineRunner.Map(ResolutionContext context)
Thats what I get.
Can you post your Index config? And have you tried rebuilding the index?
Yes, that was the first thing I tried. I added one userkey myself to search for, but even without it does it.
<?xml version="1.0"?>
<!--
Umbraco examine is an extensible indexer and search engine.
This configuration file can be extended to create your own index sets.
Index/Search providers can be defined in the UmbracoSettings.config
More information and documentation can be found on CodePlex: http://umbracoexamine.codeplex.com
-->
<ExamineLuceneIndexSets>
<!-- The internal index set used by Umbraco back-office - DO NOT REMOVE -->
<IndexSet SetName="InternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/Internal/"/>
<!-- The internal index set used by Umbraco back-office for indexing members - DO NOT REMOVE -->
<IndexSet SetName="InternalMemberIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/InternalMember/">
<IndexAttributeFields>
<add Name="id" />
<add Name="nodeName" EnableSorting="true"/>
<add Name="updateDate" />
<add Name="writerName" />
<add Name="loginName" />
<add Name="email" EnableSorting="true"/>
<add Name="nodeTypeAlias" />
</IndexAttributeFields>
<IndexUserFields>
<add Name="umbracoMemberApproved" />
<add Name="umbracoMemberLockedOut" />
<add Name="umbracoMemberLastLockoutDate" Type="DATETIME" />
<add Name="umbracoMemberLastLogin" Type="DATETIME" />
<add Name="umbracoMemberPasswordRetrievalAnswer" />
<add Name="umbracoMemberPasswordRetrievalQuestion" />
<add Name="comments" />
<add Name="betalingskenmerk" />
</IndexUserFields>
</IndexSet>
<!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
<IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" />
</ExamineLuceneIndexSets>
Yes, that was the first thing I tried. I added one userkey myself to search for, but even without it does it.
It's exactly the same as your config for the rest.
(My post with the full XML is marked as spam...)
Can you please post a screenshot of your MemberType properties...
Also please verify that you have a search provider with the name of InternalMemberSearcher in your ExamineSettings.config file.
Based on the stacktrace you've provided above, one of these two things may be the culprit. If for some reason your MemberType does not contain a field with an alias "email" then that's likely the problem. If the InternalMemberSearcher search provider is missing or renamed, then that too could be the problem. If there are still problems then we need to look deeper - but the most likely issue is either the search provider or the index.
Well, I checed the config and thats fine. However, the MemberType is a bit weird. There is the umbraco E-mail field, aswell as a custom property for e-mail (which has the alias email). So it's not a problem of being there, it might be a problem of the alias "email" being defined twice! Can you try that in your clean umbraco?
The one I'm messing around in is an accept release, so I can't take a gamble and remove the field :P
Perhaps it's easier if you send me the source so I can remote debug it, you can contact me through:
Hi Lennard,
More than likely it's something to do with the additional email property.
With the source I will be putting it up on github sometime in the near future - need to clean a few things up and make sure the project has everything required included first.
Ok, I've now tested with a member profile with an additional Email property and haven't been able to break it yet.
is working on a reply...