RoleSync - Troubleshooting
- Product: campusM
- Operating system: iOS, Android
RoleSync adds a considerable amount of functionality and customisability to campusM, but can sometimes be troublesome to diagnose issues. This document covers some of the common errors, scenarios and solutions.
Roles are defined by the institution and can come from various backend systems, including Authentication and Student records systems.
Multiple data sources can be used to create the user's roles (e.g. LDAP dn can be parsed to identify staff and student roles, while a database view can be used for others).
Roles are case sensitive, so STUDENT is not the same as Student, etc. although having roles that differ only in case would not be wise.
Common Scenarios
- Users are not seeing the tiles matching their roles
- Certain users not able to log into the application and are seeing a "No profiles available" error message
Troubleshooting
Basic Checks
Does the user have the role?
This can be determined by running a SOAP request to your connect layer via a SOAP client such as SOAP UI:
Sample request (to your connect layer, please request details to run this via Salesforce):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:cam="http://campusm.gw.com/campusm">
<soapenv:Header/>
<soapenv:Body>
<cam:login>
<cam:username>sandra.student@uni.edu</cam:username>
<cam:password>Password</cam:password>
</cam:login>
</soapenv:Body>
</soapenv:Envelope>
Sample response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns1:loginResponse xmlns:ns1="http://campusm.gw.com/campusm">
<ns1:roleNames>
<ns1:roleName>UNIVERSITY_MEMBER_DEFAULT</ns1:roleName>
<ns1:roleName>Aus-Student-34534</ns1:roleName>
<ns1:roleName>Medical-Student-34523</ns1:roleName>
</ns1:roleNames>
<ns1:attrs>
.........
</ns1:attrs>
</ns1:loginResponse>
</soapenv:Body>
</soapenv:Envelope>
Have App Profiles Been Published?
Adding or changing roles will require App Roles to be published again.
App Manager -> App Settings -> Publish Content
Has setRolesUpdated been run?
This service is hosted on the campusM platform and can be accessed through clients such as SoapUI and Postman (please request your institutions link via Salesforce)
Is the default app role defined?
Every profile must have a default associate with it, if no default app role is defined in the App Manager for a profile users will not be able to log into this profile.
Default Role Being Returned but no Others
Sometimes the response will contain the default role, but no others. If you're certain this response is not correct for your test user (confirming with the client or checking the source of the roles if possible), check the logs for errors. This points to an error in the code to get roles, or that the source is unavailable.
Roles are Present but Users do not see Their Content
Often this can be as simple as you need to run setRolesUpdated (above). If you have done that and still don't see the content, it may be browser caching in the webapp: test in a private browser window. Another cause is roles are case-sensitive (so Student is different to STUDENT, etc).
On the sandbox app (or production app pre-launch), a simple test is to create basic tiles for each role (e.g. "Student Only", "Main Campus Only", etc.) and test various logins. This is not a viable test on production after launch.
- Article last edited: DD-Mmm-YYYY