Episode #124 – Defining teachers and students with School Data Sync in a Microsoft 365 EDU Tenant

Here you can find the transcript of Episode #124 of PiaSys TechBites.

Welcome back to PiaSysTech Bites. Today, we keep on talking about how we can configure a Microsoft 365 EDU Tenant. And specifically, I will focus on how to configure students, teachers, faculty, and staff users in your Tenant. As well as how to configure classes and associate users to those classes. Of course, you can do that completely manually, but there is a free tool provided by Microsoft called the School Data Sync, which you can use to speed up the enrollment process.

Specifically, the School Data Sync service is available for all of the Microsoft 365 Education Tenants and allows us to import users, meaning students, teachers, staff, and faculty users, using either a set of CSV files in three different formats, in Format B1, B2, and the Clever one. Or using an API to keep them in sync on the go, and to interact with external school information systems. For example, PowerSchool or OneRoster. Using, for example, the CSV files and, generally speaking, using the School Data Sync service, you can configure the organization hierarchy. You can configure users, meaning students, teachers, faculty, and staff. You can configure classes and the enrollment to associate users to target classes. So really useful in order to easily set up all of your Tenant.

So let’s move to the demo environment, and let’s see how to do that in practice. So once you have configured your Microsoft 365 EDU Tenant, you can simply go through your browser to sds.microsoft.com. And from there, you will simply have to sign in. And by signing in with your Tenant admin account, you will be able to configure through School Data Sync a sync profile. As you can see if I click on add profile, I can create a new profile, “Sync Profile 2020-2021”. For example, I can choose what kind of input files or technology I want to use. It might be CSV files or a connected API. And if CSV file, we can choose the version of the CSV files.

And you will see later on in this video, a link to a GitHub repo, where you can find example files that you can use. Just to give you an idea, let me show you a sample, really simple, solution that I configured and created. So first of all, we have an organization.CSV file, where we define our organization here. Here I simply define my school with the name and with the type of school. But you can define a more deeper hierarchy in your solution in your Tenant.

Once I have defined the school, I can go to the classes.CSV file. And here I define a couple of classes, math and chemistry, which will have a source ID as well as an organization source ID. And this is the ID of the organization, school item that I just showed you before. And this will be the ID of the two different classes that I’m going to create.

Then I can configure users. And there will be a user.CSV file where you have to associate users to a specific organization. Again, all of the users will have a unique ID. You can have an ID which will identify as a cluster the staff and the teacher, for example, and another one for the students. Here I have a staff user just for the sake of making an example, a couple of teachers, and a couple of students, where they are user name, which will be the UPN of the users in the target Microsoft 365 Tenant.

And of course, you can provide a password, which in my case is a really fake one. But you should generate random passwords, different for every single user, and you should provide the credentials to all the users. Of course, the created users will have to reset their password after the very first login.

And here you can configure the role of the users. As well as for students, you can configure a grade based on an enumeration of values that are defined in the CSV file schemas. And you will find the link to the schema in the slide deck, when we will be back from this demo.

Once you’ve done that, you have to associate the users to the classes. And because of that, you use the enrollment.CSV file through which you map the source users and the source target class in order to define who belongs to which class. So here for example, I define that the first teacher is the teacher of the first class. The second one is the teacher of the other class. I placed both of the student in the first class, and just the first student in the second class. As well as I placed the staff user in both of the classes, just in case of need.

So by using these files, I can upload these files into SDS and make it happen to have the sync. So let me go to school data sync, and let me start the upload of all of my files. So this is the name of my profile. I will use CSV files in format V2. Start. I can define if I want to provide my settings targeting a set of already existing users in my target Tenant, or if I want to create new users. Which is my scenario because I want the school data sync tool to create all of the users defining my CSV files into the target Tenant.

I need to upload the files. So let me browse for those files. Add files. Let me go to the folder where I have them, which is my GitHub repository, where I store my conference samples, including this one. I will select all of the four files, and I will upload them. Once I’ve done that, okay, the upload is completed. I can define some additional properties. For example, for the organization I can define if I want to have a hierarchy with a parent source ID. For the classes, I can define custom properties as well.

Then I can define, at least, what to do when the school data sync synchronization process will handle all of the classes. For example, here I’m selecting by default that I want to create a team for every class. I want to replace unsupported characters in user names or class names when creating resources. I can allow to sync the class group name with the display name, so that I can allow staff people to overwrite, eventually, the names generated for me. I can even delay the access to the students.

So that I can say, for example, now I want to set up my environment, but it’s still too early to give access to the environment, to my users, to my students. So let’s choose this one, and the final date since when they will be able to access the environment. Before that date, they will not be able to use their credentials. I don’t want to do that right now. And then I can also declare, and I need to declare because it is a required field, how long will this information live in my target Tenant. Meaning that I can define and expire date for these settings that I’m importing.

Just to make an example, let me go to the end of the school. At least here in Italy, usually it ends in mid-June, so let me select the 15th of June. And that’s it. Now I’m ready to start the process. But before being able to import all of the information, I need to associate proper licenses to the newly created users.

So first of all, for every user, I can select which properties I want to import. And because I have a grade property for students, I will select this one as well. Moreover, for staff licenses, I will use the faculty licenses. And for users, I will use the student one. Once I’ve done that, I can simply review all of the settings for my synchronization configuration, and I can create the profile that I just configured.

So now the school data sync system will start processing the CSV files, and in a matter of few minutes all of the users will be created with their default password and with a password reset policy. All the classes will be created as teams in Microsoft Teams, and all the users will be associated to the correct classes. So simple as that, we can wait for a while and when the synchronization will be completed, we will see the result in practice.

Now, the school data sync system is validating the uploaded files. Now, the school data sync services is processing our input files. And I can even refresh and see how it goes. Still working on it. And in a matter of few minutes from now, the import process will be completed. We can also click on the sync dashboard and we can see out it is proceeding through the dashboard UI. And you can see here it is working on it.

And now the sync profile is fully synchronized and processed. So we can go back to our admin portal. We can go to users. And here we will find the created users, so the staff, the two students, and the two teachers. And we can go to the admin UI of Microsoft Teams. And there, we will find that in the teams section, manage teams, that we have our math and chemistry classes. Just for the sake of simplicity, let me click on math, for example.

And here we can see that we have our teacher assigned as owner, as well as the staff user as owner, and a student one and student two as members. I can also add myself. So my admin account as a member for this team, just to being able to access the team. And I will upgrade myself as an owner of the team, so that if I will go to teams.microsoft.com, here I can see that I have the math class. I can click on it, and I can see my class.

Here you see some useful links, which you can give an eye in order to dig into the topic we covered. And like always, I hope you found this video interesting. And I’m really looking forward to seeing you next week. And remember, subscribe to this channel. Thank you.