Microsoft SDS: Difference between revisions
m Added link to SDS interactive guide |
|||
(22 intermediate revisions by 4 users not shown) | |||
Line 14: | Line 14: | ||
**Templates must have a Office 365 Teams template | **Templates must have a Office 365 Teams template | ||
*Updated data in SQL tables (update data with LiveAtEdu_Sync) | *Updated data in SQL tables (update data with LiveAtEdu_Sync) | ||
*OS version that supports TLS 1.2 - [https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls#support-for-tls-12 See more here] | |||
===What to have ready=== | |||
*A valid licens file that includes Office 365 Teams | |||
*A star-certficate or a certificate that includes the hostheader of the SDS webservice | |||
*A firewall opening to port 443 since the SDS webservice uses HTTPS | |||
==Installation of SDS webservice== | ==Installation of SDS webservice== | ||
Line 21: | Line 28: | ||
Hostheader example ims.demo.inlogic.dk | Hostheader example ims.demo.inlogic.dk | ||
[[File:SDS webservice on UMS frontend server.png| | [[File:SDS webservice on UMS frontend server.png|1019x1019px]] | ||
====Download and install the webservice “IMS sync”==== | ====Download and install the webservice “IMS sync”==== | ||
Line 29: | Line 36: | ||
This file contains connectionstring to SQL Server | This file contains connectionstring to SQL Server | ||
====Register the hostheader in DNS==== | ====Register the hostheader in external DNS==== | ||
Register an a-record that maps hostheader with external IP address of the UMS webserver | |||
== | <br /> | ||
==Configuration of SDS profile== | |||
https://interactiveguides-schooldatasync.azurewebsites.net/ | |||
Login to https://sds.microsoft.com as a global administrator[[File:Microsoft SDS Dashboard New.jpg|none|thumb|640x640px]] | Login to https://sds.microsoft.com as a global administrator[[File:Microsoft SDS Dashboard New.jpg|none|thumb|640x640px]] | ||
Click '''Add Profile''' | Click '''Add Profile''' | ||
===Choose connection type=== | ===Choose connection type=== | ||
[[File:Microsoft SDS Add Profile.jpg|none|thumb| | [[File:Microsoft SDS Add Profile.jpg|none|thumb|897x897px]] | ||
Choose settings as shown above. | Choose settings as shown above. | ||
===Step 1: Sync options=== | ===Step 1: Sync options=== | ||
[[File:Microsoft SDS Step 1 Sync options.jpg|none|thumb| | [[File:Microsoft SDS Step 1 Sync options.jpg|none|thumb|1326x1326px]] | ||
====Import Data==== | ====Import Data==== | ||
Line 64: | Line 71: | ||
===Step 2: Teacher options=== | ===Step 2: Teacher options=== | ||
[[File:Microsoft SDS Step 2 Teacher options.jpg|none|thumb| | [[File:Microsoft SDS Step 2 Teacher options.jpg|none|thumb|900x900px]] | ||
====Teacher mapping==== | ====Teacher mapping==== | ||
Line 72: | Line 79: | ||
Expand and check it matches picture. | Expand and check it matches picture. | ||
====Domain==== | |||
when selecting primary key mail and userPrincipalName. The domain must be set to "No suffix needed" | |||
===Step 3: Student options=== | ===Step 3: Student options=== | ||
[[File:Microsoft SDS Step 3 Student options.jpg|none|thumb| | [[File:Microsoft SDS Step 3 Student options.jpg|none|thumb|796x796px]] | ||
====Student mapping==== | ====Student mapping==== | ||
Line 84: | Line 92: | ||
===Step 4: Review=== | ===Step 4: Review=== | ||
[[File:Microsoft SDS Step 4 Review.jpg|none|thumb| | [[File:Microsoft SDS Step 4 Review.jpg|none|thumb|983x983px]]This end result should look similar to this. | ||
The profile is now created will start sync after some minutes. | The profile is now created will start sync after some minutes. | ||
Line 95: | Line 103: | ||
===Add a license to user that your trying to access SDS with=== | ===Add a license to user that your trying to access SDS with=== | ||
[[File:Microsoft_SDS_License_missing_Part_2.jpg|link=http://wiki.inlogic.dk/index.php/File:Microsoft_SDS_License_missing_Part_2.jpg|none|thumb| | [[File:Microsoft_SDS_License_missing_Part_2.jpg|link=http://wiki.inlogic.dk/index.php/File:Microsoft_SDS_License_missing_Part_2.jpg|none|thumb|702x702px]]You need to relog after this license change. | ||
===Known problems and how you handle them=== | ===Known problems and how you handle them=== | ||
====Sorry, we can't sign you in==== | ====Sorry, we can't sign you in==== | ||
Line 103: | Line 111: | ||
Endpoint not reachable due to | Endpoint not reachable due to | ||
<ul> | |||
<li>incorrect endpoints, username or password</li> | |||
<li>dns problems or firewall | |||
<br>test dns in command prompt: nslookup ims.yourschool.dk 8.8.8.8 | |||
<br>test firewall: https://www.yougetsignal.com/tools/open-ports </li> | |||
<li>UMS backend is not configured properly</li> | |||
<li>OS version that supports TLS 1.2 - [https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls#support-for-tls-12 See more here] | |||
</li> | |||
</ul> | |||
[[File:Endpoint_not_reachable.png|1053x1053px]] | |||
====Errors in synchronization==== | |||
[[File:Sync complete with errors.png|none|thumb|1044x1044px|The format of this user principal name is unexpected]] | |||
In this case I have mapped wrong primary keys according to step 3 in the wiki. | |||
Sorry to say, but you need to delete the SDS profile. Set it up again and wait | |||
<br /> | |||
====InternalError,There was an application error trying to process this entry. Please contact Customer Support if error(s) persist==== | |||
Inspect the CSV file created on synchronization errors. | |||
Any application error must be handled by [[Microsoft Support|'''Microsoft Support''']] and remember to attach the CSV file along with a document describing the problems you experience. | |||
[[File:Sync error - CSV.png|none|thumb|1440x1440px]] | |||
====The teacher could not be added to the class==== | |||
[[File:Sync error - CSV - teacher could not be added to the class.png|none|thumb|1660x1660px]] | |||
In order to find who the teacher is, search for sourcedid in this view: | |||
select * from V_Office365TeamsTeachers where sourcedid = 'T65' | |||
Go to https://portal.office.com/adminportal/home#/homepage and search for the user and see what UPN is used. | |||
If the teacher exists with multiple UPN's in the table Office365Teams_Teachers, remove the user not mapped with an external ID and update UPN on the mapped userobject. | |||
Hereafter the user will be correctly maintained by LiveAtEdu_Sync and SDS synchronization will not fail. | |||
====Missing students==== | |||
You can inspect the data UMS has provided for SDS using the views in UMS database. | |||
Example: show the students that are enrolled in a class with title VUCTM_m202dsabaug.19 | |||
{| class="wikitable" | |||
!select * from V_Office365TeamsEnrollments where class_id in ( | |||
select sourcedId from V_Office365TeamsClasses where title = 'VUCTM_m202dsabaug.19') | |||
|} | |||
Compare the number of students in UMS database and what you see in SDS. In this example there should have been 31 students but only 4 are visible. | |||
[[File:Missing students in SDS.png|none|thumb|300x300px]] | |||
In order to fix the problem: remove references between student(s) and class(es) in UMS database and run a full LiveAtEdu_Sync. After a while SDS will update all learners on teams. | |||
Delete all references | |||
{| class="wikitable" | |||
!delete from Office365TeamsXRef_Learners_Teams | |||
|} | |||
Delete references for a student | |||
{| class="wikitable" | |||
!delete from Office365TeamsXRef_Learners_Teams where Office365Teams_Learners_ID in ( | |||
select id from Office365Teams_Learners where username = 'maze0074') | |||
|} | |||
= | Delete references for a class | ||
{| class="wikitable" | |||
!delete from Office365TeamsXRef_Learners_Teams where Office365Teams_ID in ( | |||
select sourcedId from V_Office365TeamsClasses where title = 'VUCTM_t203dsaGAug.19') | |||
|} | |||
====It takes longer than normal to configure Teams==== | |||
During problems with the Teams service at Microsoft you might experience a long time for configuration of sections. There is nothing you or we can do about it, just be patient and wait. | |||
[[File:It takes longer than normal to configure Teams.png|alt=It takes longer than normal to configure Teams|none|thumb|1088x1088px|DK text: "Det tager længere tid end normal at konfiguere tildelinger i Teams. Vi arbejder aktivt på det. Prøv igen senere"]] | |||
===Prevent Teams from sending spam to users=== | ====Prevent Teams from sending spam to users==== | ||
If sender address contains “email.teams.microsoft.com” then redirect them to someone else. | If sender address contains “email.teams.microsoft.com” then redirect them to someone else. | ||
[[File:Teams spam can be stopped with an Exchange flow.png|left|thumb| | |||
'''''Warning''': if you implement this rule, any mail notification from Teams will not reach users, this includes mail notifications on new chat messages and other communinactions between users in Teams.'' | |||
[[File:Teams spam can be stopped with an Exchange flow.png|left|thumb|1409x1409px|Teams spam can be stopped with an Exchange flow]] | |||
<br /> | <br /> |
Latest revision as of 10:06, 26 March 2021
Go to this page and login with the credentials of the tenant you want to setup SDS for.
Prerequisites
Module requirements
- UMS
- Teams configurations
- Modules, a Office 365 Tenant setting
- Modules, a Office 365 Teams setting
- Templates must have an Organization type
- Templates must have a Office 365 Teams template
- Updated data in SQL tables (update data with LiveAtEdu_Sync)
- OS version that supports TLS 1.2 - See more here
What to have ready
- A valid licens file that includes Office 365 Teams
- A star-certficate or a certificate that includes the hostheader of the SDS webservice
- A firewall opening to port 443 since the SDS webservice uses HTTPS
Installation of SDS webservice
Install a new webservice on your UMS frontend webserver that enables synchronization between the roster (DK: “skoleplan” eller “datagrundlag”) in your UMS and Microsoft School Data Sync.
Create a new IIS site and application pool
Hostheader example ims.demo.inlogic.dk
Download and install the webservice “IMS sync”
Go to inLogic download page https://www.inlogic.dk/support/download/
Copy Usermanagement.ini to bin folder
This file contains connectionstring to SQL Server
Register the hostheader in external DNS
Register an a-record that maps hostheader with external IP address of the UMS webserver
Configuration of SDS profile
https://interactiveguides-schooldatasync.azurewebsites.net/
Login to https://sds.microsoft.com as a global administrator
Click Add Profile
Choose connection type
Choose settings as shown above.
Step 1: Sync options
Import Data
- Web access URL, example: https://ims.demo.inlogic.dk/ims/oneroster/v1p1
- Client ID is always "WebserviceUser"
- Client secret can be found in SQL using select * from WebServicesSettings
- Token endpoint URL, example: https://ims.demo.inlogic.dk/token
You have to click Test Connection and it needs to be successful otherwise the next button won't be available
When does your school year end
This has no meaning in a UMS synchronization. Just set it to the max year.
Replace unsupported special characters
Enable this.
When should we stop syncing this profile
It is not possible to set a date that never expires. This means that this has to be updated every year to the highest possible date.
Step 2: Teacher options
Teacher mapping
You need to set primary key to email.
Teacher properties
Expand and check it matches picture.
Domain
when selecting primary key mail and userPrincipalName. The domain must be set to "No suffix needed"
Step 3: Student options
Student mapping
You need to set primary key to email.
Student properties
Expand and check it matches picture.
Step 4: Review
This end result should look similar to this.
The profile is now created will start sync after some minutes.
FAQ
More info here https://docs.microsoft.com/en-us/schooldatasync/how-to-deploy-school-data-sync-by-using-powerschool-sync
What is IMS ?
IMS is a standard for data exchange, see https://www.imsglobal.org
Add a license to user that your trying to access SDS with
You need to relog after this license change.
Known problems and how you handle them
Sorry, we can't sign you in
You have to be a global administrator
That did not work
Endpoint not reachable due to
- incorrect endpoints, username or password
- dns problems or firewall
test dns in command prompt: nslookup ims.yourschool.dk 8.8.8.8
test firewall: https://www.yougetsignal.com/tools/open-ports - UMS backend is not configured properly
- OS version that supports TLS 1.2 - See more here
Errors in synchronization
In this case I have mapped wrong primary keys according to step 3 in the wiki.
Sorry to say, but you need to delete the SDS profile. Set it up again and wait
InternalError,There was an application error trying to process this entry. Please contact Customer Support if error(s) persist
Inspect the CSV file created on synchronization errors.
Any application error must be handled by Microsoft Support and remember to attach the CSV file along with a document describing the problems you experience.
The teacher could not be added to the class
In order to find who the teacher is, search for sourcedid in this view: select * from V_Office365TeamsTeachers where sourcedid = 'T65'
Go to https://portal.office.com/adminportal/home#/homepage and search for the user and see what UPN is used.
If the teacher exists with multiple UPN's in the table Office365Teams_Teachers, remove the user not mapped with an external ID and update UPN on the mapped userobject.
Hereafter the user will be correctly maintained by LiveAtEdu_Sync and SDS synchronization will not fail.
Missing students
You can inspect the data UMS has provided for SDS using the views in UMS database. Example: show the students that are enrolled in a class with title VUCTM_m202dsabaug.19
select * from V_Office365TeamsEnrollments where class_id in (
select sourcedId from V_Office365TeamsClasses where title = 'VUCTM_m202dsabaug.19') |
---|
Compare the number of students in UMS database and what you see in SDS. In this example there should have been 31 students but only 4 are visible.
In order to fix the problem: remove references between student(s) and class(es) in UMS database and run a full LiveAtEdu_Sync. After a while SDS will update all learners on teams.
Delete all references
delete from Office365TeamsXRef_Learners_Teams |
---|
Delete references for a student
delete from Office365TeamsXRef_Learners_Teams where Office365Teams_Learners_ID in (
select id from Office365Teams_Learners where username = 'maze0074') |
---|
Delete references for a class
delete from Office365TeamsXRef_Learners_Teams where Office365Teams_ID in (
select sourcedId from V_Office365TeamsClasses where title = 'VUCTM_t203dsaGAug.19') |
---|
It takes longer than normal to configure Teams
During problems with the Teams service at Microsoft you might experience a long time for configuration of sections. There is nothing you or we can do about it, just be patient and wait.
Prevent Teams from sending spam to users
If sender address contains “email.teams.microsoft.com” then redirect them to someone else.
Warning: if you implement this rule, any mail notification from Teams will not reach users, this includes mail notifications on new chat messages and other communinactions between users in Teams.