I have been working with a SalesLogix business partner on a project for a while. A few nights ago I got a query from their developer with regards to an issue that they were having. While trying to implement a main view in the web client (known as an entity page) when they would navigate to the page and try to add a group it would fail with an nice and friendly message stating that the XML Schema was missing.
I have heard in the past that there had been some problems with the group builder functionality and started to investigate down that line. I even followed up on the blog provided by Ryan Farley at CRM Developer . Finally I contacted some of my sources to understand how the feature was working and if there was some way to force a schema rebuild. Initially yet knowing the true issue I was told that I could force a rebuild of the schema by updating the datacode field basically reversing option 3 in Ryan’s post. Thinking that this was the right course of action I did so and unfortunately the page still would not render correctly.
I then dug a little deeper into the page’s setup to see if there was something amiss. In so 2 items came were identified as issues.
1. The page did not have a configured entity type
2. The page’s alias was not the same as the entity type it is hosting.
So the first issue was the big one. Given that the entity type was not set there was no way the group builder functionality could determine the base table/schema to resolve to. Once I set the page type correctly it was now possible to display the list view grid and build queries in the client.
The second issue was identified after enabling a column as a link column and trying to display the detail page. Since the internal resolution of the URL for a link is based on the entity type name if the page is no named the same as the entity it cannot be located. Once I changed the alias the page’s details were now displayable.
So when you make an entity page make sure that you set the entity type, and also set the page alias (name that the page is generated as) to the same name as the entity.