I recently was asked to troubleshoot a client who suddenly was unable to share groups to other users in the SalesLogix web client. Supposedly nothing had been modified, as far as SalesLogix smart parts were concerned. When a user attempted to share a group they got the proper screens to open but when attempting to add an Owner to share to the screen was empty. The users could not see any users, teams, or departments to share the group to. So what was causing this to happen?
There are actually two screens involved in the sharing of groups.
The first screen is the list of whom the group is shared to.
On this screen, the everyone button is visible, only to Admin.
This is a custom smart part and can be found under Project Explorer…Portal Manager…Sage SalesLogix…support Files…SmartParts…GroupBuilder…ShareGroup.ascx.
When you click the Add button, it invokes another screen to choose who you want to share to:
This is another custom smart part and is under:
The assign team screen is found in the same location and is called OwnerAssign.ascx.
Both of these custom smart parts are just the mark up for the user controls. The code behind the pages is contained in a standard Sage assembly, called Sage.SalesLogix.Client.GroupBuilder.dll. The code for the OwnerAssign is in a class called OwnerAssign, and the ShareGroup control also has a matching class name.
I looked at the code for the OwnerAssign class and saw that upon opening the control an XML file is generated and injected into the page. This XMl file is then used to show the lists on the various tabs.
I took a look at the page source of the OwnerAssign screen that was not working. I was able to find the injected XML and determined that it was actually on the page and had the proper list of users, departments, and teams:
Strange, the XML was there so why wasn’t it working?
Well, I copied the XML string from the page source and created a new text file that I renamed to be an XML file. Then with Internet Explorer I tried to open the file. Ah ha!
Turns out there was a problem with the XML that was generated.
The user list in the XML consists of the User’s SecCodeID, Name, and Title. One of the users had a title of “Señor Financial Manager”. Turns out the tilda is not an acceptable character in the XML format.
I went in and updated the title of that one user to be “Senior Financial Manager” and then the share groups screen started to work.
Moral of the story, watch what you place in the titles (and names) of your users. Non-supported characters in an XML file will cause the group sharing function to not work.