Microsoft SDS: Difference between revisions

From UmsWiki
Jump to navigation Jump to search
Kia (talk | contribs)
Cna (talk | contribs)
m Added link to SDS interactive guide
 
(67 intermediate revisions by 4 users not shown)
Line 3: Line 3:
[https://sds.microsoft.com/ Microsoft SDS]
[https://sds.microsoft.com/ Microsoft SDS]


== Prerequisites ==
==Prerequisites==


=== Module requirements ===
===Module requirements===
[[UMS]]


== Installation ==
*[[UMS]]
*[[Teams|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 - [https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls#support-for-tls-12 See more here]


=== Dashboard ===
===What to have ready===
[[File:Microsoft SDS Dashboard New.jpg|none|thumb|1101x1101px]]
 
*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 
 
[[File:SDS webservice on UMS frontend server.png|1019x1019px]]
 
====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
<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]]
Click '''Add Profile'''
Click '''Add Profile'''


=== Choose connection type ===
===Choose connection type===
[[File:Microsoft SDS Add Profile.jpg|none|thumb|1192x1192px]]
[[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|1345x1345px]]
[[File:Microsoft SDS Step 1 Sync options.jpg|none|thumb|1326x1326px]]


==== web access URL ====
====Import Data====
The URL needs to be updated to the URL of the schools UMS SDS web installation.


'''[[Configurator/Webservice|Client ID and client secret]]'''
*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
You have to click '''Test Connection''' and it needs to be successful otherwise the next button won't be available


==== token endpoint URL ====
====When does your school year end====
The URL needs to be updated to the URL of the schools UMS SDS web installation.
This has no meaning in a UMS synchronization. Just set it to the max year.


==== When does your school year end ====
====Replace unsupported special characters====
This has no meaning in a UMS synchronization so set it to the current year.
 
==== Replace unsupported special characters ====
Enable this.
Enable this.


==== When should we stop syncing this profile ====
====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.
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 ===
===Step 2: Teacher options===
[[File:Microsoft SDS Step 2 Teacher options.jpg|none|thumb|1089x1089px]]
[[File:Microsoft SDS Step 2 Teacher options.jpg|none|thumb|900x900px]]
 
====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===
[[File:Microsoft SDS Step 3 Student options.jpg|none|thumb|796x796px]]
 
====Student mapping====
You need to set primary key to email.
 
====Student properties====
Expand and check it matches picture.
 
===Step 4: Review===
[[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.
 
==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 <nowiki>https://www.imsglobal.org</nowiki>
 
===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|702x702px]]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[[File:Microsoft_SDS_License_missing.jpg|link=http://wiki.inlogic.dk/index.php/File:Microsoft_SDS_License_missing.jpg|none|thumb|640x640px]]
 
====That did not work====
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"]]


=== Step 3: Student options ===
====Prevent Teams from sending spam to users====
[[File:Microsoft SDS Step 3 Student options.jpg|none|thumb|1104x1104px]]
If sender address contains “email.teams.microsoft.com” then redirect them to someone else.


=== Step 4: Review ===
'''''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:Microsoft SDS Step 4 Review.jpg|none|thumb|1102x1102px]]
[[File:Teams spam can be stopped with an Exchange flow.png|left|thumb|1409x1409px|Teams spam can be stopped with an Exchange flow]]
<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.

Microsoft SDS

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

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

Errors in synchronization

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


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.

It takes longer than normal to configure Teams
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

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.

Teams spam can be stopped with an Exchange flow