<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inlogic.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cna</id>
	<title>UmsWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inlogic.dk/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cna"/>
	<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php/Special:Contributions/Cna"/>
	<updated>2026-05-28T19:56:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4784</id>
		<title>Configurator/SMS Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4784"/>
		<updated>2023-11-29T14:53:11Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Choose the desired SMS Gateway solution=&lt;br /&gt;
&lt;br /&gt;
==Stand alone==&lt;br /&gt;
This is a hardware box delivered by inLogic.&lt;br /&gt;
&lt;br /&gt;
[[InLogic SMS Gateway]][[File:SMS Server StandAlone inLogic Modem.jpg|none|thumb|570x570px]]&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the inLogic gateway&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
This cannot be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password of a sendsms user. This password can be change on the gateway&lt;br /&gt;
&lt;br /&gt;
==Gateway server==&lt;br /&gt;
This is a server program that can combine more inLogic gateways.[[File:SMS Server GateWayServer.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the gateway server&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
Enter the username for the webservices. Default is &amp;quot;WebserviceUser&amp;quot; but can be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password for the user. This has to be setup at first install of the GateWay server program. The password generated at install is random.&lt;br /&gt;
&lt;br /&gt;
==SMS Provider==&lt;br /&gt;
This option allows you to choose between a list of internet SMS providers that UMS integrates with.&lt;br /&gt;
&lt;br /&gt;
===[https://gatewayapi.eu/ gatewayapi.eu]===&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Remember to create an account first. (in Danish)&lt;br /&gt;
&lt;br /&gt;
# Opret en konto hos GatewayAPI.eu  (Det er vigtigt I vælger .EU ved oprettelse)&lt;br /&gt;
# Kontakter deres support via Chat-funktionen og meddeler at I er &#039;&#039;&#039;Inlogic kunde&#039;&#039;&#039; (Reference udløser rabatten pr sms) - Support er på dansk, selv om chatbot er engelsk…&lt;br /&gt;
# Bed også GatewayAPI-support oprette jer som &#039;&#039;&#039;faktura-kunde&#039;&#039;&#039;, med mindre I vil styre udgiften med betalingskort.&lt;br /&gt;
# Hvis I skal benytte indgående SMS funktion, vil et SMS-nummer også være fordelagtigt - Dette kan også bestilles via Keywords &amp;amp; Numbers på siden&lt;br /&gt;
&lt;br /&gt;
=== SMS Server Settings ===&lt;br /&gt;
[[File:SMS Server SMSProvider gatewayapi.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
===Callback URL===&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
===Region===&lt;br /&gt;
Select the region to COM or EU.&lt;br /&gt;
&lt;br /&gt;
===Sender===&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
===API Token===&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
It is found on the gatewayapi site under API-&amp;gt;API keys-&amp;gt;Get Key/Token&lt;br /&gt;
&lt;br /&gt;
===Keyword===&lt;br /&gt;
This is used when your using a keyword in gatewayapi.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
===Configuration settings at gatewayapi===&lt;br /&gt;
Setup a REST web hook to catch incoming SMS and send them to UMS. This is setup under API-&amp;gt;Web Hooks-&amp;gt;Rest-&amp;gt;Add new&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/gatewayapi.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/gatewayapi.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
Under keywords for the web hook assign the phone number and/or the keyword.&lt;br /&gt;
&lt;br /&gt;
=== IP Filter notification ===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; If you filter IPs, note that we will call your webhook from the &#039;&#039;&#039;IPs 35.241.147.191 and 35.233.1.105&#039;&#039;&#039;. In the future we may add IPs.&lt;br /&gt;
&lt;br /&gt;
=== URL Whitelisting ===&lt;br /&gt;
To make SMS password-reset work, the URL of UMS.yourdomain.dk needs to be whitelisted at GatewayAPI. This is done in their API settings.&lt;br /&gt;
&lt;br /&gt;
==[https://www.sinch.com/ Sinch.com]==&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
[[File:SMS Server SMSProvider Sinch.jpg|none|thumb|500x500px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====Service plan id====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in Sinch.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at Sinch.com====&lt;br /&gt;
Setup a Callback URL for the virtual number to catch incoming SMS and send them to UMS. This is setup here https://dashboard.sinch.com/numbers/your-numbers/numbers. Choose the correct virtual number.&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/Sinch.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/Sinch.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
=Default settings=&lt;br /&gt;
[[File:SMS Server Settings.jpg|none|thumb|518x518px]]&lt;br /&gt;
&lt;br /&gt;
====Keep SMS log====&lt;br /&gt;
Set how many days to keep SMS entries in the database.&lt;br /&gt;
&lt;br /&gt;
====Resend====&lt;br /&gt;
Set how many times the gateway will try to send the SMS, before sending the text in an e-mail.&lt;br /&gt;
&lt;br /&gt;
====Country code====&lt;br /&gt;
This is used to identify the country where the SIM cards are registered.&lt;br /&gt;
&lt;br /&gt;
====Max reply time====&lt;br /&gt;
Set the number of minutes the user has to answer a received mail.&lt;br /&gt;
&lt;br /&gt;
====Local number length====&lt;br /&gt;
Define how long the phone numbers for the country code is.&lt;br /&gt;
&lt;br /&gt;
====SMS Start time====&lt;br /&gt;
Choose time of day from when it is possible to send messages using UMS.&lt;br /&gt;
&lt;br /&gt;
====SMS end time====&lt;br /&gt;
Choose time of day when it is no longer possible to send messages using UMS.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4783</id>
		<title>Configurator/SMS Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4783"/>
		<updated>2023-11-29T14:51:48Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Choose the desired SMS Gateway solution=&lt;br /&gt;
&lt;br /&gt;
==Stand alone==&lt;br /&gt;
This is a hardware box delivered by inLogic.&lt;br /&gt;
&lt;br /&gt;
[[InLogic SMS Gateway]][[File:SMS Server StandAlone inLogic Modem.jpg|none|thumb|570x570px]]&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the inLogic gateway&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
This cannot be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password of a sendsms user. This password can be change on the gateway&lt;br /&gt;
&lt;br /&gt;
==Gateway server==&lt;br /&gt;
This is a server program that can combine more inLogic gateways.[[File:SMS Server GateWayServer.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the gateway server&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
Enter the username for the webservices. Default is &amp;quot;WebserviceUser&amp;quot; but can be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password for the user. This has to be setup at first install of the GateWay server program. The password generated at install is random.&lt;br /&gt;
&lt;br /&gt;
==SMS Provider==&lt;br /&gt;
This option allows you to choose between a list of internet SMS providers that UMS integrates with.&lt;br /&gt;
&lt;br /&gt;
===[https://gatewayapi.eu/ gatewayapi.eu]===&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Remember to create an account first. (in Danish)&lt;br /&gt;
&lt;br /&gt;
# Opret en konto hos GatewayAPI.eu  (Det er vigtigt I vælger .EU ved oprettelse)&lt;br /&gt;
# Kontakter deres support via Chat-funktionen og meddeler at I er &#039;&#039;&#039;Inlogic kunde&#039;&#039;&#039; (Reference udløser rabatten pr sms) - Support er på dansk, selv om chatbot er engelsk…&lt;br /&gt;
# Bed også GatewayAPI-support oprette jer som &#039;&#039;&#039;faktura-kunde&#039;&#039;&#039;, med mindre I vil styre udgiften med betalingskort.&lt;br /&gt;
# Hvis I skal benytte indgående SMS funktion, vil et SMS-nummer også være fordelagtigt - Dette kan også bestilles via Keywords &amp;amp; Numbers på siden&lt;br /&gt;
[[File:SMS Server SMSProvider gatewayapi.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
===Callback URL===&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
===Region===&lt;br /&gt;
Select the region to COM or EU.&lt;br /&gt;
&lt;br /&gt;
===Sender===&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
===API Token===&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
It is found on the gatewayapi site under API-&amp;gt;API keys-&amp;gt;Get Key/Token&lt;br /&gt;
&lt;br /&gt;
===Keyword===&lt;br /&gt;
This is used when your using a keyword in gatewayapi.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
===Configuration settings at gatewayapi===&lt;br /&gt;
Setup a REST web hook to catch incoming SMS and send them to UMS. This is setup under API-&amp;gt;Web Hooks-&amp;gt;Rest-&amp;gt;Add new&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/gatewayapi.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/gatewayapi.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
Under keywords for the web hook assign the phone number and/or the keyword.&lt;br /&gt;
&lt;br /&gt;
=== IP Filter notification ===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; If you filter IPs, note that we will call your webhook from the &#039;&#039;&#039;IPs 35.241.147.191 and 35.233.1.105&#039;&#039;&#039;. In the future we may add IPs.&lt;br /&gt;
&lt;br /&gt;
=== URL Whitelisting ===&lt;br /&gt;
To make SMS password-reset work, the URL of UMS.yourdomain.dk needs to be whitelisted at GatewayAPI. This is done in their API settings.&lt;br /&gt;
&lt;br /&gt;
==[https://www.sinch.com/ Sinch.com]==&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
[[File:SMS Server SMSProvider Sinch.jpg|none|thumb|500x500px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====Service plan id====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in Sinch.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at Sinch.com====&lt;br /&gt;
Setup a Callback URL for the virtual number to catch incoming SMS and send them to UMS. This is setup here https://dashboard.sinch.com/numbers/your-numbers/numbers. Choose the correct virtual number.&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/Sinch.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/Sinch.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
=Default settings=&lt;br /&gt;
[[File:SMS Server Settings.jpg|none|thumb|518x518px]]&lt;br /&gt;
&lt;br /&gt;
====Keep SMS log====&lt;br /&gt;
Set how many days to keep SMS entries in the database.&lt;br /&gt;
&lt;br /&gt;
====Resend====&lt;br /&gt;
Set how many times the gateway will try to send the SMS, before sending the text in an e-mail.&lt;br /&gt;
&lt;br /&gt;
====Country code====&lt;br /&gt;
This is used to identify the country where the SIM cards are registered.&lt;br /&gt;
&lt;br /&gt;
====Max reply time====&lt;br /&gt;
Set the number of minutes the user has to answer a received mail.&lt;br /&gt;
&lt;br /&gt;
====Local number length====&lt;br /&gt;
Define how long the phone numbers for the country code is.&lt;br /&gt;
&lt;br /&gt;
====SMS Start time====&lt;br /&gt;
Choose time of day from when it is possible to send messages using UMS.&lt;br /&gt;
&lt;br /&gt;
====SMS end time====&lt;br /&gt;
Choose time of day when it is no longer possible to send messages using UMS.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4782</id>
		<title>Configurator/SMS Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4782"/>
		<updated>2023-11-29T14:51:17Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Choose the desired SMS Gateway solution=&lt;br /&gt;
&lt;br /&gt;
==Stand alone==&lt;br /&gt;
This is a hardware box delivered by inLogic.&lt;br /&gt;
&lt;br /&gt;
[[InLogic SMS Gateway]][[File:SMS Server StandAlone inLogic Modem.jpg|none|thumb|570x570px]]&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the inLogic gateway&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
This cannot be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password of a sendsms user. This password can be change on the gateway&lt;br /&gt;
&lt;br /&gt;
==Gateway server==&lt;br /&gt;
This is a server program that can combine more inLogic gateways.[[File:SMS Server GateWayServer.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the gateway server&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
Enter the username for the webservices. Default is &amp;quot;WebserviceUser&amp;quot; but can be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password for the user. This has to be setup at first install of the GateWay server program. The password generated at install is random.&lt;br /&gt;
&lt;br /&gt;
==SMS Provider==&lt;br /&gt;
This option allows you to choose between a list of internet SMS providers that UMS integrates with.&lt;br /&gt;
&lt;br /&gt;
===[https://gatewayapi.eu/ gatewayapi.eu]===&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Remember to create an account first. (in Danish)&lt;br /&gt;
&lt;br /&gt;
# Opret en konto hos GatewayAPI.eu  (Det er vigtigt I vælger .EU ved oprettelse)&lt;br /&gt;
# Kontakter deres support via Chat-funktionen og meddeler at I er &#039;&#039;&#039;Inlogic kunde&#039;&#039;&#039; (Reference udløser rabatten pr sms) - Support er på dansk, selv om chatbot er engelsk…&lt;br /&gt;
# Bed også GatewayAPI-support oprette jer som &#039;&#039;&#039;faktura-kunde&#039;&#039;&#039;, med mindre I vil styre udgiften med betalingskort.&lt;br /&gt;
# Hvis I skal benytte indgående SMS funktion, vil et SMS-nummer også være fordelagtigt - Dette kan også bestilles via Keywords &amp;amp; Numbers på siden&lt;br /&gt;
&lt;br /&gt;
[[File:SMS Server SMSProvider gatewayapi.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
===Callback URL===&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
===Region===&lt;br /&gt;
Select the region to COM or EU.&lt;br /&gt;
&lt;br /&gt;
===Sender===&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
===API Token===&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
It is found on the gatewayapi site under API-&amp;gt;API keys-&amp;gt;Get Key/Token&lt;br /&gt;
&lt;br /&gt;
===Keyword===&lt;br /&gt;
This is used when your using a keyword in gatewayapi.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
===Configuration settings at gatewayapi===&lt;br /&gt;
Setup a REST web hook to catch incoming SMS and send them to UMS. This is setup under API-&amp;gt;Web Hooks-&amp;gt;Rest-&amp;gt;Add new&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/gatewayapi.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/gatewayapi.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
Under keywords for the web hook assign the phone number and/or the keyword.&lt;br /&gt;
&lt;br /&gt;
=== IP Filter notification ===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; If you filter IPs, note that we will call your webhook from the &#039;&#039;&#039;IPs 35.241.147.191 and 35.233.1.105&#039;&#039;&#039;. In the future we may add IPs.&lt;br /&gt;
&lt;br /&gt;
=== URL Whitelisting ===&lt;br /&gt;
To make SMS password-reset work, the URL of UMS.yourdomain.dk needs to be whitelisted at GatewayAPI. This is done in their API settings.&lt;br /&gt;
&lt;br /&gt;
==[https://www.sinch.com/ Sinch.com]==&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
[[File:SMS Server SMSProvider Sinch.jpg|none|thumb|500x500px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====Service plan id====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in Sinch.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at Sinch.com====&lt;br /&gt;
Setup a Callback URL for the virtual number to catch incoming SMS and send them to UMS. This is setup here https://dashboard.sinch.com/numbers/your-numbers/numbers. Choose the correct virtual number.&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/Sinch.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/Sinch.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
=Default settings=&lt;br /&gt;
[[File:SMS Server Settings.jpg|none|thumb|518x518px]]&lt;br /&gt;
&lt;br /&gt;
====Keep SMS log====&lt;br /&gt;
Set how many days to keep SMS entries in the database.&lt;br /&gt;
&lt;br /&gt;
====Resend====&lt;br /&gt;
Set how many times the gateway will try to send the SMS, before sending the text in an e-mail.&lt;br /&gt;
&lt;br /&gt;
====Country code====&lt;br /&gt;
This is used to identify the country where the SIM cards are registered.&lt;br /&gt;
&lt;br /&gt;
====Max reply time====&lt;br /&gt;
Set the number of minutes the user has to answer a received mail.&lt;br /&gt;
&lt;br /&gt;
====Local number length====&lt;br /&gt;
Define how long the phone numbers for the country code is.&lt;br /&gt;
&lt;br /&gt;
====SMS Start time====&lt;br /&gt;
Choose time of day from when it is possible to send messages using UMS.&lt;br /&gt;
&lt;br /&gt;
====SMS end time====&lt;br /&gt;
Choose time of day when it is no longer possible to send messages using UMS.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4781</id>
		<title>Configurator/SMS Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4781"/>
		<updated>2023-11-29T14:49:25Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* gatewayapi.eu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Choose the desired SMS Gateway solution=&lt;br /&gt;
&lt;br /&gt;
==Stand alone==&lt;br /&gt;
This is a hardware box delivered by inLogic.&lt;br /&gt;
&lt;br /&gt;
[[InLogic SMS Gateway]][[File:SMS Server StandAlone inLogic Modem.jpg|none|thumb|570x570px]]&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the inLogic gateway&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
This cannot be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password of a sendsms user. This password can be change on the gateway&lt;br /&gt;
&lt;br /&gt;
==Gateway server==&lt;br /&gt;
This is a server program that can combine more inLogic gateways.[[File:SMS Server GateWayServer.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the gateway server&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
Enter the username for the webservices. Default is &amp;quot;WebserviceUser&amp;quot; but can be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password for the user. This has to be setup at first install of the GateWay server program. The password generated at install is random.&lt;br /&gt;
&lt;br /&gt;
==SMS Provider==&lt;br /&gt;
This option allows you to choose between a list of internet SMS providers that UMS integrates with.&lt;br /&gt;
&lt;br /&gt;
===[https://gatewayapi.eu/ gatewayapi.eu]===&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
&amp;lt;!-- 1.	Opret en konto hos GatewayAPI.eu  (Det er vigtigt I vælger .EU ved oprettelse)&lt;br /&gt;
2.	Kontakter deres support via Chat-funktionen og meddeler at I er Inlogic kunde (Reference udløser rabatten pr sms)&lt;br /&gt;
- Support er på dansk, selv om chatbot er engelsk…&lt;br /&gt;
3.	Bed også GatewayAPI-support oprette jer som faktura-kunde, med mindre I vil styre udgiften med betalingskort.&lt;br /&gt;
4.	Hvis I skal benytte indgående SMS funktion, vil et SMS-nummer også være fordelagtigt&lt;br /&gt;
- Dette kan også bestilles via Keywords &amp;amp; Numbers på siden&lt;br /&gt;
&lt;br /&gt;
 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SMS Server SMSProvider gatewayapi.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
===Callback URL===&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
===Region===&lt;br /&gt;
Select the region to COM or EU.&lt;br /&gt;
&lt;br /&gt;
===Sender===&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
===API Token===&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
It is found on the gatewayapi site under API-&amp;gt;API keys-&amp;gt;Get Key/Token&lt;br /&gt;
&lt;br /&gt;
===Keyword===&lt;br /&gt;
This is used when your using a keyword in gatewayapi.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
===Configuration settings at gatewayapi===&lt;br /&gt;
Setup a REST web hook to catch incoming SMS and send them to UMS. This is setup under API-&amp;gt;Web Hooks-&amp;gt;Rest-&amp;gt;Add new&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/gatewayapi.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/gatewayapi.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
Under keywords for the web hook assign the phone number and/or the keyword.&lt;br /&gt;
&lt;br /&gt;
=== IP Filter notification ===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; If you filter IPs, note that we will call your webhook from the &#039;&#039;&#039;IPs 35.241.147.191 and 35.233.1.105&#039;&#039;&#039;. In the future we may add IPs.&lt;br /&gt;
&lt;br /&gt;
=== URL Whitelisting ===&lt;br /&gt;
To make SMS password-reset work, the URL of UMS.yourdomain.dk needs to be whitelisted at GatewayAPI. This is done in their API settings.&lt;br /&gt;
&lt;br /&gt;
==[https://www.sinch.com/ Sinch.com]==&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
[[File:SMS Server SMSProvider Sinch.jpg|none|thumb|500x500px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====Service plan id====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in Sinch.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at Sinch.com====&lt;br /&gt;
Setup a Callback URL for the virtual number to catch incoming SMS and send them to UMS. This is setup here https://dashboard.sinch.com/numbers/your-numbers/numbers. Choose the correct virtual number.&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/Sinch.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/Sinch.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
=Default settings=&lt;br /&gt;
[[File:SMS Server Settings.jpg|none|thumb|518x518px]]&lt;br /&gt;
&lt;br /&gt;
====Keep SMS log====&lt;br /&gt;
Set how many days to keep SMS entries in the database.&lt;br /&gt;
&lt;br /&gt;
====Resend====&lt;br /&gt;
Set how many times the gateway will try to send the SMS, before sending the text in an e-mail.&lt;br /&gt;
&lt;br /&gt;
====Country code====&lt;br /&gt;
This is used to identify the country where the SIM cards are registered.&lt;br /&gt;
&lt;br /&gt;
====Max reply time====&lt;br /&gt;
Set the number of minutes the user has to answer a received mail.&lt;br /&gt;
&lt;br /&gt;
====Local number length====&lt;br /&gt;
Define how long the phone numbers for the country code is.&lt;br /&gt;
&lt;br /&gt;
====SMS Start time====&lt;br /&gt;
Choose time of day from when it is possible to send messages using UMS.&lt;br /&gt;
&lt;br /&gt;
====SMS end time====&lt;br /&gt;
Choose time of day when it is no longer possible to send messages using UMS.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Merge_Letters&amp;diff=4780</id>
		<title>Merge Letters</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Merge_Letters&amp;diff=4780"/>
		<updated>2023-10-27T10:02:10Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Merge Letters is an effective tool, which makes it easy to print standard documents for a variety of different purposes, e.g. class lists for attendance registration and welcome letters. By using the module, you save time and avoid having to insert data in standard documents manually. You also make sure the data is inserted in the right place and that the documents thereby reach the intended receiver. The module merges data variables you choose from UMS with the text you want. For example, it is easy to insert the students’ names and addresses into welcome letters.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
[[UMS Academic Web]]&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
Test a newly created merge letter with variables&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
To use the merge letters, you’ll need to setup the search settings in the configurator.&lt;br /&gt;
[[File:Mergelettersetup.png|none|thumb|791x791px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
=== Examples of Merge Letters ===&lt;br /&gt;
[https://www.inlogic.dk/support/flettebreve/ On inlogic.dk you can find examples of different Merge Letter types]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4779</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4779"/>
		<updated>2023-10-25T12:14:41Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* UMS Graph API connection in Office365 Tenant settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Notice when using &amp;quot;Check Login in Azure AD&amp;quot; in Web Setup ===&lt;br /&gt;
In order to work the user-domain needs to be configured in both Office365 Tenant-settings and User-settings.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|thumb|none]]&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.[[File:Azure_App_Registration_Authentication.png|none|thumb|700x700px]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4778</id>
		<title>Configurator/SMS Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4778"/>
		<updated>2023-10-25T11:44:45Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* IP Filter notification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Choose the desired SMS Gateway solution=&lt;br /&gt;
&lt;br /&gt;
==Stand alone==&lt;br /&gt;
This is a hardware box delivered by inLogic.&lt;br /&gt;
&lt;br /&gt;
[[InLogic SMS Gateway]][[File:SMS Server StandAlone inLogic Modem.jpg|none|thumb|570x570px]]&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the inLogic gateway&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
This cannot be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password of a sendsms user. This password can be change on the gateway&lt;br /&gt;
&lt;br /&gt;
==Gateway server==&lt;br /&gt;
This is a server program that can combine more inLogic gateways.[[File:SMS Server GateWayServer.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the gateway server&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
Enter the username for the webservices. Default is &amp;quot;WebserviceUser&amp;quot; but can be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password for the user. This has to be setup at first install of the GateWay server program. The password generated at install is random.&lt;br /&gt;
&lt;br /&gt;
==SMS Provider==&lt;br /&gt;
This option allows you to choose between a list of internet SMS providers that UMS integrates with.&lt;br /&gt;
&lt;br /&gt;
===[https://gatewayapi.eu/ gatewayapi.eu]===&lt;br /&gt;
Remember to create an account first.[[File:SMS Server SMSProvider gatewayapi.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
===Callback URL===&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
===Region===&lt;br /&gt;
Select the region to COM or EU.&lt;br /&gt;
&lt;br /&gt;
===Sender===&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
===API Token===&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
It is found on the gatewayapi site under API-&amp;gt;API keys-&amp;gt;Get Key/Token&lt;br /&gt;
&lt;br /&gt;
===Keyword===&lt;br /&gt;
This is used when your using a keyword in gatewayapi.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
===Configuration settings at gatewayapi===&lt;br /&gt;
Setup a REST web hook to catch incoming SMS and send them to UMS. This is setup under API-&amp;gt;Web Hooks-&amp;gt;Rest-&amp;gt;Add new&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/gatewayapi.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/gatewayapi.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
Under keywords for the web hook assign the phone number and/or the keyword.&lt;br /&gt;
&lt;br /&gt;
=== IP Filter notification ===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; If you filter IPs, note that we will call your webhook from the &#039;&#039;&#039;IPs 35.241.147.191 and 35.233.1.105&#039;&#039;&#039;. In the future we may add IPs.&lt;br /&gt;
&lt;br /&gt;
=== URL Whitelisting ===&lt;br /&gt;
To make SMS password-reset work, the URL of UMS.yourdomain.dk needs to be whitelisted at GatewayAPI. This is done in their API settings.&lt;br /&gt;
&lt;br /&gt;
==[https://www.sinch.com/ Sinch.com]==&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
[[File:SMS Server SMSProvider Sinch.jpg|none|thumb|500x500px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====Service plan id====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in Sinch.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at Sinch.com====&lt;br /&gt;
Setup a Callback URL for the virtual number to catch incoming SMS and send them to UMS. This is setup here https://dashboard.sinch.com/numbers/your-numbers/numbers. Choose the correct virtual number.&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/Sinch.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/Sinch.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
=Default settings=&lt;br /&gt;
[[File:SMS Server Settings.jpg|none|thumb|518x518px]]&lt;br /&gt;
&lt;br /&gt;
====Keep SMS log====&lt;br /&gt;
Set how many days to keep SMS entries in the database.&lt;br /&gt;
&lt;br /&gt;
====Resend====&lt;br /&gt;
Set how many times the gateway will try to send the SMS, before sending the text in an e-mail.&lt;br /&gt;
&lt;br /&gt;
====Country code====&lt;br /&gt;
This is used to identify the country where the SIM cards are registered.&lt;br /&gt;
&lt;br /&gt;
====Max reply time====&lt;br /&gt;
Set the number of minutes the user has to answer a received mail.&lt;br /&gt;
&lt;br /&gt;
====Local number length====&lt;br /&gt;
Define how long the phone numbers for the country code is.&lt;br /&gt;
&lt;br /&gt;
====SMS Start time====&lt;br /&gt;
Choose time of day from when it is possible to send messages using UMS.&lt;br /&gt;
&lt;br /&gt;
====SMS end time====&lt;br /&gt;
Choose time of day when it is no longer possible to send messages using UMS.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4771</id>
		<title>Configurator/SMS Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4771"/>
		<updated>2023-10-18T11:09:54Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Configuration settings at Sinch.com */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Choose the desired SMS Gateway solution=&lt;br /&gt;
&lt;br /&gt;
==Stand alone==&lt;br /&gt;
This is a hardware box delivered by inLogic.&lt;br /&gt;
&lt;br /&gt;
[[InLogic SMS Gateway]][[File:SMS Server StandAlone inLogic Modem.jpg|none|thumb|570x570px]]&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the inLogic gateway&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
This cannot be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password of a sendsms user. This password can be change on the gateway&lt;br /&gt;
&lt;br /&gt;
==Gateway server==&lt;br /&gt;
This is a server program that can combine more inLogic gateways.[[File:SMS Server GateWayServer.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the gateway server&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
Enter the username for the webservices. Default is &amp;quot;WebserviceUser&amp;quot; but can be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password for the user. This has to be setup at first install of the GateWay server program. The password generated at install is random.&lt;br /&gt;
&lt;br /&gt;
==SMS Provider==&lt;br /&gt;
This option allows you to choose between a list of internet SMS providers that UMS integrates with.&lt;br /&gt;
&lt;br /&gt;
===[https://gatewayapi.eu/ gatewayapi.eu]===&lt;br /&gt;
Remember to create an account first.[[File:SMS Server SMSProvider gatewayapi.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
===Callback URL===&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
===Region===&lt;br /&gt;
Select the region to COM or EU.&lt;br /&gt;
&lt;br /&gt;
===Sender===&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
===API Token===&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
It is found on the gatewayapi site under API-&amp;gt;API keys-&amp;gt;Get Key/Token&lt;br /&gt;
&lt;br /&gt;
===Keyword===&lt;br /&gt;
This is used when your using a keyword in gatewayapi.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
===Configuration settings at gatewayapi===&lt;br /&gt;
Setup a REST web hook to catch incoming SMS and send them to UMS. This is setup under API-&amp;gt;Web Hooks-&amp;gt;Rest-&amp;gt;Add new&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/gatewayapi.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/gatewayapi.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
Under keywords for the web hook assign the phone number and/or the keyword.&lt;br /&gt;
&lt;br /&gt;
=== IP Filter notification ===&lt;br /&gt;
&amp;lt;nowiki&amp;gt;**&amp;lt;/nowiki&amp;gt; If you filter IPs, note that we will call your webhook from the &#039;&#039;&#039;IPs 35.241.147.191 and 35.233.1.105&#039;&#039;&#039;. In the future we may add IPs.&lt;br /&gt;
&lt;br /&gt;
==[https://www.sinch.com/ Sinch.com]==&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
[[File:SMS Server SMSProvider Sinch.jpg|none|thumb|500x500px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====Service plan id====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in Sinch.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at Sinch.com====&lt;br /&gt;
Setup a Callback URL for the virtual number to catch incoming SMS and send them to UMS. This is setup here https://dashboard.sinch.com/numbers/your-numbers/numbers. Choose the correct virtual number.&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/Sinch.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/Sinch.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
=Default settings=&lt;br /&gt;
[[File:SMS Server Settings.jpg|none|thumb|518x518px]]&lt;br /&gt;
&lt;br /&gt;
====Keep SMS log====&lt;br /&gt;
Set how many days to keep SMS entries in the database.&lt;br /&gt;
&lt;br /&gt;
====Resend====&lt;br /&gt;
Set how many times the gateway will try to send the SMS, before sending the text in an e-mail.&lt;br /&gt;
&lt;br /&gt;
====Country code====&lt;br /&gt;
This is used to identify the country where the SIM cards are registered.&lt;br /&gt;
&lt;br /&gt;
====Max reply time====&lt;br /&gt;
Set the number of minutes the user has to answer a received mail.&lt;br /&gt;
&lt;br /&gt;
====Local number length====&lt;br /&gt;
Define how long the phone numbers for the country code is.&lt;br /&gt;
&lt;br /&gt;
====SMS Start time====&lt;br /&gt;
Choose time of day from when it is possible to send messages using UMS.&lt;br /&gt;
&lt;br /&gt;
====SMS end time====&lt;br /&gt;
Choose time of day when it is no longer possible to send messages using UMS.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=MitIDErhverv&amp;diff=4770</id>
		<title>MitIDErhverv</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=MitIDErhverv&amp;diff=4770"/>
		<updated>2023-10-18T09:36:25Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Authenticators */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==UMS Configurator settings==&lt;br /&gt;
[[File:MitID Erhverv Settings.jpg|none|frame]]&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
Insert a name or description for the setting&lt;br /&gt;
&lt;br /&gt;
===Admin servers===&lt;br /&gt;
Choose the admin server created here [[AdminServers/MitIDErhverv|MitID Erhverv]]&lt;br /&gt;
&lt;br /&gt;
===Maintain groups===&lt;br /&gt;
This will created/update and delete groups.&lt;br /&gt;
&lt;br /&gt;
It will also add users and remove them again.&lt;br /&gt;
&lt;br /&gt;
These groups can be used to add security to users based on group membership.&lt;br /&gt;
&lt;br /&gt;
=== Authenticators ===&lt;br /&gt;
Choose the authenticators to add to users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING : If &amp;quot;Kodeviser&amp;quot;, &amp;quot;Chip&amp;quot; or &amp;quot;Kodeoplæser&amp;quot; is chosen, it will result in immediately ordering of the hardware upon user creation.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The hardware costs money, so be careful to get approval from customer before enabling these choices.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
===SQL Sentence===&lt;br /&gt;
Insert parameters for filtering purposes&lt;br /&gt;
&lt;br /&gt;
You can test it by using this SQL command and appending your own SQL sentence.&lt;br /&gt;
&lt;br /&gt;
 Select Distinct Students.SLI_ID, Students.Fornavne As GivenName, Students.Efternavn As SurName, Students.CPR As CivilRegistrationNumber&lt;br /&gt;
 , Students.WorkMail&lt;br /&gt;
 From Students&lt;br /&gt;
 Where&lt;br /&gt;
 (StudieNr Is Not Null)&lt;br /&gt;
 And (UserTypes_ID = 0)&lt;br /&gt;
 And (SLI_ID Is Not Null)&lt;br /&gt;
 And (CPR Is Not Null)&lt;br /&gt;
 And (BirthDay Is Not Null)&lt;br /&gt;
 And (Fornavne Is Not Null)&lt;br /&gt;
 And (Fornavne &amp;lt;&amp;gt; &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;)&lt;br /&gt;
 And (Efternavn Is Not Null)&lt;br /&gt;
 And (Efternavn &amp;lt;&amp;gt; &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;)&lt;br /&gt;
 And (WorkMail Is Not Null)&lt;br /&gt;
 And (WorkMail &amp;lt;&amp;gt; &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;&#039;&#039;)&lt;br /&gt;
 And (Not Exists (Select SLI_ID From MitIDErhverv_Users Where MitIDErhverv_Users.SLI_ID = Students.SLI_ID))&lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;Your SQL Sentence&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Parameters ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Users&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|UsersOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateUsers&lt;br /&gt;
|Create users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateUsers&lt;br /&gt;
|Update users. This will also add authenticators if they are missing from the users.&lt;br /&gt;
|-&lt;br /&gt;
|DeleteUsers&lt;br /&gt;
|Delete users&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|GroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateGroups&lt;br /&gt;
|Create groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateGroups&lt;br /&gt;
|Update groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteGroups&lt;br /&gt;
|Delete groups&lt;br /&gt;
|-&lt;br /&gt;
|AddGroupMembers&lt;br /&gt;
|Add new members to groups&lt;br /&gt;
|-&lt;br /&gt;
|RemoveGroupMembers&lt;br /&gt;
|Remove members from groups if they are no longer member of the group in the source data&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
=== Find existing users ===&lt;br /&gt;
The user must be active for UMS to find the user otherwise it will create a new user.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4769</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4769"/>
		<updated>2023-09-22T11:59:15Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* FAQ : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|thumb|none]]&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.[[File:Azure_App_Registration_Authentication.png|none|thumb|700x700px]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4768</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4768"/>
		<updated>2023-09-22T11:57:33Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
[[File:Azure_App_Registration_Authentication.png|none|thumb|700x700px]]&lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4767</id>
		<title>SSO/Office365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=SSO/Office365&amp;diff=4767"/>
		<updated>2023-09-22T11:55:13Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* FAQ : */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;This feature requires the SSO module included in License&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You also need Office365 Tenant settings to be setup in configurator (Must be same tenant as users are synced with)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==How to use Office 365 as login provider instead of Active Directory==&lt;br /&gt;
You need to create an &#039;&#039;&#039;Enterprise application&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Login into [https://portal.azure.com/#blade/Microsoft_AAD_IAM/StartboardApplicationsMenuBlade/AllApps/menuId/ portal.azure.com]&lt;br /&gt;
&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;New application&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Create your own application&#039;&#039;&#039;&lt;br /&gt;
*Enter a name&lt;br /&gt;
*Choose &#039;&#039;&#039;Integrate any other application you don&#039;t find in the gallery (Non-gallery)&#039;&#039;&#039;&lt;br /&gt;
*Click Create (This will also create an &#039;&#039;&#039;App registration&#039;&#039;&#039;)&lt;br /&gt;
*Find &#039;&#039;&#039;Properties&#039;&#039;&#039; for the Enterprise application you just created&lt;br /&gt;
*Set &#039;&#039;&#039;User assignment required?&#039;&#039;&#039; and &#039;&#039;&#039;Visible to users?&#039;&#039;&#039; to false&lt;br /&gt;
*Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Single sign-on&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;SAML&#039;&#039;&#039;&lt;br /&gt;
**Click edit under &#039;&#039;&#039;Basic SAML Configuration&#039;&#039;&#039;&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Identifier (Entity ID)&#039;&#039;&#039;&lt;br /&gt;
****Enter the URL &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/{CustomerID}&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; replace {CustomerID} with you number. This can be found in the configurator program under license info&lt;br /&gt;
****Delete other URL&#039;s&lt;br /&gt;
***Enter this in &#039;&#039;&#039;Reply URL (Assertion Consumer Service URL)&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;&amp;lt;nowiki&amp;gt;https://{URL}/SSO/AssertionConsumerServiceAzureAd.aspx&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
**Under &#039;&#039;&#039;SAML Signing Certificate&#039;&#039;&#039;&lt;br /&gt;
***Click download for &#039;&#039;&#039;Certificate (RAW)&#039;&#039;&#039;&lt;br /&gt;
***This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
*Find &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;App registrations&#039;&#039;&#039;&lt;br /&gt;
*Find your application that was created as an &#039;&#039;&#039;Enterprise applications&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;API permissions&#039;&#039;&#039;&lt;br /&gt;
**Click &#039;&#039;&#039;Add a permission&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Microsoft Graph&#039;&#039;&#039;&lt;br /&gt;
****Click A&#039;&#039;&#039;pplication permissions&#039;&#039;&#039;&lt;br /&gt;
*****Add these permissions&lt;br /&gt;
******User.ReadWrite.All&lt;br /&gt;
******UserAuthenticationMethod.ReadWrite.All&lt;br /&gt;
**Click &#039;&#039;&#039;Grant admin consent for {Tenant}&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
*Open &#039;&#039;&#039;SQL Management Studio&#039;&#039;&#039; connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 1&lt;br /&gt;
*Open UMS web&lt;br /&gt;
**You will be redirected to SSO setup&lt;br /&gt;
***Click &#039;&#039;&#039;Add,&#039;&#039;&#039; enter a name and click &#039;&#039;&#039;Create&#039;&#039;&#039;&lt;br /&gt;
***Choose the name in the drop down and click &#039;&#039;&#039;Edit&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add&#039;&#039;&#039; under the section &#039;&#039;&#039;Create new Single Sign On&#039;&#039;&#039;&lt;br /&gt;
****Choose &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Type&#039;&#039;&#039; drop down&lt;br /&gt;
****In the boxes &#039;&#039;&#039;Name&#039;&#039;&#039;, &#039;&#039;&#039;SingleSignOnServiceUrl&#039;&#039;&#039; and &#039;&#039;&#039;SingleLogoutServiceUrl&#039;&#039;&#039; replace &#039;&#039;&#039;{TenantID}&#039;&#039;&#039; with the application id of your Enterprise application&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificateFile&#039;&#039;&#039; must be entered with a PFX certificate. This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****The &#039;&#039;&#039;LocalCertificatePassword&#039;&#039;&#039; must be entered to be able to read the PFX certificate&lt;br /&gt;
****The &#039;&#039;&#039;PartnerCertificateFile&#039;&#039;&#039; is a certificate the is generated during Azure SSO setup (The file downloaded from &#039;&#039;&#039;Certificate (Raw)&#039;&#039;&#039;). Remember to include the filename extension&lt;br /&gt;
*****This file must be placed in the root directory of your UMS Academic installation (Normally C:\inetpub\wwwroot)&lt;br /&gt;
****Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Enable&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Save&#039;&#039;&#039;&lt;br /&gt;
***Click &#039;&#039;&#039;Add to website&#039;&#039;&#039;&lt;br /&gt;
***Choose website setting and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
*Open UMS &#039;&#039;&#039;Configurator&#039;&#039;&#039; program&lt;br /&gt;
**Click &#039;&#039;&#039;Web Setup&#039;&#039;&#039;&lt;br /&gt;
**Select &#039;&#039;&#039;General settings&#039;&#039;&#039;&lt;br /&gt;
***Select &#039;&#039;&#039;Azure AD&#039;&#039;&#039; in the &#039;&#039;&#039;Check login against&#039;&#039;&#039; drop down list&lt;br /&gt;
*Open SQL Management Studio on the UMS Server and connect to the database&lt;br /&gt;
**Run this SQL Command&lt;br /&gt;
***Update UMSWebGeneralSettings Set SetSSO = 0&lt;br /&gt;
*Restart IIS&lt;br /&gt;
*The changes above may take some time to be distributed into Client Tenant system&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Reset password for others===&lt;br /&gt;
&lt;br /&gt;
*Go to &#039;&#039;&#039;Azure Active Directory&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Roles and administrators&#039;&#039;&#039;&lt;br /&gt;
*Find &#039;&#039;&#039;Password administrator&#039;&#039;&#039;&lt;br /&gt;
*Click &#039;&#039;&#039;Add assignments&#039;&#039;&#039;&lt;br /&gt;
*Find the name of the Enterprise application you created earlier&lt;br /&gt;
*Select it and click &#039;&#039;&#039;Add&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Change password ===&lt;br /&gt;
See also [[Password Change Azure AD]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Graph API connection in Office365 Tenant settings ===&lt;br /&gt;
When creating the Office365 tenant settings, just add the client_id and clientsecret from the SSO APP registration settings created above.&lt;br /&gt;
&lt;br /&gt;
‎ &lt;br /&gt;
&lt;br /&gt;
=== Cross-origin token redemption is permitted only for the &#039;Single-Page Application&#039; ===&lt;br /&gt;
If this error occurs, this is most likely the authentication settings on the UMS App registration. Web should be filled out with localhost as the image below displays and the Single-page application should be your UMS Web URL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In most cases this would be something like &amp;lt;nowiki&amp;gt;https://ums.enterschoolnamehere.dk&amp;lt;/nowiki&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[File:Azure_App_Registration_Authentication.png|frameless|300x300px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎  ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎   &lt;br /&gt;
&lt;br /&gt;
‎   &lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to connect it might be a matter of waiting for Client tenant distribution&lt;br /&gt;
[[File:SSO login error message.png|left|thumb]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Office_365&amp;diff=4743</id>
		<title>Office 365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Office_365&amp;diff=4743"/>
		<updated>2023-06-09T12:32:43Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Testing after setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our Office 365 SharePoint Portal is a dedicated solution for school, which want an easy-to-use learning portal. Students and teachers are often presented with advanced and complex solutions that does everything they need and then some and as a result, they are difficult to use. We have decided to do things differently and therefore the Office 365 SharePoint Portal gives you the features you need to get the most out of SharePoint. Nothing more, nothing less. The portal is simple and easy to use. This way you avoid confusion and having to navigate yet another complex system. In terms of design, you have two options: the portal can use our standard skin, as pictured above, or our second skin, which we made for primary schools.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
Users get created in Office 365&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then run these powershell commands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install/Update Powershell 7&lt;br /&gt;
&lt;br /&gt;
*Run in Powershell&lt;br /&gt;
 iex &amp;quot;&amp;amp; { $(irm &amp;lt;nowiki&amp;gt;https://aka.ms/install-powershell.ps1&amp;lt;/nowiki&amp;gt;) } -UseMSI&amp;quot;&lt;br /&gt;
*https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows&lt;br /&gt;
&lt;br /&gt;
Run these commands in Powershell 7 administrator mode:&lt;br /&gt;
&lt;br /&gt;
 #&#039;&#039;&#039;Enable TLS 1.2 for Powershell commands&#039;&#039;&#039;&lt;br /&gt;
 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12  &lt;br /&gt;
 &lt;br /&gt;
 $NugetPackageProvider = Get-PackageProvider -ListAvailable -Name NuGet -ErrorAction SilentlyContinue&lt;br /&gt;
 if (!$NugetPackageProvider) {Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Scope AllUsers -Force}&lt;br /&gt;
 &lt;br /&gt;
 $ExchangeOnlineManagement = Get-Module -ListAvailable -Name ExchangeOnlineManagement -ErrorAction SilentlyContinue&lt;br /&gt;
 if (!$ExchangeOnlineManagement) {Install-Module -Name ExchangeOnlineManagement -Scope AllUsers -Force}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use this command only if no repository is available&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Register-PSRepository -Default -Verbose&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If by accident or due to prior install in Powershell 5, you may receive this error : &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Connecting to remote server outlook.office365.com failed with the following error message :  For more information, see the about_Remote_Troubleshooting Help topic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Resolve by deleting this folder and rerun above commands in PS7 only.&lt;br /&gt;
&lt;br /&gt;
[[File:Snip.png|567x567px]]&lt;br /&gt;
&lt;br /&gt;
After reinstall use below command in scheduled task to run in correct PS-version.&lt;br /&gt;
&lt;br /&gt;
=== Run Scheduled Task like this ===&lt;br /&gt;
 &amp;quot;C:\Program Files\PowerShell\7\pwsh.exe&amp;quot; -c &amp;quot;&amp;amp; &#039;C:\Program Files\UserManagement\LiveAtEdu_Sync.exe&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Office 365 permissions ===&lt;br /&gt;
These are only needed if specific options are selected as described below.&lt;br /&gt;
&lt;br /&gt;
==== Exchange permissions ====&lt;br /&gt;
&lt;br /&gt;
* Recipient Management&lt;br /&gt;
** Users&lt;br /&gt;
*** Mailbox language&lt;br /&gt;
*** Mailbox time zone&lt;br /&gt;
*** Calendar Rights&lt;br /&gt;
*** Address book policy&lt;br /&gt;
*** Forward mail *&lt;br /&gt;
** Groups&lt;br /&gt;
*** All group operations&lt;br /&gt;
&lt;br /&gt;
===[[MSGraphPermissions|Graph permissions]]===&lt;br /&gt;
Updating specific attributes on Global admins is not allowed. https://docs.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&amp;amp;tabs=http&lt;br /&gt;
&lt;br /&gt;
A solution to this problem is to make the App registration member of the Global Admin role.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Office 365===&lt;br /&gt;
Enter Admin credentials for a service account with administrator privileges to access Office 365.&lt;br /&gt;
[[File:Office365 Setting.jpg|none|thumb|974x974px]]&lt;br /&gt;
&lt;br /&gt;
===Credentials===&lt;br /&gt;
&lt;br /&gt;
=====Tenant setting=====&lt;br /&gt;
Choose a tenant setting used for connection to Office 365-&lt;br /&gt;
&lt;br /&gt;
=====Domain=====&lt;br /&gt;
Enter the domain that you want the users and groups to have when they are created. E.g. &amp;lt;Username&amp;gt;@&amp;lt;Domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Users===&lt;br /&gt;
&lt;br /&gt;
=====Login=====&lt;br /&gt;
Choose what the users shall use to log in to Office365.&lt;br /&gt;
&lt;br /&gt;
======Mail Address======&lt;br /&gt;
Choose what to use as the users mail address.&lt;br /&gt;
&lt;br /&gt;
=====Enable password never expires=====&lt;br /&gt;
When marked the password will never expire for the users.&lt;br /&gt;
&lt;br /&gt;
=====Disable strong password=====&lt;br /&gt;
Use this to bypass the default password complexity.&lt;br /&gt;
&lt;br /&gt;
==== Change password at next logon ====&lt;br /&gt;
This will force users to change password the first time they login. This is only set on users that are created.&lt;br /&gt;
&lt;br /&gt;
=====Users are created through third party program=====&lt;br /&gt;
This normally means ADFS is used to synchronize users&lt;br /&gt;
&lt;br /&gt;
=====Forward mail to on premise mail server=====&lt;br /&gt;
This will forward the users Office 365 mail to the primary mail address from AD (If user does not have a proxy address it will read it from the mail attribute)&lt;br /&gt;
&lt;br /&gt;
=====Use Active Directory for info=====&lt;br /&gt;
This tells UMS to take Department, Title and Organization from AD instead of AD Attributes in UMS.&lt;br /&gt;
&lt;br /&gt;
=====Provision OneDrive=====&lt;br /&gt;
This will provision the users OneDrive after he has been created so the user will not have to wait for this when he accesses the OneDrive the first time.&lt;br /&gt;
&lt;br /&gt;
You will need to setup permissions for this to work.&lt;br /&gt;
&lt;br /&gt;
[[MSGraphPermissions#Setup SharePoint permissions]]&lt;br /&gt;
&lt;br /&gt;
=====Usage location=====&lt;br /&gt;
This will tell UMS to set usage location when creating a user&lt;br /&gt;
&lt;br /&gt;
=====Disable users=====&lt;br /&gt;
When marked the users will be disabled when they are no longer attending classes.&lt;br /&gt;
&lt;br /&gt;
=====Keep active before disabling x days=====&lt;br /&gt;
Specify a grace period where users are active before disabling.&lt;br /&gt;
&lt;br /&gt;
=====Delete users=====&lt;br /&gt;
Choose if users are to be deleted after grace period has ended.&lt;br /&gt;
&lt;br /&gt;
=====Keep disabled before deleting x days=====&lt;br /&gt;
Specify a grace period where users are disabled.&lt;br /&gt;
&lt;br /&gt;
=====Hide from address list=====&lt;br /&gt;
Hide the newly created item from address list. &lt;br /&gt;
&lt;br /&gt;
=====Mailbox language=====&lt;br /&gt;
Specify which language is to be default for the users.&lt;br /&gt;
&lt;br /&gt;
=====Mailbox time zone=====&lt;br /&gt;
Specify which time zone is to be default for the users.&lt;br /&gt;
&lt;br /&gt;
=====Calendar Rights=====&lt;br /&gt;
Set the calendar rights on a user when he is created&lt;br /&gt;
&lt;br /&gt;
=====Calendar object UPN=====&lt;br /&gt;
Specify the UPN to put on the users calendar with the rights specified below &lt;br /&gt;
&lt;br /&gt;
If using a group then it must be of type &amp;quot;&#039;&#039;&#039;Mail enabled security&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
====Group UPN for keep alive users====&lt;br /&gt;
Specify a group where users that is kept alive is a member of.&lt;br /&gt;
&lt;br /&gt;
This must be a Microsoft 365 group.&lt;br /&gt;
&lt;br /&gt;
UMS will create the group if it doesn&#039;t exist.&lt;br /&gt;
&lt;br /&gt;
====Group UPN for disabled users====&lt;br /&gt;
Specify a group where users that is disabled is a member of.&lt;br /&gt;
&lt;br /&gt;
This must be a Microsoft 365 group.&lt;br /&gt;
&lt;br /&gt;
UMS will create the group if it doesn&#039;t exist.&lt;br /&gt;
&lt;br /&gt;
===Template groups===&lt;br /&gt;
&lt;br /&gt;
====Maintain security group====&lt;br /&gt;
This will create the security group entered in the field template security group in the destination node in the template settings.&lt;br /&gt;
&lt;br /&gt;
====Maintain extra groups====&lt;br /&gt;
This will create all the groups from the [[Configurator/Extra groups|extra groups]] template tab. All users will have direct group member ship.&lt;br /&gt;
&lt;br /&gt;
===Distribution lists===&lt;br /&gt;
&lt;br /&gt;
====Maintain lists====&lt;br /&gt;
Mark this to create distribution groups in Office 365. The groups will be created, updated and deleted if this is specified.&lt;br /&gt;
&lt;br /&gt;
====Delete lists====&lt;br /&gt;
Mark this to delete distributions groups when they are no longer active in the administrative system. Check the data export manuals too when this happens&lt;br /&gt;
&lt;br /&gt;
====Delete unused lists after x days====&lt;br /&gt;
Specify in days how long the distribution groups are to be kept alive in Office 365 before deletion.&lt;br /&gt;
&lt;br /&gt;
====Only senders inside my organization====&lt;br /&gt;
With this marked only users in the domain will be able to send to distribution groups created by UMS.&lt;br /&gt;
&lt;br /&gt;
Disabling this will allow the groups to be visible in OneDrive and Classroom&lt;br /&gt;
&lt;br /&gt;
===Picture settings===&lt;br /&gt;
This takes the picture privacy setting that the user has set into consideration. The picture will not be uploaded if the user has chosen not to allow his picture to be shared. The picture will not be removed again if it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
====Student picture library====&lt;br /&gt;
Define where the pictures are for the students that uses this template. If this is not set, no pictures will be uploaded to Office 365. &lt;br /&gt;
&lt;br /&gt;
====Employee picture library====&lt;br /&gt;
Define where the pictures are for the employees that uses this template. If this is not set, no pictures will be uploaded to Office 365.   &lt;br /&gt;
&lt;br /&gt;
===Timetable===&lt;br /&gt;
&lt;br /&gt;
====Maintain====&lt;br /&gt;
Mark this to create timetable blocks in Office 365. They will be created, updated and deleted.&lt;br /&gt;
&lt;br /&gt;
====Delete old====&lt;br /&gt;
Mark this to delete old timetable blocks from calendars.&lt;br /&gt;
&lt;br /&gt;
====Room setting====&lt;br /&gt;
Create rooms with timetable blocks.&lt;br /&gt;
&lt;br /&gt;
=====Manage=====&lt;br /&gt;
[[File:Office365roomsettings.png|none|thumb|378x378px]]&lt;br /&gt;
&lt;br /&gt;
=====Room displayname=====&lt;br /&gt;
&lt;br /&gt;
=====Prefix=====&lt;br /&gt;
Text that can be added to the start of what is chosen in Generator.&lt;br /&gt;
&lt;br /&gt;
=====Generator=====&lt;br /&gt;
Choose what is to define the room.&lt;br /&gt;
&lt;br /&gt;
=====Suffix=====&lt;br /&gt;
Text that can be added to the end of what is chosen in Generator.&lt;br /&gt;
&lt;br /&gt;
=====Resulting displayname=====&lt;br /&gt;
Summary of the chosen display name as it will be shown in Office 365.&lt;br /&gt;
&lt;br /&gt;
=====Set rights to rooms=====&lt;br /&gt;
Sets the rights on rooms when created&lt;br /&gt;
&lt;br /&gt;
This has to be a &#039;&#039;&#039;Distribution Group&#039;&#039;&#039; Otherwise it won&#039;t work&lt;br /&gt;
[[File:Office365roomsettings2.png|none|thumb|274x274px]]&lt;br /&gt;
&lt;br /&gt;
======Owner======&lt;br /&gt;
Users will be able to create, read, modify and delete all items and files, and create sub-folders. As the folder owner, they can change the permission levels others have for the folder. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Publishing Editor======&lt;br /&gt;
Users can create, read, modify and delete all items and files, and create sub-folders. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Editor======&lt;br /&gt;
Users can create, read, modify and delete all items and files..&lt;br /&gt;
&lt;br /&gt;
======Publishing Author======&lt;br /&gt;
Users can create and read items and files, create sub-folders, and modify and delete items and files they create. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Author======&lt;br /&gt;
Users can create and read items and files and modify and delete items and files you create.&lt;br /&gt;
&lt;br /&gt;
======Nonediting Author======&lt;br /&gt;
Users have full read details. Can create items and delete own items. Folder visible.&lt;br /&gt;
&lt;br /&gt;
======Reviewer======&lt;br /&gt;
Users can read items and files only.&lt;br /&gt;
&lt;br /&gt;
======Contributor======&lt;br /&gt;
Users can create items and files only. The contents of the folder does not appear. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note&#039;&#039;&#039;&#039;&#039; &#039;&#039;With author or editor permissions, a delegate has send-on-behalf-of permission. Sent messages contain both the managers and delegates names. Message recipients see the managers name in the Sent On Behalf Of box and the delegates name in the From box.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=====Define rooms to be created=====&lt;br /&gt;
Specify the rooms to be created based on a filter. If nothing is entered, every room will be created.&lt;br /&gt;
[[File:Office365criteria.png|none|thumb|202x202px]]&lt;br /&gt;
&lt;br /&gt;
======Room number and Room name======&lt;br /&gt;
Can be found in the skemabrikker_rooms table in SQL.&lt;br /&gt;
&lt;br /&gt;
===Office 365 SharePoint site setting===&lt;br /&gt;
This will create SharePoint sites&lt;br /&gt;
[[File:Office365sharepointsitesettings.png|none|thumb|720x720px]] &lt;br /&gt;
[[File:Office365sharepointsitesettings2.png|none|thumb|567x567px]] &lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Site settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
=====Automation type=====&lt;br /&gt;
Full: Means that site maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
=====Remove learner method=====&lt;br /&gt;
Deleted in AD&lt;br /&gt;
&lt;br /&gt;
Users will be removed from site when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
Finished on activity/course&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
=====Delete sites=====&lt;br /&gt;
Auto delete&lt;br /&gt;
&lt;br /&gt;
Sites will be delete when the last student has left the site&lt;br /&gt;
&lt;br /&gt;
=====Manual Delete=====&lt;br /&gt;
Sites will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
=====Send mail to teacher(s)=====&lt;br /&gt;
Send mail notification to teachers when they are attached to a site.&lt;br /&gt;
&lt;br /&gt;
=====Create x days before=====&lt;br /&gt;
Choose how many days before start that the sites are to be created.&lt;br /&gt;
&lt;br /&gt;
=====Delete x days after end=====&lt;br /&gt;
Choose how many days after end that the sites are to be deleted.&lt;br /&gt;
&lt;br /&gt;
=====Teacher rights on sites=====&lt;br /&gt;
Rights the teacher will have on the site when attached.&lt;br /&gt;
&lt;br /&gt;
=====Learner rights on sites=====&lt;br /&gt;
Rights the student/learner will have on the site when attached. &lt;br /&gt;
&lt;br /&gt;
=====Check if group rights match=====&lt;br /&gt;
When UMS looks for UMS-groups on the site, it will do so based on two criteria’s.&lt;br /&gt;
&lt;br /&gt;
The correct rights and the correct name. Unchecking this will disable the first criteria and only look for a group with the right name. (This is when users change the UMS-group rights on a site manually)&lt;br /&gt;
&lt;br /&gt;
=====SQL Groups=====&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
=====Group name=====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
====Activity Sites====&lt;br /&gt;
Do not create&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
LMS has to be checked&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
Based on template filter&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
All&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
Title&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
===Search filter and criteria===&lt;br /&gt;
This will enable you to concatenate sites that would have been created as to or more sites to be created as one site.&lt;br /&gt;
&lt;br /&gt;
=====Remarks=====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
=====Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
=====Add activity short description to node ID=====&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint site.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
=====Course Sites=====&lt;br /&gt;
Course URL’s will always be created as activity_course.&lt;br /&gt;
&lt;br /&gt;
=====Do not create=====&lt;br /&gt;
It will not create any sites based on courses.&lt;br /&gt;
&lt;br /&gt;
=====LMS has to be checked=====&lt;br /&gt;
The field Skolefag_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
=====Based on template filter=====&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
=====All=====&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
=====Title=====&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
=====Description=====&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
=====Search filter and criteria=====&lt;br /&gt;
This will enable you to concatenate sites that would have been created as two or more sites to be created as one site.&lt;br /&gt;
[[File:Office365filter.png|none|thumb|416x416px]]&lt;br /&gt;
&lt;br /&gt;
=====Remarks=====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
=====Course Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
=====Activity Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
After you have created the Office 365 setting you put in on a template.&lt;br /&gt;
[[File:Office365templateeditor.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
Setting: This will created the users with on this template in Office 365 with these settings&lt;br /&gt;
&lt;br /&gt;
===SharePoint settings===&lt;br /&gt;
Sites created with setting. If this is not specified no activities/courses on this template will be created.&lt;br /&gt;
[[File:Office365template.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
====Site URL====&lt;br /&gt;
Which site collection is used when creating sites&lt;br /&gt;
&lt;br /&gt;
Language: The default language of the created site&lt;br /&gt;
&lt;br /&gt;
Course Template&lt;br /&gt;
&lt;br /&gt;
Standard SharePoint: Use a standard template from SharePoint&lt;br /&gt;
&lt;br /&gt;
Course template: Enter a name of a template that resides in the site collection. If nothing is entered it will default to the Team site template&lt;br /&gt;
&lt;br /&gt;
UMS SharePoint Portal: Create sites based on the UMS SharePoint Portal product&lt;br /&gt;
&lt;br /&gt;
====OneNote Class Notebook setting====&lt;br /&gt;
Choose a Class Notebook setting. This will create a Class Notebook created in the SharePoint site.  &lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity  &lt;br /&gt;
&lt;br /&gt;
OneNote Class Notebook setting  &lt;br /&gt;
&lt;br /&gt;
Define settings for OneNote Class Notebooks.&lt;br /&gt;
[[File:OneNotesections SharePoint.png|none|thumb|476x476px]]&lt;br /&gt;
&lt;br /&gt;
====Sections====&lt;br /&gt;
Define the section the Class Notebook will be created with. Students that are attached to this Class Notebook will have these sections.  &lt;br /&gt;
[[File:Office365onenoteclassnotebooksettingedit.png|none|thumb|447x447px]]Use Name instead of title for Notebooks (Last part of URL)&lt;br /&gt;
&lt;br /&gt;
This will make the title of the NoteBook be the same as the last part of the URL of the SharePoint site that the NoteBook is created in. It never changes unless this is unchecked.&lt;br /&gt;
&lt;br /&gt;
Never update Notebook title after creation&lt;br /&gt;
&lt;br /&gt;
The NoteBook will never update the title after it has been created, even though the SharePoint site changes title. it will be created with the title that SharePoint site has at createin time.&lt;br /&gt;
&lt;br /&gt;
===OneNote Class Notebook setting===&lt;br /&gt;
[[File:Office365onenoteclassnotebooksettings.png|none|thumb|720x720px]]&lt;br /&gt;
[[File:Office365onenoteclassnotebooksettings2.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Notebook settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Automation type====&lt;br /&gt;
Full: Means that Notebooks maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
====Remove learner method====&lt;br /&gt;
Deleted in AD&lt;br /&gt;
&lt;br /&gt;
Users will be removed from Notebooks when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
Finished on activity/course&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
====Delete Notebooks====&lt;br /&gt;
Auto delete&lt;br /&gt;
&lt;br /&gt;
Notebooks will be delete when the last student has left the Notebook&lt;br /&gt;
&lt;br /&gt;
Manual Delete&lt;br /&gt;
&lt;br /&gt;
Notebooks will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
====Send mail to teacher(s)====&lt;br /&gt;
Send mail notification to teachers when they are attached to a Notebook.&lt;br /&gt;
&lt;br /&gt;
====Create x days before====&lt;br /&gt;
Choose how many days before start that the Notebooks are to be created.&lt;br /&gt;
&lt;br /&gt;
====Delete x days after end====&lt;br /&gt;
Choose how many days after end that the Notebooks are to be deleted.&lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all Notebooks created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
====Activity Notebooks====&lt;br /&gt;
&lt;br /&gt;
====Do not create====&lt;br /&gt;
It will not create any Notebooks based on activities.&lt;br /&gt;
&lt;br /&gt;
====LMS has to be checked====&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
====Based on template filter====&lt;br /&gt;
Create Notebooks based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
====All====&lt;br /&gt;
Create all Notebooks.&lt;br /&gt;
&lt;br /&gt;
====Title====&lt;br /&gt;
Title of the Notebook. Changing this after a Notebook has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
====Search filter and criteria====&lt;br /&gt;
This will enable you to concatenate Notebooks that would have been created as to or more Notebooks to be created as one Notebook.&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
====Remarks====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
====Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
====Add activity short description to node ID====&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one Notebook.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
====Course Notebooks====&lt;br /&gt;
Course URL’s will always be created as activity course.&lt;br /&gt;
&lt;br /&gt;
====Do not create====&lt;br /&gt;
It will not create any Notebooks based on courses.&lt;br /&gt;
&lt;br /&gt;
====LMS has to be checked====&lt;br /&gt;
The field Skolefag_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
====Based on template filter====&lt;br /&gt;
Create Notebook based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
====All====&lt;br /&gt;
Create all Notebooks.&lt;br /&gt;
&lt;br /&gt;
====Title====&lt;br /&gt;
Title of the Notebook. Changing this after a Notebook has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
====Search filter and criteria====&lt;br /&gt;
This will enable you to concatenate Notebooks that would have been created as two or more Notebooks to be created as one Notebook.&lt;br /&gt;
[[File:Office365filter.png|none|thumb|416x416px]]&lt;br /&gt;
&lt;br /&gt;
====Remarks====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
====Course Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
====Activity Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
After you have created the Office 365 setting you put in on a template.&lt;br /&gt;
[[File:Office365template2.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
Setting: This will created the users with on this template in Office 365 with these settings&lt;br /&gt;
&lt;br /&gt;
===OneNote Class Notebook settings===&lt;br /&gt;
Notebooks created with setting. If this is not specified no activities/courses on this template will be created.&lt;br /&gt;
[[File:Office365settings.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
====Site collection URL====&lt;br /&gt;
Which Notebook collection is used when creating Notebooks&lt;br /&gt;
&lt;br /&gt;
====Language====&lt;br /&gt;
The default language of the created Notebook&lt;br /&gt;
&lt;br /&gt;
====Sections====&lt;br /&gt;
Define the section the Class Notebook will be created with. Students that are attached to this Class Notebook will have these sections.  &lt;br /&gt;
[[File:Office365onenoteclassnotebooksettingedit.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all Notebooks created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
===Organization Settings===&lt;br /&gt;
[[File:Office365organization.png|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Site settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Description====&lt;br /&gt;
Add a description to be able to identify the account.&lt;br /&gt;
&lt;br /&gt;
====SharePoint administration URL====&lt;br /&gt;
URL of the SharePoint administration site for the tenant.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Credentials settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Username====&lt;br /&gt;
Username used to connect to SharePoint.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Password used to connect to SharePoint.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
 &amp;gt; LiveAtEdu.exe [&amp;lt;optional&amp;gt; Action]&lt;br /&gt;
Eg.&lt;br /&gt;
 &amp;gt; LiveAtEdu.exe&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; LiveAtEdu.exe UsersOnly&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Users&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|UsersOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|UpdateUsers&lt;br /&gt;
|Update users&lt;br /&gt;
|-&lt;br /&gt;
|DisableUsers&lt;br /&gt;
|Disable users&lt;br /&gt;
|-&lt;br /&gt;
|EnableUsers&lt;br /&gt;
|Enable users&lt;br /&gt;
|-&lt;br /&gt;
|DeleteUsers&lt;br /&gt;
|Delete users&lt;br /&gt;
|-&lt;br /&gt;
|CreateUsers&lt;br /&gt;
|Create users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateImmutableID&lt;br /&gt;
|Update Immutable ID on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateOffice365SettingsIDForUsers&lt;br /&gt;
|Update Office 365 settings for users if they have changed template&lt;br /&gt;
|-&lt;br /&gt;
|UpdateUsersObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+User settings&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|RunUserSettings&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|DisableStrongPassword&lt;br /&gt;
|Disable strong password for users&lt;br /&gt;
|-&lt;br /&gt;
|SetMailAddress&lt;br /&gt;
|Set mail address on users&lt;br /&gt;
|-&lt;br /&gt;
|Forward2OnPremiseMail&lt;br /&gt;
|Set forward to OnPremise mail on users&lt;br /&gt;
|-&lt;br /&gt;
|SetCalendarRights&lt;br /&gt;
|Set calendar rights on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateMailboxTimeZone&lt;br /&gt;
|Update timezone for mailbox users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateMailboxLanguage&lt;br /&gt;
|Update language for mailbox users&lt;br /&gt;
|-&lt;br /&gt;
|EnablePasswordNeverExpires&lt;br /&gt;
|Enable password never expires for users&lt;br /&gt;
|-&lt;br /&gt;
|UpdatePictures&lt;br /&gt;
|Update pictures&lt;br /&gt;
|-&lt;br /&gt;
|Forward2PrivateMail&lt;br /&gt;
|Set forward to privatemail on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateReplyToAll&lt;br /&gt;
|Set Reply to all on users&lt;br /&gt;
|-&lt;br /&gt;
|ProvisionOneDrive&lt;br /&gt;
|Provision OneDrive to users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateAddressBookPolicy&lt;br /&gt;
|Set address book policy on users&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|GroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|RemoveGroupMembers&lt;br /&gt;
|Remove group members from groups&lt;br /&gt;
|-&lt;br /&gt;
|AddGroupMembers&lt;br /&gt;
|Add members to groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteGroups&lt;br /&gt;
|Delete groups&lt;br /&gt;
|-&lt;br /&gt;
|CreateGroups&lt;br /&gt;
|Create groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|GetUPNsForGroups&lt;br /&gt;
|Get the UPN of template groups from Office 365&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Template groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TemplateGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|RemoveUsersFromTemplateGroups&lt;br /&gt;
|Remove users from template security groups&lt;br /&gt;
|-&lt;br /&gt;
|AddUsers2TemplateGroups&lt;br /&gt;
|Add users to template security groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTemplateGroups&lt;br /&gt;
|Delete groups that are no longer template security groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTemplateGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|GetUPNsForTemplateGroups&lt;br /&gt;
|Get the UPN of template security groups from Office 365&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Template extra groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TemplateExtraGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateTemplateExtraGroups&lt;br /&gt;
|Create groups from template extra group&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTemplateExtraGroups&lt;br /&gt;
|Delete groups that are no longer in extra groups&lt;br /&gt;
|-&lt;br /&gt;
|AddTemplateExtraGroupMembers&lt;br /&gt;
|Add users to template extra groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTemplateExtraGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Keep alive groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|KeepAliveGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateKeepAliveGroups&lt;br /&gt;
|Create keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteKeepAliveGroups&lt;br /&gt;
|Delete keep alive groups if they are no longer in UMS&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSetMailAddressOnKeepAliveGroups&lt;br /&gt;
|Update the mail address on keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|AddKeepAliveGroupMembers&lt;br /&gt;
|Add users to keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|RemoveKeepAliveGroupMembers&lt;br /&gt;
|Remove users from keep alive groups&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Disabled groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|DisabledGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateDisabledGroups&lt;br /&gt;
|Create disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteDisabledGroups&lt;br /&gt;
|Delete disabled groups if they are no longer in UMS&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSetMailAddressOnDisabledGroups&lt;br /&gt;
|Update the mail address on disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|AddDisabledGroupMembers&lt;br /&gt;
|Add users to disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|RemoveDisabledGroupMembers&lt;br /&gt;
|Remove users from disabled groups&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Teams&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TeamsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddTeams2DB&lt;br /&gt;
|Add Teams to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateTeams&lt;br /&gt;
|Create Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddTeamToGroup&lt;br /&gt;
|Add teams to groups&lt;br /&gt;
|-&lt;br /&gt;
|ActivateTeams&lt;br /&gt;
|Activate teams&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeams&lt;br /&gt;
|Update Teams&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeams&lt;br /&gt;
|Delete Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2TeamsDBTable&lt;br /&gt;
|Add teachers to Office365Teams_Teachers table in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Teams&lt;br /&gt;
|Add teachers to Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2TeamsDBTable&lt;br /&gt;
|Add learners to Office365Teams_Learners table in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Teams&lt;br /&gt;
|Add learners to Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsDeleteTeachers&lt;br /&gt;
|Delete teachers in Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsDeleteLearners&lt;br /&gt;
|Delete learners in Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsUpdateNeedToBeUpdated&lt;br /&gt;
|Set update on next run flag&lt;br /&gt;
|-&lt;br /&gt;
|UpdateLearnersExternalID&lt;br /&gt;
|Retrieve the learners object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeachersExternalID&lt;br /&gt;
|Retrieve the teachers object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSchoolsExternalID&lt;br /&gt;
|Retrieve the schools object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeamsExternalID&lt;br /&gt;
|Retrieve the teams object id from Office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+SharePoint&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|SharepointOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateSites&lt;br /&gt;
|Create sites&lt;br /&gt;
|-&lt;br /&gt;
|AddSites2DB&lt;br /&gt;
|Add sites in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteSites&lt;br /&gt;
|Delete sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSites&lt;br /&gt;
|Update sites&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2SitesInDB&lt;br /&gt;
|Add learners to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeachers&lt;br /&gt;
|Delete teachers&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Sites&lt;br /&gt;
|Add teachers to sites&lt;br /&gt;
|-&lt;br /&gt;
|DeleteSiteGroups&lt;br /&gt;
|Delete site groups&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2SitesInDB&lt;br /&gt;
|Add teachers to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteLearners&lt;br /&gt;
|Delete learners&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Sites&lt;br /&gt;
|Add learners to sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSiteURL&lt;br /&gt;
|Update sites with new URL&lt;br /&gt;
|-&lt;br /&gt;
|AddNoteBooks2Sites&lt;br /&gt;
|Add OneNote Class NoteBooks to sites&lt;br /&gt;
|-&lt;br /&gt;
|SharePointDeleteNoteBooks&lt;br /&gt;
|Delete OneNote Class NoteBooks from sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateNeedToBeUpdated&lt;br /&gt;
|Set the update on next run flag&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSitesIsActive&lt;br /&gt;
|Update site active/inactive status&lt;br /&gt;
|-&lt;br /&gt;
|SharePoint_OneNoteClassNotebook_AddMissingTeachers&lt;br /&gt;
|Add missing Teachers to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|SharePoint_OneNoteClassNotebook_AddMissingLearners&lt;br /&gt;
|Add missing Learners to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|ReAddLearners2Sites&lt;br /&gt;
|Re-add learners to sites if ReAdd is true in DB&lt;br /&gt;
|-&lt;br /&gt;
|ReAddTeachers2Sites&lt;br /&gt;
|Re-add teachers to sites if ReAdd is true in DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+OneNoteClassNoteBook&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteClassNotebookOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddNotebooks2DB&lt;br /&gt;
|Add OneNote Class NoteBooks to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateNotebooks&lt;br /&gt;
|Create OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|UpdateOneNotes&lt;br /&gt;
|Update OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|DeleteOneNotes&lt;br /&gt;
|Delete OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2OneNotesInDB&lt;br /&gt;
|Add teachers to OneNote Class NoteBooks in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2OneNotes&lt;br /&gt;
|Add teachers to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2OneNotesInDB&lt;br /&gt;
|Add learners to OneNote Class NoteBooks in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2OneNotes&lt;br /&gt;
|Add learners to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteDeleteTeachers&lt;br /&gt;
|Delete teachers in OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteDeleteLearners&lt;br /&gt;
|Delete learners in OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteUpdateNeedToBeUpdated&lt;br /&gt;
|Set update on next run flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==Maintenance==&lt;br /&gt;
&lt;br /&gt;
===portal.office.com===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Teams&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
Go to [http://portal.office.com Office Portal] and login with your admin account( the same UMS uses).&lt;br /&gt;
&lt;br /&gt;
Select settings Services and add-ins and click Teams.&lt;br /&gt;
[[File:Office_365_Teams_activation.PNG|1350x1350px|thumb|Activate Teams for a license type, ie. Guest or Education-Student|none]]&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
===Office 365 Licens (Unable to assign this license) How to troubleshoot this error===&lt;br /&gt;
&lt;br /&gt;
====Error message from UMS Job log (LiveAtEdu)====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;Error = Unable to assign this license&#039;&#039;=====&lt;br /&gt;
&#039;&#039;Set-MsolUserLicense -UserPrincipalName &#039;khhi3275@ums.dk&#039; -AddLicenses &amp;quot;inLogic:STANDARDWOFFPACK_IW_STUDENT&amp;quot; -LicenseOptions $MyO365Sku&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Error = Unable to assign this license.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:00 -    at Utilities.Office365.SetLicenseForUser(String UPN, List`1 Licenses, SqlConnection&amp;amp; LocalSQLDBConnection)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;                      at LiveAtEdu_Sync.LiveAtEdu_Sync.PerformFunctionUserSettings(String SQLStr, UserFunctions Office365Function, MethodInfo StackFrame)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:00 - khhi3275- UPN = khhi3275@ums.dk&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:01 - (UpdateLicenseInfoOnUsers) Error. Could not set license for user - khhi3275@ums.dk       &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*Try adding the same licenses manually to a single user in office365. You could see if that is possible[[File:Licens.jpg|none|thumb|814x814px]]&lt;br /&gt;
&lt;br /&gt;
*The error shows that it is not possible to put the same licenses together[[File:Licens Error.png|none|thumb|812x812px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
*Change your licenses in UMS and run the LiveAtEdu job again&lt;br /&gt;
&lt;br /&gt;
===Groups===&lt;br /&gt;
How to get groups visible in OneDrive and Classroom&lt;br /&gt;
&lt;br /&gt;
Remove the checkbox from Only senders inside my organization&lt;br /&gt;
&lt;br /&gt;
Why do I not get the site created?&lt;br /&gt;
&lt;br /&gt;
#Activity&lt;br /&gt;
##Is there a user on the activity with a primary template that has an office 365 setting attached&lt;br /&gt;
##Is the flag Aktivitet_LMS = True&lt;br /&gt;
#Course&lt;br /&gt;
##Is there a user on the course with a primary template that has an office 365 setting attached&lt;br /&gt;
##Is the flag Skolefag_LMS = True&lt;br /&gt;
&lt;br /&gt;
===Disable or enabling user===&lt;br /&gt;
Error = Message: Insufficient privileges to complete the operation.&lt;br /&gt;
&lt;br /&gt;
This could be the result of the user trying to be disabled/enabled has roles that does not allow the action like Global Administrator.&lt;br /&gt;
&lt;br /&gt;
===The term &#039;Set-UnifiedGroup&#039; is not recognized as a name of a cmdlet, function, script file, or executable program.===&lt;br /&gt;
https://docs.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps&lt;br /&gt;
&lt;br /&gt;
Run this command to check which roletypes are needed&lt;br /&gt;
 Get-ManagementRole -Cmdlet Set-UnifiedGroup&lt;br /&gt;
&lt;br /&gt;
===A parameter cannot be found that matches parameter name &#039;type&#039;.===&lt;br /&gt;
https://docs.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps&lt;br /&gt;
[[File:Office365 ExchangeAdminRoleNeeded.jpg|none|thumb|1275x1275px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run this command to check which roletypes are needed&lt;br /&gt;
 Get-ManagementRole -Cmdlet Get-DistributionGroup&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Snip.png&amp;diff=4742</id>
		<title>File:Snip.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Snip.png&amp;diff=4742"/>
		<updated>2023-06-09T12:29:00Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;f&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=TimeEditFields&amp;diff=4724</id>
		<title>TimeEditFields</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=TimeEditFields&amp;diff=4724"/>
		<updated>2023-03-24T08:51:58Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Activity */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Metadata configuration==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Important information&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TimeEdit has a limit in the database, a maximum of 20 data fields on a timeblock  can be returned. If you map too many metadata the integration will fail.&lt;br /&gt;
|}&lt;br /&gt;
This lets you define which fields in UMS are sent to corresponding fields in TimeEdit.&lt;br /&gt;
&lt;br /&gt;
Create metadata configurations for (if needed)&lt;br /&gt;
&lt;br /&gt;
*employees&lt;br /&gt;
*activities&lt;br /&gt;
*courses&lt;br /&gt;
*students&lt;br /&gt;
*groups&lt;br /&gt;
&lt;br /&gt;
Students are predefined by UMS, no setup is needed.&lt;br /&gt;
&lt;br /&gt;
Some fields are predefined for the metadata settings while other are required if you are extracting [[GetTimetable/TimeEdit|Timetable blocks]].&lt;br /&gt;
&lt;br /&gt;
All fields are from the &#039;&#039;&#039;Students&#039;&#039;&#039; table.[[File:TimeEdit Settings Metadata.jpg|none|thumb|902x902px]]&lt;br /&gt;
&lt;br /&gt;
===Key name===&lt;br /&gt;
The name of the field in TimeEdit.&lt;br /&gt;
&lt;br /&gt;
===Static text before database field===&lt;br /&gt;
The text you write in this field will be suffixed to the UMS database field value.&lt;br /&gt;
&lt;br /&gt;
===UMS database field===&lt;br /&gt;
The database field in the UMS table Students.&lt;br /&gt;
&lt;br /&gt;
===Static text after database field===&lt;br /&gt;
The text you write in this field will be postfixed to the UMS database field value.&lt;br /&gt;
&lt;br /&gt;
===Required===&lt;br /&gt;
UMS will not send the record to TimeEdit If this field is empty when it generates the data to send. This will also be logged in to TimeEdit.Log file.&lt;br /&gt;
&lt;br /&gt;
==TimeEdit field information when uploading to TimeEdit==&lt;br /&gt;
&#039;&#039;&#039;Predefined fields&#039;&#039;&#039; are done by UMS and can not be changed and are needed to enter into Configurator.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Required fields&#039;&#039;&#039; has to be setup in the Configurator program. They have to be setup with the as described below. The UMS field can be changed but it is not recommended.&lt;br /&gt;
&lt;br /&gt;
All predefined and required fields has to be there for the extraction of [[GetTimetable/TimeEdit|Timetable blocks]] to work correctly.&lt;br /&gt;
&lt;br /&gt;
All fields in TimeEdit are case sensitive.&lt;br /&gt;
&lt;br /&gt;
===Students===&lt;br /&gt;
TimeEdit&#039;s extid for this object type is &amp;quot;student.&amp;lt;SLI_ID&amp;gt;&amp;quot;. SLI ID is from the internal UMS table called SLI and column ID.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Predefined fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Description&lt;br /&gt;
!Unique&lt;br /&gt;
|-&lt;br /&gt;
|ForNavne&lt;br /&gt;
|person.first_name&lt;br /&gt;
|First name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Efternavn&lt;br /&gt;
|person.last_name&lt;br /&gt;
|Last name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|StudieNr&lt;br /&gt;
|student.username&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|general.email&lt;br /&gt;
|UMS will fill this field with &amp;lt;Username@Students mail domain&amp;gt;&lt;br /&gt;
This can be overwritten by manual configuration.&lt;br /&gt;
|X&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Employees===&lt;br /&gt;
TimeEdit&#039;s extid for this object type is &amp;quot;teacher.&amp;lt;SLI_ID&amp;gt;&amp;quot;. SLI ID is from the internal UMS table called SLI and column ID.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Predefined fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Description&lt;br /&gt;
!Unique&lt;br /&gt;
|-&lt;br /&gt;
|ForNavne&lt;br /&gt;
|person.first_name&lt;br /&gt;
|First name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Efternavn&lt;br /&gt;
|person.last_name&lt;br /&gt;
|Last name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|general.email&lt;br /&gt;
|UMS will fill this field with &amp;lt;Username@Employee mail domain&amp;gt;&lt;br /&gt;
This can be overwritten by manual configuration.&lt;br /&gt;
|X&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Required fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Description&lt;br /&gt;
!Unique&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|person.init&lt;br /&gt;
|Username for TimeEdit&lt;br /&gt;
|X&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Best practice fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Unique&lt;br /&gt;
|-&lt;br /&gt;
|MobilePhone&lt;br /&gt;
|general.phone&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|WorkMail&lt;br /&gt;
|general.email&lt;br /&gt;
|X&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
[[File:Map metadatafields Employees.png|none|thumb|915x915px]]&lt;br /&gt;
&lt;br /&gt;
===Activity===&lt;br /&gt;
TimeEdit&#039;s extid for this object type is &amp;quot;studentclass.&amp;lt;Aktivitet&amp;gt;&amp;quot; unless &amp;quot;Use ActivityID&amp;quot; is set&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Predefined fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Unique&lt;br /&gt;
|-&lt;br /&gt;
|Aktivitet&lt;br /&gt;
|studentclass.code&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Aktivitet&lt;br /&gt;
|studentclass.name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|studentclass.no_of_students&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Required fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|ActivityDescription&lt;br /&gt;
|studentclass.longdescript&lt;br /&gt;
|Long description&lt;br /&gt;
|-&lt;br /&gt;
|Kort_Betegnelse&lt;br /&gt;
|studentclass.shortname&lt;br /&gt;
|Short description&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
[[File:Map metadatafields Activity.png|none|thumb|915x915px]]&lt;br /&gt;
&lt;br /&gt;
===Courses===&lt;br /&gt;
TimeEdit&#039;s extid for this object type is &amp;quot;course.&amp;lt;Aktivitet&amp;gt;_&amp;lt;Skolefag&amp;gt;&amp;quot; &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Predefined fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Unique&lt;br /&gt;
|-&lt;br /&gt;
|Aktivitet_Skolefag&lt;br /&gt;
|course.code&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|Aktivitet_Skolefag&lt;br /&gt;
|course.name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Required fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|SkoleFag_Kort_Betegnelse&lt;br /&gt;
|course.shortname&lt;br /&gt;
|Short description&lt;br /&gt;
|-&lt;br /&gt;
|SkoleFag_betegnelse&lt;br /&gt;
|course.LongDescript&lt;br /&gt;
|Long description&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
[[File:Map metadatafields Courses.png|none|thumb|916x916px]]&lt;br /&gt;
&lt;br /&gt;
===Groups===&lt;br /&gt;
TimeEdit&#039;s extid for this object type is &amp;quot;group.&amp;lt;AktivitetsID&amp;gt;&amp;quot; &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Predefined fields&lt;br /&gt;
!UMS&lt;br /&gt;
!TimeEdit&lt;br /&gt;
!Unique&lt;br /&gt;
|-&lt;br /&gt;
|Aktivitet&lt;br /&gt;
|group.name&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|group.number_of_members&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
There are no required fields&lt;br /&gt;
&lt;br /&gt;
==Required TimeEdit fields when extracting timetable blocks==&lt;br /&gt;
&lt;br /&gt;
===Fields UMS uses when extracting timetable blocks.===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!TimeEdit Name&lt;br /&gt;
!TimeEdit object type&lt;br /&gt;
!UMS object&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|studentclass&lt;br /&gt;
|Object&lt;br /&gt;
|Activity&lt;br /&gt;
|Used as activities that are class related&lt;br /&gt;
|-&lt;br /&gt;
|description&lt;br /&gt;
|Object&lt;br /&gt;
|Activity&lt;br /&gt;
|Used as activities that are not class related&lt;br /&gt;
|-&lt;br /&gt;
|description&lt;br /&gt;
|string&lt;br /&gt;
|Label&lt;br /&gt;
|This is a field on the reservation in TimeEdit&lt;br /&gt;
|-&lt;br /&gt;
|BlockType&lt;br /&gt;
|string&lt;br /&gt;
|BlockType&lt;br /&gt;
|This is a field on the reservation in TimeEdit&lt;br /&gt;
|-&lt;br /&gt;
|location&lt;br /&gt;
|Object&lt;br /&gt;
|Room&lt;br /&gt;
|Room or location somewhere in the world&lt;br /&gt;
|-&lt;br /&gt;
|person&lt;br /&gt;
|Object&lt;br /&gt;
|Teacher or Student&lt;br /&gt;
|This can be a student or teacher&lt;br /&gt;
|-&lt;br /&gt;
|comment&lt;br /&gt;
|string&lt;br /&gt;
|Comment&lt;br /&gt;
|This is a field on the reservation in TimeEdit&lt;br /&gt;
|-&lt;br /&gt;
|AbsenceRegistration&lt;br /&gt;
|bit&lt;br /&gt;
|AbsenceRegistration&lt;br /&gt;
|This is a field on the reservation in TimeEdit&lt;br /&gt;
Allow this timetable block to be seen in UMS absence registration&lt;br /&gt;
|-&lt;br /&gt;
|teacher&lt;br /&gt;
|Object&lt;br /&gt;
|Teacher&lt;br /&gt;
|Needs to be created as person in TimeEdit&lt;br /&gt;
|-&lt;br /&gt;
|student&lt;br /&gt;
|Object&lt;br /&gt;
|Student&lt;br /&gt;
|Needs to be created as person in TimeEdit&lt;br /&gt;
|-&lt;br /&gt;
|group&lt;br /&gt;
|Object&lt;br /&gt;
|&lt;br /&gt;
|Can contain students or teachers&lt;br /&gt;
|-&lt;br /&gt;
|course&lt;br /&gt;
|Object&lt;br /&gt;
|Course&lt;br /&gt;
|Used as courses that are class related&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===studentclass===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|general.title&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|studentclass.code&lt;br /&gt;
|Activity&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|studentclass.name&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|studentclass.longdescript&lt;br /&gt;
|ActivityDescription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|studentclass.shortname&lt;br /&gt;
|ActivityShortDescription&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===description (Object)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|general.title&lt;br /&gt;
|ActivityDescription&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|activity.name&lt;br /&gt;
|Activity&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Location===&lt;br /&gt;
This can considered as rooms or they can be locations. They will be put in UMS tables as rooms.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|general.id&lt;br /&gt;
|Room ID&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|general.id&lt;br /&gt;
|Room number&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|general.title&lt;br /&gt;
|Room name&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===person===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|person.first_name&lt;br /&gt;
|FirstName&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|person.last_name&lt;br /&gt;
|LastName&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|person.init&lt;br /&gt;
|Initials&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===teacher===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|person.first_name&lt;br /&gt;
|FirstName&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|person.last_name&lt;br /&gt;
|LastName&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|person.init&lt;br /&gt;
|Initials&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===student===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|person.first_name&lt;br /&gt;
|FirstName&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|person.last_name&lt;br /&gt;
|LastName&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Course===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|general.title&lt;br /&gt;
|&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|course.code&lt;br /&gt;
|Course&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|course.name&lt;br /&gt;
|CourseDescription&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|course.shortname&lt;br /&gt;
|CourseShortDescription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|extid&lt;br /&gt;
|CourseID&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Groups===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!TimeEdit name&lt;br /&gt;
!UMS&lt;br /&gt;
!Mandatory&lt;br /&gt;
|-&lt;br /&gt;
|general.title&lt;br /&gt;
|Not used in UMS&lt;br /&gt;
|X&lt;br /&gt;
|-&lt;br /&gt;
|general.id&lt;br /&gt;
|Not used in UMS&lt;br /&gt;
|&lt;br /&gt;
|}Members of groups will be extracted and added to the timetable blocks if a group is added to a timetable block in TimeEdit.&lt;br /&gt;
&lt;br /&gt;
===Timetable block===&lt;br /&gt;
These 2 fields must be set on the timetable block.&lt;br /&gt;
&lt;br /&gt;
====AbsenceRegistration====&lt;br /&gt;
UMS supports Absence information from TimeEdit.&lt;br /&gt;
&lt;br /&gt;
This is achieved by creating a True/False column on the timetable blocks called &amp;quot;&#039;&#039;&#039;AbsenceRegistration&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
When set to True UMS will see the timetable block as [[Attendance Registration]] enabled.&lt;br /&gt;
&lt;br /&gt;
====Comment====&lt;br /&gt;
This will be put in the comment field in UMS&lt;br /&gt;
&lt;br /&gt;
====All other fields====&lt;br /&gt;
All other fields on a reservation will be added to the comment field in UMS.&lt;br /&gt;
&lt;br /&gt;
Except these to fields that are ignored &amp;quot;&#039;&#039;&#039;r.note&#039;&#039;&#039;&amp;quot; and &amp;quot;&#039;&#039;&#039;r.reservation_text_ref&#039;&#039;&#039;&amp;quot;.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=InLogic_SMS_Gateway&amp;diff=4674</id>
		<title>InLogic SMS Gateway</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=InLogic_SMS_Gateway&amp;diff=4674"/>
		<updated>2023-03-09T07:35:14Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* How to change IP settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Important==&lt;br /&gt;
To be able to send SMS, the inLogic SMS Gateway requires GSM modems with USB interface. We recommend &amp;quot;HUAWEI LTE USB Stick Model: E3372&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Hardware Compatibility List===&lt;br /&gt;
[http://consumer.huawei.com/en/mobile-broadband/e3531/specs/ Huawei E3531]&lt;br /&gt;
&lt;br /&gt;
[http://consumer.huawei.com/en/mobile-broadband/e3372/ Huawei E3372] (inLogic&#039;s choice)&lt;br /&gt;
&lt;br /&gt;
[http://consumer.huawei.com/lk/mobile-broadband/dongles/features/e3131-lk.htm Huawei E3131i]&lt;br /&gt;
&lt;br /&gt;
[http://www.tp-link.com/la/products/details/cat-5090_MA260.html TP-Link MA260]&lt;br /&gt;
&lt;br /&gt;
==Network Port Openings==&lt;br /&gt;
&lt;br /&gt;
====TCP port openings from server to gateway. TCP port opening where UMS sms sever service run.====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Port&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|22&lt;br /&gt;
|SSH access&lt;br /&gt;
|-&lt;br /&gt;
|443&lt;br /&gt;
|HTTPS access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====TCP port openings from gateway to server.====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Port&lt;br /&gt;
!Usage&lt;br /&gt;
|-&lt;br /&gt;
|80&lt;br /&gt;
|HTTP access&lt;br /&gt;
|-&lt;br /&gt;
|443&lt;br /&gt;
|HTTPS access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Prepare Modem==&lt;br /&gt;
{|&lt;br /&gt;
![[File:20180516 104258-50%.jpg|none|thumb|800x800px]]&lt;br /&gt;
!Plug-in Modems&lt;br /&gt;
&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|[[File:20180516 104358-50%.jpg|none|thumb|800x800px]]&lt;br /&gt;
|&#039;&#039;&#039;Plug-in Ethernet cable&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Plug-in power cable&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==System Login==&lt;br /&gt;
Once the gateway is [[#Prepare Modem|prepared]] and booted, open a browser and go to http://192.168.1.2. Login through the &#039;Login&#039; button in the top right corner. &lt;br /&gt;
[[File:Main Login button.png|none|thumb|1240x1240px]]&lt;br /&gt;
You will now see a login box where you can log in with with USERNAME: admin and PASSWORD: admin.&lt;br /&gt;
[[File:Login.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Main Page==&lt;br /&gt;
After logging in, the system info page appears. This page shows the gateway&#039;s status.[[File:Main.png|none|thumb|1240x1240px]]&lt;br /&gt;
To open the menu, click on this icon:  [[File:Foxbox menu button.png|frameless|23x23px]]&lt;br /&gt;
[[File:Main with menu.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Network Configuration==&lt;br /&gt;
Click on menu tab &#039;Network config&#039;.&lt;br /&gt;
&lt;br /&gt;
Change the IP settings and press &#039;Save Configuration&#039;. When you have saved your settings, [[InLogic SMS Gateway#Reboot|Reboot]] the gateway as instructed below in &#039;Modem Settings&#039;.&lt;br /&gt;
[[File:Network Config.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Modem Settings==&lt;br /&gt;
&lt;br /&gt;
===Hostname and Frontend Settings===&lt;br /&gt;
&lt;br /&gt;
====Hostname====&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
Set &#039;Modem Hostname&#039; as FQDN and save your changes. Your modem will now restart.[[File:Modem Settings Hostname.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
====Frontend====&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
If redirect is enable on iis set (HTTPS) &lt;br /&gt;
&lt;br /&gt;
Change &#039;FrontEnd Address&#039; to fit your configuration and save your settings.[[File:Modem Settings Frontend.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Certificate Settings (https)===&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
Click &#039;Choose File&#039; and choose a .pfx certificate from your computer.&lt;br /&gt;
&lt;br /&gt;
Entera a .pfx certificate password in the &#039;Certificate Password&#039; field and click &#039;Save&#039;.&lt;br /&gt;
[[File:Modem Settings Certificate.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===User Settings===&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
The default admin user password is &#039;admin&#039;. To change the default admin user password, write the new password in the &#039;Password&#039; field just below the &#039;Username&#039; field admin.&lt;br /&gt;
&lt;br /&gt;
The default sendsms user password is &#039;sendsms&#039;. To change the default sendsms user password, write the new password in the &#039;Password&#039; field just below the &#039;Username&#039; field sendsms.&lt;br /&gt;
&lt;br /&gt;
Click &#039;Save&#039; to confirm the password change.&lt;br /&gt;
[[File:Modem Settings User.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Control Panel==&lt;br /&gt;
Open the menu and go to &#039;Control Panel&#039;. &lt;br /&gt;
&lt;br /&gt;
Here, you can see staus, as well as turn on and off, the SMS Engine.[[File:Control Panel.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==SMS==&lt;br /&gt;
&lt;br /&gt;
===Inbox===&lt;br /&gt;
To see a log for incoming messages, open the menu and go to &#039;Inbox&#039;. &lt;br /&gt;
[[File:Inbox.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Outbox===&lt;br /&gt;
To see a log for outgoing messages, open the menu and go to &#039;Outbox&#039;. &lt;br /&gt;
[[File:Outbox.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
===Failed===&lt;br /&gt;
To see a log for failed messages, open the menu and go to &#039;Failed&#039;. &lt;br /&gt;
[[File:Failed.png|none|thumb|1240x1240px]]&lt;br /&gt;
===Write New===&lt;br /&gt;
To write a new SMS, open the menu and go to &#039;Write New&#039;.&lt;br /&gt;
&lt;br /&gt;
Choose the modem you wish to send your message from in the drop down menu &#039;Outgoing channel&#039;. If left blank, the system will choose the first available modem.&lt;br /&gt;
&lt;br /&gt;
Enter the phone number you wish to send your SMS to in the &#039;To&#039; field. Pleas note that international prefix is mandatory.&lt;br /&gt;
&lt;br /&gt;
Write your message in the &#039;Message&#039; field.&lt;br /&gt;
&lt;br /&gt;
When you have finished, click &#039;Send&#039;.[[File:Write New guide.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Time Zone Settings==&lt;br /&gt;
Open the menu and go to &#039;Time Zone Settings&#039;.&lt;br /&gt;
&lt;br /&gt;
The NTP &amp;amp; Time Zone Settings is by default set to enable external NTP. &lt;br /&gt;
&lt;br /&gt;
For internal NTP, uncheck the &#039;Enable External NTP&#039; box and write a list of NTP servers separated by comma, in the &#039;Internal NTP&#039; field.&lt;br /&gt;
&lt;br /&gt;
To change your time zone, choose a time zone from the &#039;Time Zone&#039; drop down menu.&lt;br /&gt;
&lt;br /&gt;
Click &#039;Save&#039; to change your settings.&lt;br /&gt;
[[File:Time Zone Settings.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
Open the menu and go to &#039;Modem Settings&#039;. &lt;br /&gt;
&lt;br /&gt;
===Shell===&lt;br /&gt;
Use &#039;in browser&#039; shell to change advanced settings. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u style=&amp;quot;color:red;&amp;quot;&amp;gt;Use with caution!&amp;lt;/u&amp;gt; Please note that if you make any changes without consulting us first, support will be charged accordingly with our hourly rate.&lt;br /&gt;
[[File:Modem Settings Shell.png|none|thumb|1240x1240px]]&lt;br /&gt;
===Root Settings===&lt;br /&gt;
Change of root password require putty.exe. Default root password can be requested from inlogic. &lt;br /&gt;
&lt;br /&gt;
Use Putty.exe to connect to Inlogic Gateway, run command &#039;&#039;(sudo passwd root&#039;&#039;) and follow the instructions on screen.&lt;br /&gt;
[[File:Modem Settings Root.png|none|thumb|1240x1240px]]&lt;br /&gt;
&lt;br /&gt;
==Additional information==&lt;br /&gt;
Additional information about the product, users, and programs used in the tutorial.&lt;br /&gt;
====Usernames and passwords====&lt;br /&gt;
====SSH Clients====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+A list of SSH Clients&lt;br /&gt;
!Program name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
|PuTTy&lt;br /&gt;
|https://www.putty.org/&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Open source FTP Client====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+A list of FTP clients&lt;br /&gt;
!Program name&lt;br /&gt;
!URL&lt;br /&gt;
|-&lt;br /&gt;
|WinSCP&lt;br /&gt;
|https://winscp.net/eng/index.php&lt;br /&gt;
|-&lt;br /&gt;
|FileZilla&lt;br /&gt;
|https://filezilla-project.org/&lt;br /&gt;
|}&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
===Linux commands===&lt;br /&gt;
&lt;br /&gt;
==== Update ubuntu ====&lt;br /&gt;
 sudo apt-get update -y&lt;br /&gt;
 sudo apt-get upgrade -y&lt;br /&gt;
&lt;br /&gt;
====Update inLogic files and Database from command line====&lt;br /&gt;
 rm -rf /mnt/Update/update&lt;br /&gt;
 wget --no-check-certificate &amp;lt;nowiki&amp;gt;https://downloads.inlogic.dk/inlogicgatewaymodem/Update.zip&amp;lt;/nowiki&amp;gt; -O /mnt/Update/Update.zip&lt;br /&gt;
 unzip /mnt/Update/Update.zip -d /mnt/Update/update&lt;br /&gt;
 chmod 777 /mnt/Update/update/mnt/flash/root/updateservice/update.sh&lt;br /&gt;
 /mnt/Update/update/mnt/flash/root/updateservice/update.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Commands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Commands shows Status of Apache (systemctl status apache2.service)&lt;br /&gt;
*update system ( apt-get udate  apt-get update)&lt;br /&gt;
&lt;br /&gt;
====Update ubuntu from 18 to 20====&lt;br /&gt;
Use default answers when running these commands.&lt;br /&gt;
 sudo sed -i &#039;s/bionic/focal/g&#039; /etc/apt/sources.list&lt;br /&gt;
 sudo sed -i &#039;s/bionic/focal/g&#039; /etc/apt/sources.list.d/odroid.list&lt;br /&gt;
 sudo apt-get update -y&lt;br /&gt;
 sudo apt-get upgrade -y&lt;br /&gt;
 sudo apt-get dist-upgrade -y&lt;br /&gt;
&lt;br /&gt;
====How to change IP settings====&lt;br /&gt;
&lt;br /&gt;
*nano /etc/netplan/01-netconf.yaml&lt;br /&gt;
*reboot&lt;br /&gt;
&lt;br /&gt;
====Logs====&lt;br /&gt;
&lt;br /&gt;
=====Log viewers=====&lt;br /&gt;
&lt;br /&gt;
*tail&lt;br /&gt;
*tail -f (this is similar to using cmtrace in windows)&lt;br /&gt;
*nano&lt;br /&gt;
*vim&lt;br /&gt;
&lt;br /&gt;
=====Log files=====&lt;br /&gt;
&lt;br /&gt;
*/var/log/smstools/smsd.log&lt;br /&gt;
*/var/log/syslog&lt;br /&gt;
*/var/log/mysql/error.log&lt;br /&gt;
*/var/log/apache2/error.log&lt;br /&gt;
&lt;br /&gt;
=====See USB devices=====&lt;br /&gt;
&lt;br /&gt;
*lsusb&lt;br /&gt;
&lt;br /&gt;
==Rest API==&lt;br /&gt;
Theres a REST API to use, to send messages from the inLogic SMS Gateway.&lt;br /&gt;
&lt;br /&gt;
===Send SMS===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|URL&lt;br /&gt;
|source/send_sms.php&lt;br /&gt;
|-&lt;br /&gt;
|Method&lt;br /&gt;
|POST&lt;br /&gt;
|-&lt;br /&gt;
|URL Parameters&lt;br /&gt;
|Username&lt;br /&gt;
&lt;br /&gt;
Password&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
Message&lt;br /&gt;
|-&lt;br /&gt;
|Success Response&lt;br /&gt;
|200 - Success&lt;br /&gt;
Returns ID of send SMS&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|401 - Unauthorized&lt;br /&gt;
|-&lt;br /&gt;
|Error Resposne&lt;br /&gt;
|403 - Forbidden&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|500 - Internal server error&lt;br /&gt;
|-&lt;br /&gt;
|Sample Request&lt;br /&gt;
|source/send_sms.php?username=smsuser&amp;amp;pwd=testpassword123&amp;amp;from=ums&amp;amp;to=22446688&amp;amp;message=Dette er en test besked&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 curl -X POST &amp;lt;nowiki&amp;gt;https://modem.ums.dk/source/send_sms.php?username=&amp;lt;/nowiki&amp;gt;&amp;lt;USERNAME&amp;gt;&amp;amp;pwd=&amp;lt;PASSWORD&amp;gt;&amp;amp;from=ums&amp;amp;to=&amp;lt;RECIEPIENT&amp;gt;&amp;amp;message=&amp;lt;MESSAGE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Check SMS Status===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Title&lt;br /&gt;
!&lt;br /&gt;
|-&lt;br /&gt;
|URL&lt;br /&gt;
|webservice/getstatus.php&lt;br /&gt;
|-&lt;br /&gt;
|Method&lt;br /&gt;
|POST&lt;br /&gt;
|-&lt;br /&gt;
|URL Parameters&lt;br /&gt;
|Username&lt;br /&gt;
&lt;br /&gt;
Password&lt;br /&gt;
&lt;br /&gt;
ID&lt;br /&gt;
|-&lt;br /&gt;
|Success Response&lt;br /&gt;
|200 - Success&lt;br /&gt;
Returns status of send SMS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ScheduledToSend = -1&lt;br /&gt;
&lt;br /&gt;
OK = 0&lt;br /&gt;
&lt;br /&gt;
OK_WithError = 1&lt;br /&gt;
&lt;br /&gt;
InUMSQueue = 2&lt;br /&gt;
&lt;br /&gt;
InModemQueue = 3&lt;br /&gt;
&lt;br /&gt;
Failed = 4&lt;br /&gt;
&lt;br /&gt;
IDNotFound = 5&lt;br /&gt;
&lt;br /&gt;
SentViaMail = 100&lt;br /&gt;
&lt;br /&gt;
FailedSendingViaMail = 101&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|401 - Unauthorized&lt;br /&gt;
|-&lt;br /&gt;
|Error Resposne&lt;br /&gt;
|403 - Forbidden&lt;br /&gt;
|-&lt;br /&gt;
|Error Response&lt;br /&gt;
|500 - Internal server error&lt;br /&gt;
|-&lt;br /&gt;
|Sample Request&lt;br /&gt;
|webservice/getstatus.php?=smsuser&amp;amp;pwd=testpassword123&amp;amp;id=1&lt;br /&gt;
|-&lt;br /&gt;
|Notes&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Example&lt;br /&gt;
 curl -X POST https://modem.ums.dk/webservice/getstatus.php?username=&amp;amp;#x3C;USERNAME&amp;amp;#x3E;&amp;amp;pwd=&amp;amp;#x3C;PASSWORD&amp;amp;#x3E;&amp;amp;id=&amp;amp;#x3C;ID&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=MSGraphPermissions&amp;diff=4663</id>
		<title>MSGraphPermissions</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=MSGraphPermissions&amp;diff=4663"/>
		<updated>2023-02-24T13:07:03Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Open Powershell 5 on the server running the program */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;MS graph permissions are required by these UMS modules&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;LiveAtEdu&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;OneNote&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;SharePoint&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Office 365 Time blocks&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;MS Teams&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Creating App Registration==&lt;br /&gt;
Go to [http://portal.azure.com Azure Portal] and login with you admin account( &#039;&#039;&#039;the same UMS uses&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!! ATTENTION !!!  use service account that UMS uses&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When logged in go to Azure Active Directory:&lt;br /&gt;
[[File:Graph1.jpg|left|thumb|832x832px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Go to App registrations&lt;br /&gt;
[[File:Graph2.jpg|none|thumb|831x831px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on New application registration&lt;br /&gt;
[[File:Graph3.jpg|none|thumb|909x909px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Give the new App a name ex. &amp;quot;UMSGraph&amp;quot;, Choose &amp;quot;Web app / API&amp;quot; in Application type, set &amp;quot;Sign-on URL&amp;quot; to &amp;quot;http://localhost&amp;quot;. After setting Application Permission values click &amp;quot;Create&amp;quot;&lt;br /&gt;
[[File:Graph43.jpg|none|thumb|913x913px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You will return to previous screen, here click &amp;quot;your new app&amp;quot;&lt;br /&gt;
[[File:Grahp5.jpg|none|thumb|905x905px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Certificates &amp;amp; secrets&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;New Client Secret&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Enter a &amp;quot;Description&amp;quot; and set &amp;quot;Expires&amp;quot; to the interval that suits your needs.&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Add&amp;quot;&lt;br /&gt;
[[File:Graph6.jpg|none|thumb|908x908px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy &amp;quot;Value ID&amp;quot;    We will use this later &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;!!! ATTENTION !!! the key value will never be visible again so ensure to copy it.&#039;&#039;&#039; [[File:Graph7.png|none|thumb|790x790px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy the &amp;quot;VALUE Key into &amp;quot;UMS Configurator&amp;quot; field Client Secret&lt;br /&gt;
&lt;br /&gt;
[[File:Tewxddf.png|frameless|566x566px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy the &amp;quot;Directory Tenant ID &amp;quot; into &amp;quot;UMS Configurator&amp;quot; Field Tenant ID&lt;br /&gt;
&lt;br /&gt;
Copy the &amp;quot;Appplication Client ID &amp;quot; into &amp;quot;UMS Configurator&amp;quot; Field Client ID&lt;br /&gt;
[[File:Id.jpg|none|thumb|1120x1120px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Api permissions&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Click &amp;quot;Add a permission&amp;quot;&lt;br /&gt;
[[File:Graph8.png|none|thumb|780x780px]]&lt;br /&gt;
&lt;br /&gt;
==Setup SharePoint, OneNote Class Notebook or Onedrive provisioning==&lt;br /&gt;
&#039;&#039;&#039;You do not need to fill out the settings in UMS (This was done in the above text) when using OneDrive provisioning.&#039;&#039;&#039; Only the &amp;quot;Add SharePoint App permissions&amp;quot; chapter.&lt;br /&gt;
&lt;br /&gt;
In the UMS Configurator go to Modules-&amp;gt;Office 365 and click &amp;quot;SharePoint organization settings&amp;quot;&lt;br /&gt;
[[File:UMSConfiguratorSharepointOrganizationSettings.png|none|thumb|600x600px]]&lt;br /&gt;
Choose your SharePoint organization setting and click &amp;quot;Edit...&amp;quot;&lt;br /&gt;
[[File:UMSConfiguratorSharepointOrganizationSettingsEdit.png|none|thumb|600x600px]]&lt;br /&gt;
&amp;lt;span id=&amp;quot;SharePointOrganizationSettings&amp;quot;&amp;gt;Input&amp;lt;/span&amp;gt; your &amp;quot;Tenant Name&amp;quot; ex. &amp;quot;cortenso&#039;&#039;&#039;.onmicrosoft.com&#039;&#039;&#039;&amp;quot;, insert Application ID into &amp;quot;Client ID&amp;quot; field, insert &amp;quot;Client secret&amp;quot; and &amp;quot;Tenant ID&amp;quot; and click &amp;quot;Ok&amp;quot;&lt;br /&gt;
[[File:SharepointOrganization SettingsEdit.jpg|none|thumb|585x585px]]&lt;br /&gt;
&lt;br /&gt;
===Add SharePoint App permissions===&lt;br /&gt;
&lt;br /&gt;
*Go to https://&#039;&#039;&#039;&amp;lt;tenantname&amp;gt;&#039;&#039;&#039;-admin.sharepoint.com/_layouts/15/appinv.aspx&lt;br /&gt;
*Enter app Id (AKA Client Id) and press lookup.&lt;br /&gt;
*Copy paste the below text in Permission Request XML and save&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;AppPermissionRequests AllowAppOnlyPolicy=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;AppPermissionRequest Scope=&amp;quot;http://sharepoint/content/tenant&amp;quot; Right=&amp;quot;FullControl&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;AppPermissionRequest Scope=&amp;quot;http://sharepoint/social/tenant&amp;quot; Right=&amp;quot;FullControl&amp;quot; /&amp;gt;&lt;br /&gt;
 &amp;lt;/AppPermissionRequests&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:SharePoint Organization Settings App permission.jpg|none|thumb|389x389px|Enter anything you like into Title]]&lt;br /&gt;
&lt;br /&gt;
====Open newest installed Powershell on the server running the program====&lt;br /&gt;
&#039;&#039;&#039;Minimum requirement is Powershell 5&#039;&#039;&#039;&lt;br /&gt;
 #Enable TLS 1.2 for Powershell commands&lt;br /&gt;
 [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12  &lt;br /&gt;
 &lt;br /&gt;
 $NugetPackageProvider = Get-PackageProvider -ListAvailable -Name NuGet -ErrorAction SilentlyContinue&lt;br /&gt;
 if (!$NugetPackageProvider) {Install-PackageProvider -Name NuGet -RequiredVersion 2.8.5.201 -Scope AllUsers -Force}&lt;br /&gt;
 &lt;br /&gt;
 Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force&lt;br /&gt;
 Import-Module Microsoft.Online.SharePoint.PowerShell&lt;br /&gt;
 Connect-SPOService -Url https://&#039;&#039;&#039;&amp;lt;tenantname&amp;gt;&#039;&#039;&#039;-admin.sharepoint.com&lt;br /&gt;
 Set-SPOTenant -DisableCustomAppAuthentication $false&lt;br /&gt;
&lt;br /&gt;
===Remove SharePoint App permissions===&lt;br /&gt;
If you want to remove existing app permission use this link. Maybe you are not using the module anymore.&lt;br /&gt;
 https://&#039;&#039;&#039;&amp;lt;tenantname&amp;gt;&#039;&#039;&#039;-admin.sharepoint.com/_layouts/15/TA_AllAppPrincipals.aspx&lt;br /&gt;
&lt;br /&gt;
==Permissions overview==&lt;br /&gt;
&lt;br /&gt;
===Microsoft Graph===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+Default permissions&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|User.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Setting attributes on the user in Office 365&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Group.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Setting group attributes on Office 365 groups&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|GroupMember.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Manage GroupMembers in Office 365&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Directory.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Setting attributes on the user in Azure Active Directory&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|MailboxSettings.ReadWrite&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to set mailbox settings in Office 365.&lt;br /&gt;
Used to get/create categories&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
Skemabrikker.exe&lt;br /&gt;
|-&lt;br /&gt;
|Calendars.ReadWrite&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to allow UMS to sync calendar events to Office 365&lt;br /&gt;
|Skemabrikker.exe&lt;br /&gt;
|-&lt;br /&gt;
|Files.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to provision OneDrive for users&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Teams sync permissions===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|EduRoster.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Allows the UMS to handle users on roster&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Member.Read.Hidden&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Allows the UMS to handle users on roster&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|TeamMember.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to add or remove users from Team&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|TeamsTab.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to create tabs in teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|TeamsAppInstallation.ReadForTeam.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to install app in teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Team.Create&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to create Teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|-&lt;br /&gt;
|Team.ReadBasic.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Used to read teams&lt;br /&gt;
|Live_at_edu.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Change Password when using Azure AD as login===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Directory.AccessAsUser.All&lt;br /&gt;
|Delegated&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|&lt;br /&gt;
|UMS Web&lt;br /&gt;
|-&lt;br /&gt;
|User.Read&lt;br /&gt;
|Delegated&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|&lt;br /&gt;
|UMS Web&lt;br /&gt;
|}&lt;br /&gt;
See also [[Password Change Azure AD]]&lt;br /&gt;
&lt;br /&gt;
===Password Sync===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Roles and Administrators&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Reset password for Users&lt;br /&gt;
|Password_Sync&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===SharePoint===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Sites.FullControl.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Have full control of all site collections&lt;br /&gt;
|Office365_SP_OneNote.exe&lt;br /&gt;
|-&lt;br /&gt;
|User.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|Read and write user profiles&lt;br /&gt;
|Office365_SP_OneNote.exe&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===OneNote===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Permission name&lt;br /&gt;
!Permission type&lt;br /&gt;
!API&lt;br /&gt;
!Used for&lt;br /&gt;
!Used by&lt;br /&gt;
|-&lt;br /&gt;
|Notes.ReadWrite.All&lt;br /&gt;
|Application&lt;br /&gt;
|Microsoft Graph&lt;br /&gt;
|&lt;br /&gt;
|Office365_SP_OneNote.exe&lt;br /&gt;
|}&amp;lt;br /&amp;gt;&lt;br /&gt;
===Password Administrator===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To Add Password administrator roles. Click &#039;&#039;&#039;Roles and administrator&#039;&#039;&#039;&lt;br /&gt;
[[File:Passwordd.png|thumb|1167x1167px|none]]&lt;br /&gt;
&lt;br /&gt;
*Click Add Assignments and Search for App Registrations name and Click Add.&lt;br /&gt;
&lt;br /&gt;
[[File:Password1.png|1167x1167px|thumb|none]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ :==&lt;br /&gt;
If you get this message when trying to reset password in Office365 using MS Graph Api. This is because user is global Admin and therefore MS graph can not Reset password&lt;br /&gt;
[[File:Passwordsync.png|none|thumb|1245x1245px]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4504</id>
		<title>Configurator/SMS Server</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Configurator/SMS_Server&amp;diff=4504"/>
		<updated>2022-09-12T10:46:35Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* gatewayapi.com */  fjernet&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Choose the desired SMS Gateway solution=&lt;br /&gt;
&lt;br /&gt;
==Stand alone==&lt;br /&gt;
This is a hardware box delivered by inLogic.&lt;br /&gt;
&lt;br /&gt;
[[InLogic SMS Gateway]][[File:SMS Server StandAlone inLogic Modem.jpg|none|thumb|570x570px]]&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the inLogic gateway&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
This cannot be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password of a sendsms user. This password can be change on the gateway&lt;br /&gt;
&lt;br /&gt;
==Gateway server==&lt;br /&gt;
This is a server program that can combine more inLogic gateways.[[File:SMS Server GateWayServer.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Gateway address====&lt;br /&gt;
Enter the full DNS name of the gateway server&lt;br /&gt;
&lt;br /&gt;
====User name====&lt;br /&gt;
Enter the username for the webservices. Default is &amp;quot;WebserviceUser&amp;quot; but can be changed.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Enter the password for the user. This has to be setup at first install of the GateWay server program. The password generated at install is random.&lt;br /&gt;
&lt;br /&gt;
==SMS Provider==&lt;br /&gt;
This option allows you to choose between a list of internet SMS providers that UMS integrates with.&lt;br /&gt;
&lt;br /&gt;
===[https://gatewayapi.eu/ gatewayapi.eu]===&lt;br /&gt;
Remember to create an account first.[[File:SMS Server SMSProvider gatewayapi.jpg|none|thumb|570x570px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Region====&lt;br /&gt;
Select the region to COM or EU.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
It is found on the gatewayapi site under API-&amp;gt;API keys-&amp;gt;Get Key/Token&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in gatewayapi.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at gatewayapi====&lt;br /&gt;
Setup a REST web hook to catch incoming SMS and send them to UMS. This is setup under API-&amp;gt;Web Hooks-&amp;gt;Rest-&amp;gt;Add new&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/gatewayapi.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/gatewayapi.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
Under keywords for the web hook assign the phone number and/or the keyword.&lt;br /&gt;
&lt;br /&gt;
===[https://www.sinch.com/ Sinch.com]===&lt;br /&gt;
Remember to create an account first.&lt;br /&gt;
[[File:SMS Server SMSProvider Sinch.jpg|none|thumb|500x500px]]&lt;br /&gt;
&lt;br /&gt;
====Callback URL====&lt;br /&gt;
Enter the URL of the UMS web server. This must be running https.&lt;br /&gt;
&lt;br /&gt;
This is used for status updates when sending SMS from UMS.&lt;br /&gt;
&lt;br /&gt;
====Sender====&lt;br /&gt;
Enter a phone number or 11 characters. This is what is displayed on the phone when receiving the SMS.&lt;br /&gt;
&lt;br /&gt;
====Service plan id====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====API Token====&lt;br /&gt;
Used to authenticate when sending SMS to users.&lt;br /&gt;
&lt;br /&gt;
This can be found https://dashboard.sinch.com/sms/api/rest&lt;br /&gt;
&lt;br /&gt;
====Keyword====&lt;br /&gt;
This is used when your using a keyword in Sinch.com to identify where to send incoming SMS from users. This will remove the keyword at the start of the SMS.&lt;br /&gt;
&lt;br /&gt;
This can be blank if you don&#039;t want to remove the keyword from the SMS or if your using a virtual number.&lt;br /&gt;
&lt;br /&gt;
This is only used when using short codes instead of virtual numbers.&lt;br /&gt;
&lt;br /&gt;
====Configuration settings at Sinch.com====&lt;br /&gt;
Setup a Callback URL for the virtual number to catch incoming SMS and send them to UMS. This is setup here https://dashboard.sinch.com/numbers/your-numbers/numbers. Choose the correct virtual number.&lt;br /&gt;
&lt;br /&gt;
The web hook URL must be:[https://044e-87-48-162-154.ngrok.io/SMSServer/Sinch.asmx/Incoming https://&amp;lt;Public DNS&amp;gt;/SMSServer/Sinch.asmx/Incoming]&lt;br /&gt;
&lt;br /&gt;
Change the public DNS to your UMS frontend servers URL.&lt;br /&gt;
&lt;br /&gt;
=Default settings=&lt;br /&gt;
[[File:SMS Server Settings.jpg|none|thumb|518x518px]]&lt;br /&gt;
&lt;br /&gt;
====Keep SMS log====&lt;br /&gt;
Set how many days to keep SMS entries in the database.&lt;br /&gt;
&lt;br /&gt;
====Resend====&lt;br /&gt;
Set how many times the gateway will try to send the SMS, before sending the text in an e-mail.&lt;br /&gt;
&lt;br /&gt;
====Country code====&lt;br /&gt;
This is used to identify the country where the SIM cards are registered.&lt;br /&gt;
&lt;br /&gt;
====Max reply time====&lt;br /&gt;
Set the number of minutes the user has to answer a received mail.&lt;br /&gt;
&lt;br /&gt;
====Local number length====&lt;br /&gt;
Define how long the phone numbers for the country code is.&lt;br /&gt;
&lt;br /&gt;
====SMS Start time====&lt;br /&gt;
Choose time of day from when it is possible to send messages using UMS.&lt;br /&gt;
&lt;br /&gt;
====SMS end time====&lt;br /&gt;
Choose time of day when it is no longer possible to send messages using UMS.&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=G_Suite&amp;diff=4487</id>
		<title>G Suite</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=G_Suite&amp;diff=4487"/>
		<updated>2022-08-31T13:07:49Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMS integrates to G Suite with the module G Suite Sync which:&lt;br /&gt;
&lt;br /&gt;
*Creates users and their e-mail accounts&lt;br /&gt;
*Maintains users in G Suite, i.e. data changes are synchronised to UMS&lt;br /&gt;
*Synchronises passwords&lt;br /&gt;
*Deletes users who no longer attend the school&lt;br /&gt;
&lt;br /&gt;
Integration to G Suite quickly becomes profitable. With UMS, the school saves resources by automating many manual tasks&lt;br /&gt;
&lt;br /&gt;
*Avoid having to program scripts to synchronise the data&lt;br /&gt;
*Users are automatically created with data from your student administration system&lt;br /&gt;
*It reduces the workload for the IT-department&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Supported administrative systems===&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===Additional functionality===&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
&lt;br /&gt;
===What to have ready===&lt;br /&gt;
&lt;br /&gt;
===Is any physical item required===&lt;br /&gt;
&lt;br /&gt;
===Should third party be contacted===&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&#039;&#039;&#039;Google Apps&#039;&#039;&#039;&lt;br /&gt;
[[File:Googleappsadminsettings.png|none|thumb|577x577px]]&lt;br /&gt;
&lt;br /&gt;
======Organization settings======&lt;br /&gt;
See description how to create/setup further down this page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Users&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Mail Alias”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose what to use as the users mail address (login).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Disable users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When marked the users will be disabled when they are no longer attending classes.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Delete users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose if users are to be deleted after grace period has ended.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Forward mail to on premise mail server”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will forward the users Office 365 mail to the primary mail address from AD (If user does not have a proxy address it will read it from the mail attribute)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Keep inactive before deleting x days”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify a grace period where users are disabled. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Distribution lists&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain lists”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to create distribution groups in Office 365. The groups will be created, updated and deleted if this is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete lists”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to delete distributions groups when they are no longer active in the administrative system. Check the data export manuals too when this happens&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete unused lists after x days”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify in days how long the distribution groups are to be kept alive in Office 365 before deletion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Only senders inside my organization”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With this marked only users in the domain will be able to send to distribution groups created by UMS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Template security groups&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will create the security group entered in the field “template security group” in the destination node in the template settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Timetable&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to create timetable blocks in Google Apps. They will be created, updated and deleted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete old”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to delete old timetable blocks from calendars.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;Site&#039;&#039;===&lt;br /&gt;
[[File:Googleappssite.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Full: Means that site maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remove learner method”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Deleted in AD”&lt;br /&gt;
&lt;br /&gt;
Users will be removed from site when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
“Finished on activity/course”&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Auto delete”&lt;br /&gt;
&lt;br /&gt;
Sites will be delete when the last student has left the site&lt;br /&gt;
&lt;br /&gt;
“Manual Delete”&lt;br /&gt;
&lt;br /&gt;
Sites will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the sites are to be created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the sites are to be deleted.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Teacher rights on sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the teacher will have on the site when attached.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Learner rights on sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the student/learner will have on the site when attached.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;SQL Groups&#039;&#039;&#039;===&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Title&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;===&lt;br /&gt;
This will enable you to concatenate sites that would have been created as to or more sites to be created as one site.&lt;br /&gt;
[[File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Examples&#039;&#039;&#039;====&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint site.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity_course”.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on courses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Title&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate sites that would have been created as two or more sites to be created as one site.&lt;br /&gt;
[[File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;big&amp;gt;Drive&amp;lt;/big&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
[[File:Googleappsdrive.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;Full&amp;lt;/big&amp;gt;&#039;&#039;&#039;:&amp;lt;/u&amp;gt; Means that drive maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;“Remove learner method”&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Deleted in AD”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Users will be removed from drive when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Finished on activity/course”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;“Delete drives”&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Auto delete”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drives will be delete when the last student has left the drive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Manual Delete”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drives will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a drive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the drives are to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the drives are to be deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Teacher rights on drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the teacher will have on the drive when attached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Learner rights on drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the student/learner will have on the drive when attached.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all drives created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all drives.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the drive. Changing this after a drive has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate drives that would have been created as to or more drives to be created as one drive.&lt;br /&gt;
[[File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint drive.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity_course”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any drives based on courses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create drives based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all drives.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the drive. Changing this after a drive has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate drives that would have been created as two or more drives to be created as one drive.&lt;br /&gt;
&lt;br /&gt;
[[File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
  === &#039;&#039;Classroom&#039;&#039; ===&lt;br /&gt;
There can only be a maximum of 990 classrooms in total in one organization. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Google designed features (Not UMS)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If a teacher leaves the school, the material that he has put into classrooms will be deleted as well.&lt;br /&gt;
&lt;br /&gt;
If a user has too many classrooms it will be very slow for this user.&lt;br /&gt;
[[File:Googleappsclassroomsettings.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Full: Means that classroom maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remove learner method”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Deleted in AD”&lt;br /&gt;
&lt;br /&gt;
Users will be removed from classroom when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
“Finished on activity/course”&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course.   &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete classrooms”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Auto delete”&lt;br /&gt;
&lt;br /&gt;
Classrooms will be delete when the last student has left the classroom&lt;br /&gt;
&lt;br /&gt;
“Manual Delete”&lt;br /&gt;
&lt;br /&gt;
Classrooms will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a classroom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the classroom s are to be created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the classroom s are to be deleted.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all classrooms created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Classroomss”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all classrooms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the classroom. Changing this after a classroom has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate classrooms that would have been created as to or more classrooms to be created as one classroom.&lt;br /&gt;
[[File:Googleappssearchfilters.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint classroom.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Classrooms”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity course”.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any classrooms based on courses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create classrooms based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all classrooms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the classroom. Changing this after a classroom has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate classrooms that would have been created as two or more classrooms to be created as one classroom.&lt;br /&gt;
[[File:Googleappsseachfilters3.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
  === &#039;&#039;&#039;Organization Settings&#039;&#039;&#039; ===&lt;br /&gt;
When creating Google API refer to this lInk &lt;br /&gt;
&lt;br /&gt;
[[Google app API|http://wiki.inlogic.dk/index.php/Google_app_API]] [[File:Googleappsorganizationsettings.png|none|thumb|378x378px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Description”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add a description to be able to identify the account.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Admin login”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mail address of an administrative user&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Password”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Password for the admin login specified&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Domain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The google domain that is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Client ID”, “Client Secret”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is obtained when following the instructions in the PDF document&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Refresh token”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will be generated the first time google synchronization is started. If this is reset UMS will asked for it again when the next synchronization is run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Timetable Users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can be used when creating timetable blocks. Look in timetable documentation for this feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Template Settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is where you specify which templates are synchronized with Google and how.&lt;br /&gt;
[[File:Googleappstemplateeditor.png|none|thumb|687x687px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Setting”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the setting described above  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Organization setting”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify where the users are created&lt;br /&gt;
[[File:Googleappsaosettings.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is where all users is placed&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use this path when below 13 years of age&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This is where users that are under 13 years is placed. If this is not specified everyone will be placed under the path setting. (This is helpful when it comes to Google+)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OU Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The description that is set on the OU when it is created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating sites from this template &lt;br /&gt;
[[File:Googleappssitesettings.png|none|thumb|422x422px]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site category&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A list of categories added to the site when creating it separated with a ;&lt;br /&gt;
&lt;br /&gt;
A category called UMS will be added aswell. (This cannot be change)  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Drive settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating drives from this template &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Careful, do not name any of these type of subfolders with the same name.&#039;&#039;&#039; &lt;br /&gt;
[[File:Googleappsdrivesettings.png|none|thumb|429x429px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The path where the drives are created&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create user specific subfolder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a folder for each student that is attached to each drive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create subfolder (Teacher Read/Write - Student Read)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A folder where teachers can upload data that students can only read&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create subfolder (Teacher Read/Write - Student Read/Write)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A folder where teachers and students can share data both with read/write&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:Googleappsstudents.png|none|thumb|279x279px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classroom settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating classrooms from this template  &lt;br /&gt;
[[File:Googleappsclassroomsettings2.png|none|thumb]]  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
==Installation G Suite Sync==&lt;br /&gt;
Steps to make UMS sync work with G Suite.&lt;br /&gt;
&lt;br /&gt;
Log on &amp;lt;nowiki&amp;gt;https://console.developers.google.com&amp;lt;/nowiki&amp;gt; with your Google Admin account.&lt;br /&gt;
&lt;br /&gt;
Create a project&lt;br /&gt;
[[File:Googlesyncproject2.png|none|thumb|594x594px]]&lt;br /&gt;
&lt;br /&gt;
When created choose project and click the newly created project.&lt;br /&gt;
&lt;br /&gt;
Choose “Enable and manage APIs”. Enable these APIs&lt;br /&gt;
[[File:Googlesyncenableapi.png|none|thumb|463x463px]]&lt;br /&gt;
&lt;br /&gt;
Click credentials&lt;br /&gt;
&lt;br /&gt;
And choose “OAuth client ID”&lt;br /&gt;
&lt;br /&gt;
Choose settings as show on below image. Name can be changed.&lt;br /&gt;
[[File:Googlesyncoauth.png|none|thumb|499x499px]]&lt;br /&gt;
&lt;br /&gt;
Then choose “Create”&lt;br /&gt;
&lt;br /&gt;
Which creates an OAuth 2.0 client ID&lt;br /&gt;
&lt;br /&gt;
Enter Client ID and Client Secret into UMS&lt;br /&gt;
[[File:Googlesyncoauth2.png|none|thumb|513x513px]]&lt;br /&gt;
&lt;br /&gt;
Go back to “Overview” and choose “Enabled APIs”&lt;br /&gt;
&lt;br /&gt;
Click on each API you added and choose Quota &lt;br /&gt;
[[File:Googlesyncenableapi2.png|none|thumb|517x517px]]&lt;br /&gt;
&lt;br /&gt;
Set the number as high as you can without “apply for higher quota”&lt;br /&gt;
[[File:Googlesyncapplyhighquota.png|none|thumb|439x439px]]&lt;br /&gt;
&lt;br /&gt;
And you are done with this site.&lt;br /&gt;
&lt;br /&gt;
Now Log on https://admin.google.com with your Google Admin account&lt;br /&gt;
&lt;br /&gt;
Find “Other Google Services” - can be located under “More Controls” or under APPS aplaced at page bottom.&lt;br /&gt;
&lt;br /&gt;
Click “add services” upper right corner&lt;br /&gt;
&lt;br /&gt;
Then click “Add it now” on “Groups for Business”&lt;br /&gt;
[[File:Googlesyncservices.png|none|thumb|495x495px]]&lt;br /&gt;
&lt;br /&gt;
Back to start and choose “Security”&lt;br /&gt;
&lt;br /&gt;
Choose “API reference” and check “Enable API access”&lt;br /&gt;
[[File:Googlesyncsecurity.png|none|thumb|439x439px]]&lt;br /&gt;
&lt;br /&gt;
Go to the UMS “usermanagement folder” and run “GoogleApps_Sync.exe” manually. &lt;br /&gt;
&lt;br /&gt;
Login to Google using credentials from Google Organization settings.&lt;br /&gt;
&lt;br /&gt;
When logged in succesfully, “Accept” the following&lt;br /&gt;
[[File:Googlesyncaccept.png|none|thumb|578x578px]]&lt;br /&gt;
If you get a “This page can’t be displayed”&lt;br /&gt;
[[File:Googlesyncpagenotfound.png|none|thumb|315x315px]]&lt;br /&gt;
&lt;br /&gt;
Do not be alarmed. The job has been activated and you can check your GoogleApps_Sync.log to confirm that the job has completed running.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
 &amp;gt; GoogleApps_Sync.exe [&amp;lt;optional&amp;gt; Action]&lt;br /&gt;
Eg.&lt;br /&gt;
 &amp;gt; GoogleApps_Sync.exe&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; GoogleApps_Sync.exe UsersOnly&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Users&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|UsersOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateLearners&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CreateStaff&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UpdateLearners&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UpdateStaff&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|RenameLearners&lt;br /&gt;
|Rename the learners with a new mail/Login&lt;br /&gt;
|-&lt;br /&gt;
|RenameTeachers&lt;br /&gt;
|Rename the teachers with a new mail/Login&lt;br /&gt;
|-&lt;br /&gt;
|DeleteLearners&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DeleteStaff&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DisableLearners&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|EnableLearners&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DisableStaff&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|EnableStaff&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UpdateLearnerOU&lt;br /&gt;
|Move the learners to the correct OU&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeacherOU&lt;br /&gt;
|Move the teachers to the correct OU&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeacherMailForward&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UpdateLearnerMailForward&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|GroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateGroups&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|CleanUpGroups&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachersToGroups&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|RemoveTeachersFromGroups&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AddLearnersToGroups&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|RemoveLearnersFromGroups&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Template groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TemplateGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|RemoveUsersFromTemplateGroups&lt;br /&gt;
|Remove users from template security groups&lt;br /&gt;
|-&lt;br /&gt;
|AddUsers2TemplateGroups&lt;br /&gt;
|Add users to template security groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTemplateGroups&lt;br /&gt;
|Delete groups that are no longer template security groups&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Web sites&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|WebSitesOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddSites2DB&lt;br /&gt;
|Add new sites to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateSites&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSites&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DeleteSites&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Site&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Site&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeachersWebSites&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DeleteLearnersWebSites&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Classroom&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|ClassroomOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddClassrooms2DB&lt;br /&gt;
|Add new classrooms to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateClassrooms&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|UpdateClassrooms&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DeleteClassrooms&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Classroom&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Classroom&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeachersClassroom&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|DeleteLearnersClassroom&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
Why do I not get the drive/site created?&lt;br /&gt;
&lt;br /&gt;
1.      Activity&lt;br /&gt;
&lt;br /&gt;
a.     Is there a user on the activity with a primary template that has an office 365 setting attached&lt;br /&gt;
&lt;br /&gt;
b.     Is the flag Aktivitet_LMS = True&lt;br /&gt;
&lt;br /&gt;
2.     Course&lt;br /&gt;
&lt;br /&gt;
a.     Is there a user on the course with a primary template that has an office 365 setting attached&lt;br /&gt;
&lt;br /&gt;
b.     Is the flag Skolefag_LMS = True&lt;br /&gt;
&lt;br /&gt;
===CreateGroups Error===&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Get root folders  [Inlogic_Alle 1e-elever]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;(CreateGroups) Error Google.Apis.Requests.RequestError&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Not Authorized to access this resource/api [403] Errors [ Message[Not Authorized to access this resource/api] Location[ - ] Reason[forbidden] Domain[global]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Get root folders&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;(CreateGroups) Error Google.Apis.Requests.RequestError&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Not Authorized to access this resource/api [403]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Errors [ Message[Not Authorized to access this resource/api] Location[ - ] Reason[forbidden] Domain[global]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The reason why that error occurs is that the mail adr. is used by another group or user. Test by manually creating a group in google admin portal. The image below shows the error.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To correct this error&#039;&#039;&#039;: create a &#039;&#039;&#039;USER&#039;&#039;&#039; with the same email address and then delete it again. After this, it will be possible to create the Group.&lt;br /&gt;
[[File:Fgd.png|left|thumb|935x935px]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=GetTimetable/Ludus&amp;diff=4470</id>
		<title>GetTimetable/Ludus</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=GetTimetable/Ludus&amp;diff=4470"/>
		<updated>2022-08-31T08:25:04Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements for writing absence to LUDUS==&lt;br /&gt;
You will need to open this webservices in LUDUS (marked in yellow) if UMS is going to write absence back to LUDUS.&lt;br /&gt;
&lt;br /&gt;
Link to Ludus Webservice Catalog - https://ludushelp.eg.dk/system/Web_services.htm&lt;br /&gt;
&lt;br /&gt;
[[File:Ludus Absence Webservice.png]]&lt;br /&gt;
==Setup==&lt;br /&gt;
[[File:GetTimeTable LUDUS.jpg|none|thumb|783x783px]]&lt;br /&gt;
&lt;br /&gt;
===[[GetTimetable/Format and content|Format and content]]===&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
Name of the setting.&lt;br /&gt;
===[[GetTimetable/Absence_settings|Absence settings]]===&lt;br /&gt;
&lt;br /&gt;
===[[GetTimetable/Export_settings|Export settings]]===&lt;br /&gt;
&lt;br /&gt;
===Only write back test data to LUDUS===&lt;br /&gt;
This will only write information back to LUDUS if the activity starts with &#039;&#039;&#039;UMS&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Ludus absence codes -&amp;gt; UMS Absence codes===&lt;br /&gt;
Specify how the Ludus absence codes translates to the absence codes in UMS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This will also enable UMS to write the absence reason from the student back to Ludus.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Write legal absence as illegal absence===&lt;br /&gt;
Normally legal absence will be written as attended. Checking this will write it as absent.&lt;br /&gt;
&lt;br /&gt;
Absence reasons will still be written back to Ludus as legal absence.&lt;br /&gt;
&lt;br /&gt;
===Write too late as illegal absence===&lt;br /&gt;
Normally too late will be written as the minutes that the person came too late. Checking this will write the full lesson as absent.&lt;br /&gt;
&lt;br /&gt;
Absence reasons will still be written back to Ludus as too late absence.&lt;br /&gt;
&lt;br /&gt;
===Append admin note to student reason (Only for webhold)===&lt;br /&gt;
This will append the note type admin note to the student reason when writing absence reasons to Ludus.&lt;br /&gt;
&lt;br /&gt;
The admin note will still be written back to Ludus even though the student hasn&#039;t given a reason.&lt;br /&gt;
&lt;br /&gt;
===Write back default reason if none exists in UMS===&lt;br /&gt;
This will write the default reason text from Ludus as an absence reason if the student reason or admin note (requires the above option the be checked) hasn&#039;t been submitted.&lt;br /&gt;
&lt;br /&gt;
If this option is disabled no absence reason will be written until one is entered into UMS. (Student reason or admin note)&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
If exportabsencetoadminsystem log contains error about absence_code not found in Ludus, it could missing &amp;quot;fraværskode&amp;quot; or a discrepancy in &amp;quot;tekst&amp;quot;.&lt;br /&gt;
[[File:Fraværskoder.png|none|thumb|406x406px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To resend already sent absence_registrations , set export2adminsys = 1 in these tables&lt;br /&gt;
&lt;br /&gt;
Absence_register (for todays registrations)&lt;br /&gt;
&lt;br /&gt;
Absence_stat_register (for older registrations)&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Frav%C3%A6rskoder.png&amp;diff=4469</id>
		<title>File:Fraværskoder.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Frav%C3%A6rskoder.png&amp;diff=4469"/>
		<updated>2022-08-31T08:21:12Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;fraværskoder i Ludus&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Timetable&amp;diff=4468</id>
		<title>Timetable</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Timetable&amp;diff=4468"/>
		<updated>2022-08-29T13:19:40Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* AllTimeTableEmployees */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Skemabrikker.exe is a small sync job that needs to run when timetables are created, updated, or deleted.&lt;br /&gt;
&lt;br /&gt;
Example of timetable in UMS and Outlook:&lt;br /&gt;
[[File:Timetable in UMS and Outlook.png|none|thumb|600x600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following systems are supported:&lt;br /&gt;
&lt;br /&gt;
*Office 365&lt;br /&gt;
*Exchange&lt;br /&gt;
*GSuite&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
&lt;br /&gt;
===Usage===&lt;br /&gt;
 &amp;gt; Skemabrikker.exe [&amp;lt;optional&amp;gt; System] [&amp;lt;optional&amp;gt; Action] [&amp;lt;optional&amp;gt; Mail] [&amp;lt;optional&amp;gt; StartDate] [&amp;lt;optional&amp;gt; EndDate] [&amp;lt;optional&amp;gt; Type [UMS | NonUMS | All]]&lt;br /&gt;
Eg.&lt;br /&gt;
 &amp;gt; Skemabrikker.exe Office365 teachersonly&lt;br /&gt;
&lt;br /&gt;
 &amp;gt; Skemabrikker.exe Office365 find tea@umsacademic.onmicrosoft.com 12-05-2019 13-05-2019 All&lt;br /&gt;
&lt;br /&gt;
====Applyrights====&lt;br /&gt;
Only works for Exchange and Office365. Restores rights for a room if they have accidentally been deleted or changed.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Systems====&lt;br /&gt;
This parameter is used to define what system Skemabrikker.exe will populate the timetables to. We currently support timetable integration to these systems:&lt;br /&gt;
&lt;br /&gt;
Exchange&lt;br /&gt;
&lt;br /&gt;
Office365&lt;br /&gt;
&lt;br /&gt;
GoogleApps&lt;br /&gt;
&lt;br /&gt;
[[Timetable/itslearning|Itslearning]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Teachersonly=====&lt;br /&gt;
This parameter is used if the [action] parameter needs to affect only teachers.&lt;br /&gt;
&lt;br /&gt;
=====Studentsonly=====&lt;br /&gt;
This parameter is used if the [action] parameter needs to affect only students.&lt;br /&gt;
&lt;br /&gt;
=====Roomsonly=====&lt;br /&gt;
This parameter is used if the [action] parameter needs to affect only a given physical Classroom (When this parameter is used you need to add the ID for the given room ie. [Action] [Mail] &#039;Room_ID&#039;).&lt;br /&gt;
&lt;br /&gt;
=====Activitiesonly=====&lt;br /&gt;
This parameter is used if the [action] parameter needs to only affect a given activity (When this parameter is used you need to add the ID for the given activity ie. [Action] [Mail] &#039;Activity_ID&#039;).&lt;br /&gt;
&lt;br /&gt;
=====Coursesonly=====&lt;br /&gt;
This parameter is used if the [action] parameter needs to only affect a given course (When this parameter is used you need to add the ID for the given course ie. [Action] [Mail] &#039;Activity_ID_Course_ID&#039;).&lt;br /&gt;
&lt;br /&gt;
====Action====&lt;br /&gt;
&lt;br /&gt;
=====find=====&lt;br /&gt;
Used to display the timetables associated with the given [mail] parameter.&lt;br /&gt;
&lt;br /&gt;
=====delete=====&lt;br /&gt;
Used to delete the timetables associated with the given [mail] parameter.&lt;br /&gt;
&lt;br /&gt;
=====update=====&lt;br /&gt;
Used to update the timetables that needs to be updated and are associated with the given [mail] parameter.&lt;br /&gt;
&lt;br /&gt;
=====cleanup=====&lt;br /&gt;
Used to find UMS appointments in users calendars and delete them if they are not found in UMS database.&lt;br /&gt;
&lt;br /&gt;
====Mail====&lt;br /&gt;
&lt;br /&gt;
=====mail/UPN=====&lt;br /&gt;
This parameter is used if the [action] parameter needs to affect a specific user.&lt;br /&gt;
&lt;br /&gt;
=====AllTimeTableStudents=====&lt;br /&gt;
This will delete timetable blocks from all known students&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Works with&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Office 365&lt;br /&gt;
&lt;br /&gt;
Exchange&lt;br /&gt;
&lt;br /&gt;
=====AllTimeTableEmployees=====&lt;br /&gt;
This will delete timetable blocks from all known employees&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Eg : Skemabrikker.exe Office365 delete AllTimeTableEmployees 01-08-2022 31-09-2022 UMS&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039;Works with&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Office 365&lt;br /&gt;
&lt;br /&gt;
Exchange&lt;br /&gt;
&lt;br /&gt;
=====AllTimeTableRooms=====&lt;br /&gt;
&lt;br /&gt;
This will delete timetable blocks from all known rooms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Works with&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Office 365&lt;br /&gt;
&lt;br /&gt;
====StartDate====&lt;br /&gt;
This parameter is used to define the start date in which the find, delete, or update parameter will affect the timetables. The format for this parameter is dd-mm-yyyy.&lt;br /&gt;
&lt;br /&gt;
====EndDate====&lt;br /&gt;
This parameter is used to define the end date in which the find, delete, or update parameter will affect the timetables The format for this parameter is dd-mm-yyyy.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Type====&lt;br /&gt;
UMS - This parameter is used to define that the timetables that have been generated by UMS, will be effected.&lt;br /&gt;
&lt;br /&gt;
NonUMS - This parameter is used to define that the timetables that have not been generated by UMS, will be effected.&lt;br /&gt;
&lt;br /&gt;
All - This parameter is used to define that timetables both from UMS and non UMS, will be effected.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==External systems==&lt;br /&gt;
&lt;br /&gt;
===[[Timetable/itslearning|itslearning]]===&lt;br /&gt;
&lt;br /&gt;
===[[Timetable/Office365|Office 365]]===&lt;br /&gt;
&lt;br /&gt;
===[[Timetable/GoogleGSuite|Google GSuite]]===&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
====How do I find timetable blocks with skemabrikker.exe ?====&lt;br /&gt;
Example following the general parameters:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|skemabrikker.exe  office365 find tea@umsacademic.onmicrosoft.com 12-05-2019 13-05-2019 All&lt;br /&gt;
|}&lt;br /&gt;
Inspect the skemabrikker.log. The long string value in the log file refers to the ID in the table &#039;&#039;&#039;SkemaBrikkerSavedEntries_Students, SkemaBrikkerSavedEntries_Teachers, SkemaBrikkerSavedEntries_Rooms, SkemaBrikkerSavedEntries_Activities&#039;&#039;&#039;.&lt;br /&gt;
[[File:Skemabrikkerlog.png|none|thumb|864x864px]]&lt;br /&gt;
&lt;br /&gt;
====How do I find timetable blocks with SQL statements?====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Select  SkemaBrikkerNewEntries.*&lt;br /&gt;
&lt;br /&gt;
From  SkemaBrikkerNewEntries&lt;br /&gt;
&lt;br /&gt;
Join  SkemaBrikker_Students On SkemaBrikkerNewEntries.SkemaBegivenhed_ID  = SkemaBrikker_Students.SkemaBegivenhed_ID And  SkemaBrikkerNewEntries.SkemaBrikkerAdminServers_ID =  SkemaBrikker_Students.SkemaBrikkerAdminServers_ID&lt;br /&gt;
&lt;br /&gt;
And SkemaBrikkerNewEntries.Activity =  SkemaBrikker_Students.Activity&lt;br /&gt;
&lt;br /&gt;
Where &lt;br /&gt;
&lt;br /&gt;
SkemaBrikker_Students.cpr In (Select Cpr from Students where studienr= &#039;xxxxxx&#039;)&lt;br /&gt;
&lt;br /&gt;
and SkemaBrikkerNewEntries.Dato = &#039;28-11-2018&#039;&lt;br /&gt;
&lt;br /&gt;
Order By  RealStartDateTime&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====How do I change format and content of timetable blocks in Outlook?====&lt;br /&gt;
Open UMS Configurator, select Modules &amp;quot;TimeTable&amp;quot; and select your datasource, then edit Format And Content&lt;br /&gt;
&lt;br /&gt;
Variables can be replaced as pictured below.&lt;br /&gt;
[[File:Timetable format and content.png|none|thumb|1152x1152px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Run only for one user===&lt;br /&gt;
&lt;br /&gt;
====Students====&lt;br /&gt;
Skemabrikker.exe studentsonly &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Teachers====&lt;br /&gt;
Skemabrikker.exe teachersonly &amp;lt;username&amp;gt;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4464</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4464"/>
		<updated>2022-08-24T09:17:43Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* UMS Configurator settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
[[GetTimetable]] - This needs to be executed before export data is available&amp;lt;br /&amp;gt;&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
[[File:Studily settings.png|none|thumb|664x664px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
&lt;br /&gt;
* Insert a name or description for the setting&lt;br /&gt;
&lt;br /&gt;
Tenant settings&lt;br /&gt;
&lt;br /&gt;
* Select the tenant settings available from [[Office365 Tenant]]&lt;br /&gt;
&lt;br /&gt;
ClientID&lt;br /&gt;
&lt;br /&gt;
* Insert ClientID requested from Inlogic&lt;br /&gt;
&lt;br /&gt;
ClientSecret&lt;br /&gt;
&lt;br /&gt;
* Insert ClientSecret requested from Inlogic&lt;br /&gt;
&lt;br /&gt;
Environment&lt;br /&gt;
&lt;br /&gt;
* Choose the environment your Studily is running on (default production)&lt;br /&gt;
&lt;br /&gt;
SQL Sentence&lt;br /&gt;
&lt;br /&gt;
* insert parameters for filtering purposes&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Why does Studily calender view contain more timetable blocks than personal calendar?====&lt;br /&gt;
&lt;br /&gt;
*Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.&lt;br /&gt;
*Your personal calendar only contains your own timetable blocks&lt;br /&gt;
*Therefore users may have differences in Calendar view of Studily and their personal calendar.&lt;br /&gt;
&lt;br /&gt;
====Overlapping Timetable blocks shown in Studily====&lt;br /&gt;
&lt;br /&gt;
*Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====How do I activate the Studily timetable module?====&lt;br /&gt;
&lt;br /&gt;
*Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Studily_settings.png&amp;diff=4463</id>
		<title>File:Studily settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Studily_settings.png&amp;diff=4463"/>
		<updated>2022-08-24T09:10:00Z</updated>

		<summary type="html">&lt;p&gt;Cna: Cna uploaded a new version of File:Studily settings.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Configurator module settings&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Studily_settings.png&amp;diff=4462</id>
		<title>File:Studily settings.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Studily_settings.png&amp;diff=4462"/>
		<updated>2022-08-24T09:03:43Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Configurator module settings&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4461</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4461"/>
		<updated>2022-08-24T09:00:08Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Studily FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
[[GetTimetable]] - This needs to be executed before export data is available&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Why does Studily calender view contain more timetable blocks than personal calendar? ====&lt;br /&gt;
&lt;br /&gt;
*Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.&lt;br /&gt;
*Your personal calendar only contains your own timetable blocks&lt;br /&gt;
*Therefore users may have differences in Calendar view of Studily and their personal calendar.&lt;br /&gt;
&lt;br /&gt;
==== Overlapping Timetable blocks shown in Studily ====&lt;br /&gt;
&lt;br /&gt;
*Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== How do I activate the Studily timetable module? ====&lt;br /&gt;
&lt;br /&gt;
*Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4460</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4460"/>
		<updated>2022-08-24T08:59:18Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.&amp;lt;/big&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
[[GetTimetable]] - This needs to be executed before export data is available&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why does Studily calender view contain more timetable blocks than personal calendar?  &lt;br /&gt;
&lt;br /&gt;
*Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.&lt;br /&gt;
*Your personal calendar only contains your own timetable blocks&lt;br /&gt;
*Therefore users may have differences in Calendar view of Studily and their personal calendar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overlapping Timetable blocks shown in Studily  &lt;br /&gt;
&lt;br /&gt;
*Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How do I activate the Studily timetable module?  &lt;br /&gt;
&lt;br /&gt;
*Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4459</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4459"/>
		<updated>2022-08-24T08:58:43Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
[[GetTimetable]] - This needs to be executed before export data is available&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why does Studily calender view contain more timetable blocks than personal calendar?  &lt;br /&gt;
&lt;br /&gt;
*Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.&lt;br /&gt;
*Your personal calendar only contains your own timetable blocks&lt;br /&gt;
*Therefore users may have differences in Calendar view of Studily and their personal calendar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overlapping Timetable blocks shown in Studily  &lt;br /&gt;
&lt;br /&gt;
*Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How do I activate the Studily timetable module?  &lt;br /&gt;
&lt;br /&gt;
*Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4458</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4458"/>
		<updated>2022-08-24T08:58:02Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* UMS Configurator settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams. ===&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Requirements ====&lt;br /&gt;
[[GetTimetable]] - This needs to be executed before export data is available&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why does Studily calender view contain more timetable blocks than personal calendar?  &lt;br /&gt;
&lt;br /&gt;
*Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.&lt;br /&gt;
*Your personal calendar only contains your own timetable blocks&lt;br /&gt;
*Therefore users may have differences in Calendar view of Studily and their personal calendar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overlapping Timetable blocks shown in Studily  &lt;br /&gt;
&lt;br /&gt;
*Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How do I activate the Studily timetable module?  &lt;br /&gt;
&lt;br /&gt;
*Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4457</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4457"/>
		<updated>2022-08-24T08:54:29Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Studily FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why does Studily calender view contain more timetable blocks than personal calendar?  &lt;br /&gt;
&lt;br /&gt;
*Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.&lt;br /&gt;
*Your personal calendar only contains your own timetable blocks&lt;br /&gt;
*Therefore users may have differences in Calendar view of Studily and their personal calendar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overlapping Timetable blocks shown in Studily  &lt;br /&gt;
&lt;br /&gt;
*Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
How do I activate the Studily timetable module?  &lt;br /&gt;
&lt;br /&gt;
*Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4456</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4456"/>
		<updated>2022-08-24T08:53:16Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Studily FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why does Studily calender view contain more timetable blocks than personal calendar?  &lt;br /&gt;
&lt;br /&gt;
*Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.&lt;br /&gt;
*Your personal calendar only contains your own timetable blocks&lt;br /&gt;
*Therefore users may have differences in Calendar view of Studily and their personal calendar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overlapping Timetable blocks shown in Studily  &lt;br /&gt;
&lt;br /&gt;
*Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How do I activate the Studily timetable module?  &lt;br /&gt;
&lt;br /&gt;
*Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4455</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4455"/>
		<updated>2022-08-24T08:51:50Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Studily FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===UMS Configurator settings===&lt;br /&gt;
?&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Studily FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Why does Studily calender view contain more timetable blocks than personal calendar?  &lt;br /&gt;
&lt;br /&gt;
* Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.  &lt;br /&gt;
* Your personal calendar only contains your own timetable blocks  &lt;br /&gt;
* Therefore users may have differences in Calendar view of Studily and their personal calendar. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Overlapping Timetable blocks shown in Studily  &lt;br /&gt;
&lt;br /&gt;
* Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
How do I activate the Studily timetable syncronization?  &lt;br /&gt;
&lt;br /&gt;
* Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4454</id>
		<title>Studily</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Studily&amp;diff=4454"/>
		<updated>2022-08-24T08:45:12Z</updated>

		<summary type="html">&lt;p&gt;Cna: FAQ added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Studi.ly syncronization module exports timetable blocks to the Studi.ly APP in Teams.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== UMS Configurator settings ===&lt;br /&gt;
?&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Studily FAQ ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Why does Studily calender view contain more timetable blocks than personal calendar?  - Studily will per default show all timetable blocks for the ALL Teams you are a member or owner of.  - Your personal calendar only contains your own timetable blocks  - Therefore users may have differences in Calendar view of Studily and their personal calendar. &amp;lt;br /&amp;gt;&lt;br /&gt;
* Overlapping Timetable blocks shown in Studily  - Due to above mentioned presentation of Teams timetable blocks, there might be overlapping blocks in case teams are planned at the same time &amp;lt;br /&amp;gt;&lt;br /&gt;
* How do I activate the Studily timetable syncronization?  - Studi.ly timetable block sync requires the &#039;&#039;&#039;Studily&#039;&#039;&#039; module in your UMS License (please contact salg@inlogic.dk)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Username_Generator&amp;diff=4393</id>
		<title>Username Generator</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Username_Generator&amp;diff=4393"/>
		<updated>2022-06-21T12:15:26Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* AutoNumber */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is used to generate usernames for users in UMS.&lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
First you need to create some options for the setting your going to create later on.&lt;br /&gt;
&lt;br /&gt;
Then add the database replacements.&lt;br /&gt;
&lt;br /&gt;
Then create a setting with a list of prioritized options.&lt;br /&gt;
&lt;br /&gt;
Finally add a username setting to the template that needs this.&lt;br /&gt;
&lt;br /&gt;
==Options==&lt;br /&gt;
&lt;br /&gt;
====AddString====&lt;br /&gt;
This option lets you add a fixed string to the username&lt;br /&gt;
[[File:UsernameGenerator Options AddString.jpg|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
====AutoNumber====&lt;br /&gt;
This option lets you add a number to the username.&lt;br /&gt;
[[File:UsernameGenerator Options AutoNumber.jpg|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can define the starting number and pad left to make sure it has the correct length.&lt;br /&gt;
&lt;br /&gt;
If you set the start number to 1 and set pad left to 4, the number will be 0001&lt;br /&gt;
&lt;br /&gt;
This number will automatically increase when a duplicate string is found in username.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;eg - If the username starts with AB then it will return AB0001&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AB0001 (first instance autonumber)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AC0001 (first instance autonumber)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AD0001 (first instance autonumber)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AB0002 (next  instance autonumber)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The username number is stored in the database in the table &amp;quot;UsernameGenerator_Numbers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====DBField====&lt;br /&gt;
This option lets you take a field from the database table ImportFromDB and use as a starting string.&lt;br /&gt;
[[File:UsernameGenerator Options DBField.jpg|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
====LowerCase====&lt;br /&gt;
This lowercases the username.&lt;br /&gt;
[[File:UsernameGenerator Options LowerCase.jpg|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
====Pad====&lt;br /&gt;
This lets you pad the username either left or right with a character you specify and a length.&lt;br /&gt;
[[File:UsernameGenerator Options Pad.jpg|none|thumb|656x656px]]&lt;br /&gt;
If you pad 4 right and the username is AB it will return AB00.&lt;br /&gt;
&lt;br /&gt;
====Replace====&lt;br /&gt;
This lets you replace characters in the username with new characters or blank.&lt;br /&gt;
[[File:UsernameGenerator Options Replace.jpg|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you check &amp;quot;Use replace from database table&amp;quot; it will use this feature &amp;quot;Database replacements&amp;quot;.&lt;br /&gt;
[[File:UsernameGenerator Options DBReplace.jpg|none|thumb|656x656px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Replace all non alphanumeric====&lt;br /&gt;
This will replace all characters in the username that are not within these ranges with the new string or blank&lt;br /&gt;
&lt;br /&gt;
a-z&lt;br /&gt;
&lt;br /&gt;
A-Z&lt;br /&gt;
&lt;br /&gt;
0-9&lt;br /&gt;
&lt;br /&gt;
-&lt;br /&gt;
[[File:UsernameGenerator Options ReplaceAllNonAlphanumeric.jpg|none|thumb|765x765px]]&lt;br /&gt;
&lt;br /&gt;
====Substring====&lt;br /&gt;
This will replace a part of the username with a new string or blank.&lt;br /&gt;
[[File:UsernameGenerator Options SubString.jpg|none|thumb|656x656px]]&lt;br /&gt;
====Uppercase====&lt;br /&gt;
This uppercases the username.&lt;br /&gt;
[[File:UsernameGenerator Options UpperCase.jpg|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
==Database replacements==&lt;br /&gt;
Define the strings you want to have replace with new or blank string.&lt;br /&gt;
[[File:UsernameGenerator Database replacements.jpg|none|thumb|492x492px]]&lt;br /&gt;
When it looks at a username it will run through all the rows and replace them if they are found.&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
This is where you create a prioritized list options. This setting is then attached to a template.&lt;br /&gt;
[[File:UsernameGenerator Settings.jpg|none|thumb|383x383px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=AdminServers/TimeEdit&amp;diff=4348</id>
		<title>AdminServers/TimeEdit</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=AdminServers/TimeEdit&amp;diff=4348"/>
		<updated>2022-06-13T13:13:16Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:AdminServer TimeEdit.jpg|none|thumb|656x656px]]All connection information is provided by TimeEdit support. (Please contact them for this information.)&lt;br /&gt;
&lt;br /&gt;
===URL (Endpoint)===&lt;br /&gt;
This URL specifies the endpoint that UMS connects to.&lt;br /&gt;
&lt;br /&gt;
[https://cloud.timeedit.net/soap/3/ https://cloud.timeedit.net/soap/3/&amp;lt;customername@timeedit&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
===Certificate path===&lt;br /&gt;
Then XML file you receive from TimeEdit.&lt;br /&gt;
&lt;br /&gt;
===Username===&lt;br /&gt;
Username to access the Webservice URL.&lt;br /&gt;
&lt;br /&gt;
===Password===&lt;br /&gt;
Password to access the Webservice URL.&lt;br /&gt;
&lt;br /&gt;
===[[AdminServers/Export Settings|Export settings]]===&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=GetTimetable/Ludus&amp;diff=4232</id>
		<title>GetTimetable/Ludus</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=GetTimetable/Ludus&amp;diff=4232"/>
		<updated>2022-01-27T18:35:32Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Requirements for writing absence to LUDUS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements for writing absence to LUDUS==&lt;br /&gt;
You will need to open this webservices in LUDUS (marked in yellow) if UMS is going to write absence back to LUDUS.&lt;br /&gt;
&lt;br /&gt;
Link to Ludus Webservice Catalog - https://ludushelp.eg.dk/system/Web_services.htm&lt;br /&gt;
&lt;br /&gt;
[[File:Ludus Absence Webservice.png]]&lt;br /&gt;
==Setup==&lt;br /&gt;
[[File:GetTimeTable LUDUS.jpg|none|thumb|783x783px]]&lt;br /&gt;
&lt;br /&gt;
===[[GetTimetable/Format and content|Format and content]]===&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
Name of the setting.&lt;br /&gt;
===[[GetTimetable/Absence_settings|Absence settings]]===&lt;br /&gt;
&lt;br /&gt;
===[[GetTimetable/Export_settings|Export settings]]===&lt;br /&gt;
&lt;br /&gt;
===Only write back test data to LUDUS===&lt;br /&gt;
This will only write information back to LUDUS if the activity starts with &#039;&#039;&#039;UMS&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Ludus absence codes -&amp;gt; UMS Absence codes===&lt;br /&gt;
Specify how the Ludus absence codes translates to the absence codes in UMS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This will also enable UMS to write the absence reason from the student back to Ludus.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=BOSS&amp;diff=4228</id>
		<title>BOSS</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=BOSS&amp;diff=4228"/>
		<updated>2022-01-19T14:56:47Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Template Setting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The integration automatically creates and maintains the school&#039;s users in BOSS. BOSS is a barcode / RFID based registration system that links all loans directly to the individual student to the library. The BOSS integration allows BOSS to retrieve data from the UMS web server&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===What to have ready===&lt;br /&gt;
An opened firewall directly into the UMS. Typically port 80 or 443&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
See [[Configurator/Webservice]]&lt;br /&gt;
===Template Setting===&lt;br /&gt;
Create a BOSS setting than will be attached to a template. BOSS can only retrieve data from the templates that have an option attached.&lt;br /&gt;
[[File:Boss templateeditor.png|none|thumb]]&lt;br /&gt;
&lt;br /&gt;
UMS will generate a department code when pressing Generate. department code must be used in BOSS API to retrieve data.&lt;br /&gt;
&lt;br /&gt;
UMS Webservice information and departmentcode, must be transmitted to customer or BOSS responsible person @customer&lt;br /&gt;
&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=GetTimetable/Ludus&amp;diff=4211</id>
		<title>GetTimetable/Ludus</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=GetTimetable/Ludus&amp;diff=4211"/>
		<updated>2022-01-17T10:51:57Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Requirements for writing absence to LUDUS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Requirements for writing absence to LUDUS==&lt;br /&gt;
You will need to open this webservices in LUDUS (marked in red) if UMS is going to write absence back to LUDUS.&lt;br /&gt;
&lt;br /&gt;
Link to Ludus Webservice Catalog - https://ludushelp.eg.dk/system/Web_services.htm&lt;br /&gt;
&lt;br /&gt;
[[File:Ludus Absence Webservice.png]]&lt;br /&gt;
==Setup==&lt;br /&gt;
[[File:GetTimeTable LUDUS.jpg|none|thumb|783x783px]]&lt;br /&gt;
&lt;br /&gt;
===[[GetTimetable/Format and content|Format and content]]===&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
Name of the setting.&lt;br /&gt;
===[[GetTimetable/Absence_settings|Absence settings]]===&lt;br /&gt;
&lt;br /&gt;
===[[GetTimetable/Export_settings|Export settings]]===&lt;br /&gt;
&lt;br /&gt;
===Only write back test data to LUDUS===&lt;br /&gt;
This will only write information back to LUDUS if the activity starts with &#039;&#039;&#039;UMS&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Ludus absence codes -&amp;gt; UMS Absence codes===&lt;br /&gt;
Specify how the Ludus absence codes translates to the absence codes in UMS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This will also enable UMS to write the absence reason from the student back to Ludus.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Ludus_Absence_Webservice.png&amp;diff=4210</id>
		<title>File:Ludus Absence Webservice.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Ludus_Absence_Webservice.png&amp;diff=4210"/>
		<updated>2022-01-17T10:17:16Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;h&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Moodle&amp;diff=4207</id>
		<title>Moodle</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Moodle&amp;diff=4207"/>
		<updated>2022-01-12T14:01:21Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Moodle Site settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our Moodle integration is developed for schools, which want to avoid hour-long administrative tasks. The integration automatically creates, maintains and deletes users, based on data from your student administrative system. It also creates and maintains group rooms, which teachers and students can use for teaching purposes. The rooms automatically use the language you require and can be categorized according to your needs, making them easier to find. Rooms that are no longer in use are deleted automatically. &lt;br /&gt;
&lt;br /&gt;
===Configuration in UMS===&lt;br /&gt;
The integration makes it possible to upload pictures of the users to Moodle, making it easy for teachers and students to see whom they are interacting with. If these pictures are replaced in UMS, they are automatically updated in Moodle. Last, but not least, the module can integrate with the AD. This allows users to log into Moodle with the same password they use to access the school’s IT-system. The Moodle integration gives you an easy overview and ensures that the users’ data is always managed correctly, without requiring any manual updates. This frees up time for the IT-department, who can focus on other tasks instead.&lt;br /&gt;
&lt;br /&gt;
If you want to make it easy for students and teachers to keep track of their timetables, you can embed our Web Timetable module in Moodle as an iframe. By doing this, users can access homework and notes that are registered on the various timetable blocks in the timetable. Please note: To embed Web Time Table, the Web Timetable and SSO modules are required. In order to see homework, the Homework module is required.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===What to have ready===&lt;br /&gt;
Moodle&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Open UMS Configurator and go to Modules &amp;gt; Moodle &amp;gt; Organization settings&lt;br /&gt;
[[File:Image.png|none|thumb|643x643px]]&lt;br /&gt;
&lt;br /&gt;
Click Add.&lt;br /&gt;
[[File:Moodleorganizationsettings.png|none|thumb|593x593px]]&lt;br /&gt;
&lt;br /&gt;
==Organization settings==&lt;br /&gt;
[[File:Moodle organization settings2.png|none|thumb|534x534px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Give your Organization setting a name.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DatabaseServer&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Name of database server hosting the Moodle database.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DatabaseName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Name of Moodle database.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Database TablesPrefix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Table prefix set when installing Moodle.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UserName&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
UserName of the user that can access the database.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Password&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Password of the user that can access the database.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;URL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
URL for your Moodle installation ex. &amp;lt;nowiki&amp;gt;http://moodle.inlogic.dk&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Webservice Token&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Token created in Moodle siteadministration. [https://docs.moodle.org/24/en/Using_web_services Guide to create access and token] ( Remember: When adding functions to webservice, add all functions )&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DataPath&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is only used for uploading pictures from pictures library&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moodle data path ex. \\moodle.inlogic.dk\c$\Moodle\server\moodledata\filedir.&lt;br /&gt;
&lt;br /&gt;
The user running moodle exe must have access to this path.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DatabaseType&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose Database type used for Moodle. can only be one in the list below. The selected SQL database, the port number must be open in the firewall, since UMS communicates on the database level&lt;br /&gt;
&lt;br /&gt;
*Microsoft SQL (1433)&lt;br /&gt;
*MySQL (3306)&lt;br /&gt;
*Oracle SQL (1521)&lt;br /&gt;
&lt;br /&gt;
==Moodle Site settings==&lt;br /&gt;
From Configurator, Edit existing template &amp;gt; Moodle &amp;gt; Manage &amp;gt; Add   or  Configurator &amp;gt; Modules &amp;gt; Moodle &amp;gt; Site Settings &amp;gt; Add&lt;br /&gt;
[[File:Moodle Settings.jpg|none|thumb|961x961px]]&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Description:&#039;&#039;&#039;===&lt;br /&gt;
Give the Site settings a name.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Organization settings&#039;&#039;&#039;===&lt;br /&gt;
Choose the Organization setting you want to use for this site setting.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Default country&#039;&#039;&#039;===&lt;br /&gt;
Choose default country. This is used when creating users.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Authentication method&#039;&#039;&#039;===&lt;br /&gt;
Login method for the users &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Mail domain for new students&#039;&#039;&#039;===&lt;br /&gt;
The address appended to their username in Moodle to give them an email address&lt;br /&gt;
&lt;br /&gt;
===Username for students===&lt;br /&gt;
Use a field from the UMS database as username for students&lt;br /&gt;
&lt;br /&gt;
===Append mail domain to username===&lt;br /&gt;
Adds @ + &amp;quot;&#039;&#039;&#039;Mail domain for new students&#039;&#039;&#039;&amp;quot; to the username when creating Moodle user.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Mail domain for new employees&#039;&#039;&#039;===&lt;br /&gt;
The address appended to their username in Moodle to give them an email address&lt;br /&gt;
&lt;br /&gt;
===Username for &#039;&#039;&#039;employees&#039;&#039;&#039;===&lt;br /&gt;
Use a field from the UMS database as username for employees&lt;br /&gt;
&lt;br /&gt;
===Append mail domain to username===&lt;br /&gt;
Adds @ + &amp;quot;&#039;&#039;&#039;Mail domain for new employees&#039;&#039;&#039;&amp;quot; to the username when creating Moodle user.&lt;br /&gt;
&lt;br /&gt;
===Upload student information===&lt;br /&gt;
Check these boxes to send and update information on students&lt;br /&gt;
&lt;br /&gt;
*Address&lt;br /&gt;
*Phone (Phone1)&lt;br /&gt;
*Mobile Phone (Phone 2)&lt;br /&gt;
*Mail from AD (This is taken from the local Active Directory account)&lt;br /&gt;
&lt;br /&gt;
===Picture library===&lt;br /&gt;
Upload pictures of students&lt;br /&gt;
&lt;br /&gt;
See [[Configurator/Picture_libraries|Picture libraries]]&lt;br /&gt;
&lt;br /&gt;
===Upload employee information===&lt;br /&gt;
Check these boxes to send and update information on employees&lt;br /&gt;
&lt;br /&gt;
*Address&lt;br /&gt;
*Phone (Phone1)&lt;br /&gt;
*Mobile Phone (Phone 2)&lt;br /&gt;
*Mail from AD (This is taken from the local Active Directory account)&lt;br /&gt;
&lt;br /&gt;
===Picture library===&lt;br /&gt;
Upload pictures of employees&lt;br /&gt;
&lt;br /&gt;
See [[Configurator/Picture_libraries|Picture libraries]]&lt;br /&gt;
&lt;br /&gt;
===Course===&lt;br /&gt;
&lt;br /&gt;
[[File:Moodle Course Settings.png|none|thumb|895x895px]]&lt;br /&gt;
&lt;br /&gt;
See [[LMS Settings]] for options not descriped below&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Language&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The language set on a site when is it created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Course category&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The category the course is put on when the site is created. The course category is case sensitive and needs to match a category created in Moodle.&lt;br /&gt;
&lt;br /&gt;
====Activity sites====&lt;br /&gt;
See [[Site selection settings]]&lt;br /&gt;
&lt;br /&gt;
====Course sites====&lt;br /&gt;
See [[Site selection settings]]&lt;br /&gt;
&lt;br /&gt;
===Cohort===&lt;br /&gt;
&lt;br /&gt;
[[File:Moodle Cohort Settings.png|none|thumb|895x895px]]&lt;br /&gt;
&lt;br /&gt;
See [[LMS Settings]] for options not descriped below&lt;br /&gt;
====Activity sites====&lt;br /&gt;
See [[Site selection settings]]&lt;br /&gt;
&lt;br /&gt;
====Course sites====&lt;br /&gt;
See [[Site selection settings]]&lt;br /&gt;
&lt;br /&gt;
==Template Settings==&lt;br /&gt;
You need to attach a cohort setting to a template. This will tell UMS that cohorts will be created from this template.&lt;br /&gt;
[[File:Moodle Template Cohort Settings.png|none|thumb|814x814px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enter a description for this setting&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cohort category&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enter a category that will be attached to the cohorts when they are created&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SQL Groups&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See [[LMS Settings]] for this option&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
(CreateLearners) Error			Webservice error. User = 010xxxx - Webservice error.  ERRORCODE&amp;amp;amp;gt;&amp;amp;amp;lt;div&amp;amp;amp;gt;&amp;lt;big&amp;gt;&amp;lt;u&amp;gt;Adgangskoder skal indeholde mindst 1 små bogstaver&amp;lt;/u&amp;gt;&amp;lt;/big&amp;gt;.&amp;amp;amp;lt;/div&amp;amp;amp;gt;&amp;amp;amp;lt;/ERRORCODE&amp;amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Password setting can be changed, see image below&lt;br /&gt;
[[File:Moodle.jpg|none|thumb|1054x1054px]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Office_365&amp;diff=4182</id>
		<title>Office 365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Office_365&amp;diff=4182"/>
		<updated>2021-12-15T14:04:50Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* A parameter cannot be found that matches parameter name &amp;#039;type&amp;#039;. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our Office 365 SharePoint Portal is a dedicated solution for school, which want an easy-to-use learning portal. Students and teachers are often presented with advanced and complex solutions that does everything they need and then some and as a result, they are difficult to use. We have decided to do things differently and therefore the Office 365 SharePoint Portal gives you the features you need to get the most out of SharePoint. Nothing more, nothing less. The portal is simple and easy to use. This way you avoid confusion and having to navigate yet another complex system. In terms of design, you have two options: the portal can use our standard skin, as pictured above, or our second skin, which we made for primary schools.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
Users get created in Office 365&lt;br /&gt;
&lt;br /&gt;
===What to have ready===&lt;br /&gt;
Install latest version of [https://www.google.com/search?q=Windows+Management+Framework&amp;amp;oq=Windows+Management+Framework Windows Management Framework]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then run these powershell commands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12  &#039;&#039;&#039;(to ensure TLS 1.2 enabled on Powershell commands)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install-Module AzureAD&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use this command only if no repository is available&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Register-PSRepository -Default -Verbose&lt;br /&gt;
&lt;br /&gt;
===[[MSGraphPermissions|Graph permissions]]===&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Office 365===&lt;br /&gt;
Enter Admin credentials for a service account with administrator privileges to access Office 365.&lt;br /&gt;
[[File:Office365 Setting.jpg|none|thumb|838x838px]]&lt;br /&gt;
&lt;br /&gt;
===Credentials===&lt;br /&gt;
&lt;br /&gt;
=====Tenant setting=====&lt;br /&gt;
Choose a tenant setting used for connection to Office 365-&lt;br /&gt;
&lt;br /&gt;
=====Domain=====&lt;br /&gt;
Enter the domain that you want the users and groups to have when they are created. E.g. &amp;lt;Username&amp;gt;@&amp;lt;Domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Users===&lt;br /&gt;
&lt;br /&gt;
=====Login=====&lt;br /&gt;
Choose what the users shall use to log in to Office365.&lt;br /&gt;
&lt;br /&gt;
======Mail Address======&lt;br /&gt;
Choose what to use as the users mail address.&lt;br /&gt;
&lt;br /&gt;
=====Enable password never expires=====&lt;br /&gt;
When marked the password will never expire for the users.&lt;br /&gt;
&lt;br /&gt;
=====Disable strong password=====&lt;br /&gt;
Use this to bypass the default password complexity.&lt;br /&gt;
&lt;br /&gt;
=====Users are created through third party program=====&lt;br /&gt;
This normally means ADFS is used to synchronize users&lt;br /&gt;
&lt;br /&gt;
=====Forward mail to on premise mail server=====&lt;br /&gt;
This will forward the users Office 365 mail to the primary mail address from AD (If user does not have a proxy address it will read it from the mail attribute)&lt;br /&gt;
&lt;br /&gt;
=====Use Active Directory for info=====&lt;br /&gt;
This tells UMS to take Department, Title and Organization from AD instead of AD Attributes in UMS.&lt;br /&gt;
&lt;br /&gt;
=====Usage location=====&lt;br /&gt;
This will tell UMS to set usage location when creating a user&lt;br /&gt;
&lt;br /&gt;
=====Disable users=====&lt;br /&gt;
When marked the users will be disabled when they are no longer attending classes.&lt;br /&gt;
&lt;br /&gt;
=====Keep active before disabling x days=====&lt;br /&gt;
Specify a grace period where users are active before disabling.&lt;br /&gt;
&lt;br /&gt;
=====Delete users=====&lt;br /&gt;
Choose if users are to be deleted after grace period has ended.&lt;br /&gt;
&lt;br /&gt;
=====Keep disabled before deleting x days=====&lt;br /&gt;
Specify a grace period where users are disabled.&lt;br /&gt;
&lt;br /&gt;
=====Hide from address list=====&lt;br /&gt;
Hide the newly created item from address list. &lt;br /&gt;
&lt;br /&gt;
=====Mailbox language=====&lt;br /&gt;
Specify which language is to be default for the users.&lt;br /&gt;
&lt;br /&gt;
=====Mailbox time zone=====&lt;br /&gt;
Specify which time zone is to be default for the users.&lt;br /&gt;
&lt;br /&gt;
=====Calendar Rights=====&lt;br /&gt;
Set the calendar rights on a user when he is created&lt;br /&gt;
&lt;br /&gt;
=====Calendar object UPN=====&lt;br /&gt;
Specify the UPN to put on the users calendar with the rights specified below &lt;br /&gt;
&lt;br /&gt;
If using a group then it must be of type &amp;quot;&#039;&#039;&#039;Mail enabled security&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
====Group UPN for keep alive users====&lt;br /&gt;
Specify a group where users that is kept alive is a member of.&lt;br /&gt;
&lt;br /&gt;
This must be a Microsoft 365 group.&lt;br /&gt;
&lt;br /&gt;
UMS will create the group if it doesn&#039;t exist.&lt;br /&gt;
&lt;br /&gt;
====Group UPN for disabled users====&lt;br /&gt;
Specify a group where users that is disabled is a member of.&lt;br /&gt;
&lt;br /&gt;
This must be a Microsoft 365 group.&lt;br /&gt;
&lt;br /&gt;
UMS will create the group if it doesn&#039;t exist.&lt;br /&gt;
&lt;br /&gt;
===Template groups===&lt;br /&gt;
&lt;br /&gt;
====Maintain security group====&lt;br /&gt;
This will create the security group entered in the field template security group in the destination node in the template settings.&lt;br /&gt;
&lt;br /&gt;
====Maintain extra groups====&lt;br /&gt;
This will create all the groups from the [[Configurator/Extra groups|extra groups]] template tab. All users will have direct group member ship.&lt;br /&gt;
&lt;br /&gt;
===Distribution lists===&lt;br /&gt;
&lt;br /&gt;
====Maintain lists====&lt;br /&gt;
Mark this to create distribution groups in Office 365. The groups will be created, updated and deleted if this is specified.&lt;br /&gt;
&lt;br /&gt;
====Delete lists====&lt;br /&gt;
Mark this to delete distributions groups when they are no longer active in the administrative system. Check the data export manuals too when this happens&lt;br /&gt;
&lt;br /&gt;
====Delete unused lists after x days====&lt;br /&gt;
Specify in days how long the distribution groups are to be kept alive in Office 365 before deletion.&lt;br /&gt;
&lt;br /&gt;
====Only senders inside my organization====&lt;br /&gt;
With this marked only users in the domain will be able to send to distribution groups created by UMS.&lt;br /&gt;
&lt;br /&gt;
Disabling this will allow the groups to be visible in OneDrive and Classroom&lt;br /&gt;
&lt;br /&gt;
===Picture settings===&lt;br /&gt;
This takes the picture privacy setting that the user has set into consideration. The picture will not be uploaded if the user has chosen not to allow his picture to be shared. The picture will not be removed again if it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
====Student picture library====&lt;br /&gt;
Define where the pictures are for the students that uses this template. If this is not set, no pictures will be uploaded to Office 365. &lt;br /&gt;
&lt;br /&gt;
====Employee picture library====&lt;br /&gt;
Define where the pictures are for the employees that uses this template. If this is not set, no pictures will be uploaded to Office 365.   &lt;br /&gt;
&lt;br /&gt;
===Timetable===&lt;br /&gt;
&lt;br /&gt;
====Maintain====&lt;br /&gt;
Mark this to create timetable blocks in Office 365. They will be created, updated and deleted.&lt;br /&gt;
&lt;br /&gt;
====Delete old====&lt;br /&gt;
Mark this to delete old timetable blocks from calendars.&lt;br /&gt;
&lt;br /&gt;
====Room setting====&lt;br /&gt;
Create rooms with timetable blocks.&lt;br /&gt;
&lt;br /&gt;
=====Manage=====&lt;br /&gt;
[[File:Office365roomsettings.png|none|thumb|378x378px]]&lt;br /&gt;
&lt;br /&gt;
=====Room displayname=====&lt;br /&gt;
&lt;br /&gt;
=====Prefix=====&lt;br /&gt;
Text that can be added to the start of what is chosen in Generator.&lt;br /&gt;
&lt;br /&gt;
=====Generator=====&lt;br /&gt;
Choose what is to define the room.&lt;br /&gt;
&lt;br /&gt;
=====Suffix=====&lt;br /&gt;
Text that can be added to the end of what is chosen in Generator.&lt;br /&gt;
&lt;br /&gt;
=====Resulting displayname=====&lt;br /&gt;
Summary of the chosen display name as it will be shown in Office 365.&lt;br /&gt;
&lt;br /&gt;
=====Set rights to rooms=====&lt;br /&gt;
Sets the rights on rooms when created&lt;br /&gt;
&lt;br /&gt;
This has to be a &#039;&#039;&#039;Distribution Group&#039;&#039;&#039; Otherwise it won&#039;t work&lt;br /&gt;
[[File:Office365roomsettings2.png|none|thumb|274x274px]]&lt;br /&gt;
&lt;br /&gt;
======Owner======&lt;br /&gt;
Users will be able to create, read, modify and delete all items and files, and create sub-folders. As the folder owner, they can change the permission levels others have for the folder. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Publishing Editor======&lt;br /&gt;
Users can create, read, modify and delete all items and files, and create sub-folders. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Editor======&lt;br /&gt;
Users can create, read, modify and delete all items and files..&lt;br /&gt;
&lt;br /&gt;
======Publishing Author======&lt;br /&gt;
Users can create and read items and files, create sub-folders, and modify and delete items and files they create. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Author======&lt;br /&gt;
Users can create and read items and files and modify and delete items and files you create.&lt;br /&gt;
&lt;br /&gt;
======Nonediting Author======&lt;br /&gt;
Users have full read details. Can create items and delete own items. Folder visible.&lt;br /&gt;
&lt;br /&gt;
======Reviewer======&lt;br /&gt;
Users can read items and files only.&lt;br /&gt;
&lt;br /&gt;
======Contributor======&lt;br /&gt;
Users can create items and files only. The contents of the folder does not appear. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note&#039;&#039;&#039;&#039;&#039; &#039;&#039;With author or editor permissions, a delegate has send-on-behalf-of permission. Sent messages contain both the managers and delegates names. Message recipients see the managers name in the Sent On Behalf Of box and the delegates name in the From box.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=====Define rooms to be created=====&lt;br /&gt;
Specify the rooms to be created based on a filter. If nothing is entered, every room will be created.&lt;br /&gt;
[[File:Office365criteria.png|none|thumb|202x202px]]&lt;br /&gt;
&lt;br /&gt;
======Room number and Room name======&lt;br /&gt;
Can be found in the skemabrikker_rooms table in SQL.&lt;br /&gt;
&lt;br /&gt;
===Office 365 SharePoint site setting===&lt;br /&gt;
This will create SharePoint sites&lt;br /&gt;
[[File:Office365sharepointsitesettings.png|none|thumb|720x720px]] &lt;br /&gt;
[[File:Office365sharepointsitesettings2.png|none|thumb|567x567px]] &lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Site settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
=====Automation type=====&lt;br /&gt;
Full: Means that site maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
=====Remove learner method=====&lt;br /&gt;
Deleted in AD&lt;br /&gt;
&lt;br /&gt;
Users will be removed from site when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
Finished on activity/course&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
=====Delete sites=====&lt;br /&gt;
Auto delete&lt;br /&gt;
&lt;br /&gt;
Sites will be delete when the last student has left the site&lt;br /&gt;
&lt;br /&gt;
=====Manual Delete=====&lt;br /&gt;
Sites will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
=====Send mail to teacher(s)=====&lt;br /&gt;
Send mail notification to teachers when they are attached to a site.&lt;br /&gt;
&lt;br /&gt;
=====Create x days before=====&lt;br /&gt;
Choose how many days before start that the sites are to be created.&lt;br /&gt;
&lt;br /&gt;
=====Delete x days after end=====&lt;br /&gt;
Choose how many days after end that the sites are to be deleted.&lt;br /&gt;
&lt;br /&gt;
=====Teacher rights on sites=====&lt;br /&gt;
Rights the teacher will have on the site when attached.&lt;br /&gt;
&lt;br /&gt;
=====Learner rights on sites=====&lt;br /&gt;
Rights the student/learner will have on the site when attached. &lt;br /&gt;
&lt;br /&gt;
=====Check if group rights match=====&lt;br /&gt;
When UMS looks for UMS-groups on the site, it will do so based on two criteria’s.&lt;br /&gt;
&lt;br /&gt;
The correct rights and the correct name. Unchecking this will disable the first criteria and only look for a group with the right name. (This is when users change the UMS-group rights on a site manually)&lt;br /&gt;
&lt;br /&gt;
=====SQL Groups=====&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
=====Group name=====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
====Activity Sites====&lt;br /&gt;
Do not create&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
LMS has to be checked&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
Based on template filter&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
All&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
Title&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
===Search filter and criteria===&lt;br /&gt;
This will enable you to concatenate sites that would have been created as to or more sites to be created as one site.&lt;br /&gt;
&lt;br /&gt;
=====Remarks=====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
=====Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
=====Add activity short description to node ID=====&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint site.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
=====Course Sites=====&lt;br /&gt;
Course URL’s will always be created as activity_course.&lt;br /&gt;
&lt;br /&gt;
=====Do not create=====&lt;br /&gt;
It will not create any sites based on courses.&lt;br /&gt;
&lt;br /&gt;
=====LMS has to be checked=====&lt;br /&gt;
The field Skolefag_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
=====Based on template filter=====&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
=====All=====&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
=====Title=====&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
=====Description=====&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
=====Search filter and criteria=====&lt;br /&gt;
This will enable you to concatenate sites that would have been created as two or more sites to be created as one site.&lt;br /&gt;
[[File:Office365filter.png|none|thumb|416x416px]]&lt;br /&gt;
&lt;br /&gt;
=====Remarks=====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
=====Course Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
=====Activity Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
After you have created the Office 365 setting you put in on a template.&lt;br /&gt;
[[File:Office365templateeditor.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
Setting: This will created the users with on this template in Office 365 with these settings&lt;br /&gt;
&lt;br /&gt;
===SharePoint settings===&lt;br /&gt;
Sites created with setting. If this is not specified no activities/courses on this template will be created.&lt;br /&gt;
[[File:Office365template.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
====Site URL====&lt;br /&gt;
Which site collection is used when creating sites&lt;br /&gt;
&lt;br /&gt;
Language: The default language of the created site&lt;br /&gt;
&lt;br /&gt;
Course Template&lt;br /&gt;
&lt;br /&gt;
Standard SharePoint: Use a standard template from SharePoint&lt;br /&gt;
&lt;br /&gt;
Course template: Enter a name of a template that resides in the site collection. If nothing is entered it will default to the Team site template&lt;br /&gt;
&lt;br /&gt;
UMS SharePoint Portal: Create sites based on the UMS SharePoint Portal product&lt;br /&gt;
&lt;br /&gt;
====OneNote Class Notebook setting====&lt;br /&gt;
Choose a Class Notebook setting. This will create a Class Notebook created in the SharePoint site.  &lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity  &lt;br /&gt;
&lt;br /&gt;
OneNote Class Notebook setting  &lt;br /&gt;
&lt;br /&gt;
Define settings for OneNote Class Notebooks.&lt;br /&gt;
[[File:OneNotesections SharePoint.png|none|thumb|476x476px]]&lt;br /&gt;
&lt;br /&gt;
====Sections====&lt;br /&gt;
Define the section the Class Notebook will be created with. Students that are attached to this Class Notebook will have these sections.  &lt;br /&gt;
[[File:Office365onenoteclassnotebooksettingedit.png|none|thumb|447x447px]]Use Name instead of title for Notebooks (Last part of URL)&lt;br /&gt;
&lt;br /&gt;
This will make the title of the NoteBook be the same as the last part of the URL of the SharePoint site that the NoteBook is created in. It never changes unless this is unchecked.&lt;br /&gt;
&lt;br /&gt;
Never update Notebook title after creation&lt;br /&gt;
&lt;br /&gt;
The NoteBook will never update the title after it has been created, even though the SharePoint site changes title. it will be created with the title that SharePoint site has at createin time.&lt;br /&gt;
&lt;br /&gt;
===OneNote Class Notebook setting===&lt;br /&gt;
[[File:Office365onenoteclassnotebooksettings.png|none|thumb|720x720px]]&lt;br /&gt;
[[File:Office365onenoteclassnotebooksettings2.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Notebook settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Automation type====&lt;br /&gt;
Full: Means that Notebooks maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
====Remove learner method====&lt;br /&gt;
Deleted in AD&lt;br /&gt;
&lt;br /&gt;
Users will be removed from Notebooks when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
Finished on activity/course&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
====Delete Notebooks====&lt;br /&gt;
Auto delete&lt;br /&gt;
&lt;br /&gt;
Notebooks will be delete when the last student has left the Notebook&lt;br /&gt;
&lt;br /&gt;
Manual Delete&lt;br /&gt;
&lt;br /&gt;
Notebooks will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
====Send mail to teacher(s)====&lt;br /&gt;
Send mail notification to teachers when they are attached to a Notebook.&lt;br /&gt;
&lt;br /&gt;
====Create x days before====&lt;br /&gt;
Choose how many days before start that the Notebooks are to be created.&lt;br /&gt;
&lt;br /&gt;
====Delete x days after end====&lt;br /&gt;
Choose how many days after end that the Notebooks are to be deleted.&lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all Notebooks created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
====Activity Notebooks====&lt;br /&gt;
&lt;br /&gt;
====Do not create====&lt;br /&gt;
It will not create any Notebooks based on activities.&lt;br /&gt;
&lt;br /&gt;
====LMS has to be checked====&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
====Based on template filter====&lt;br /&gt;
Create Notebooks based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
====All====&lt;br /&gt;
Create all Notebooks.&lt;br /&gt;
&lt;br /&gt;
====Title====&lt;br /&gt;
Title of the Notebook. Changing this after a Notebook has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
====Search filter and criteria====&lt;br /&gt;
This will enable you to concatenate Notebooks that would have been created as to or more Notebooks to be created as one Notebook.&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
====Remarks====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
====Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
====Add activity short description to node ID====&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one Notebook.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
====Course Notebooks====&lt;br /&gt;
Course URL’s will always be created as activity course.&lt;br /&gt;
&lt;br /&gt;
====Do not create====&lt;br /&gt;
It will not create any Notebooks based on courses.&lt;br /&gt;
&lt;br /&gt;
====LMS has to be checked====&lt;br /&gt;
The field Skolefag_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
====Based on template filter====&lt;br /&gt;
Create Notebook based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
====All====&lt;br /&gt;
Create all Notebooks.&lt;br /&gt;
&lt;br /&gt;
====Title====&lt;br /&gt;
Title of the Notebook. Changing this after a Notebook has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
====Search filter and criteria====&lt;br /&gt;
This will enable you to concatenate Notebooks that would have been created as two or more Notebooks to be created as one Notebook.&lt;br /&gt;
[[File:Office365filter.png|none|thumb|416x416px]]&lt;br /&gt;
&lt;br /&gt;
====Remarks====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
====Course Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
====Activity Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
After you have created the Office 365 setting you put in on a template.&lt;br /&gt;
[[File:Office365template2.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
Setting: This will created the users with on this template in Office 365 with these settings&lt;br /&gt;
&lt;br /&gt;
===OneNote Class Notebook settings===&lt;br /&gt;
Notebooks created with setting. If this is not specified no activities/courses on this template will be created.&lt;br /&gt;
[[File:Office365settings.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
====Site collection URL====&lt;br /&gt;
Which Notebook collection is used when creating Notebooks&lt;br /&gt;
&lt;br /&gt;
====Language====&lt;br /&gt;
The default language of the created Notebook&lt;br /&gt;
&lt;br /&gt;
====Sections====&lt;br /&gt;
Define the section the Class Notebook will be created with. Students that are attached to this Class Notebook will have these sections.  &lt;br /&gt;
[[File:Office365onenoteclassnotebooksettingedit.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all Notebooks created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
===Organization Settings===&lt;br /&gt;
[[File:Office365organization.png|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Site settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Description====&lt;br /&gt;
Add a description to be able to identify the account.&lt;br /&gt;
&lt;br /&gt;
====SharePoint administration URL====&lt;br /&gt;
URL of the SharePoint administration site for the tenant.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Credentials settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Username====&lt;br /&gt;
Username used to connect to SharePoint.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Password used to connect to SharePoint.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Users&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|UsersOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|UpdateUsers&lt;br /&gt;
|Update users&lt;br /&gt;
|-&lt;br /&gt;
|DisableUsers&lt;br /&gt;
|Disable users&lt;br /&gt;
|-&lt;br /&gt;
|EnableUsers&lt;br /&gt;
|Enable users&lt;br /&gt;
|-&lt;br /&gt;
|DeleteUsers&lt;br /&gt;
|Delete users&lt;br /&gt;
|-&lt;br /&gt;
|CreateUsers&lt;br /&gt;
|Create users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateImmutableID&lt;br /&gt;
|Update Immutable ID on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateOffice365SettingsIDForUsers&lt;br /&gt;
|Update Office 365 settings for users if they have changed template&lt;br /&gt;
|-&lt;br /&gt;
|UpdateUsersObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+User settings&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|RunUserSettings&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|DisableStrongPassword&lt;br /&gt;
|Disable strong password for users&lt;br /&gt;
|-&lt;br /&gt;
|SetMailAddress&lt;br /&gt;
|Set mail address on users&lt;br /&gt;
|-&lt;br /&gt;
|Forward2OnPremiseMail&lt;br /&gt;
|Set forward to OnPremise mail on users&lt;br /&gt;
|-&lt;br /&gt;
|SetCalendarRights&lt;br /&gt;
|Set calendar rights on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateMailboxTimeZone&lt;br /&gt;
|Update timezone for mailbox users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateMailboxLanguage&lt;br /&gt;
|Update language for mailbox users&lt;br /&gt;
|-&lt;br /&gt;
|EnablePasswordNeverExpires&lt;br /&gt;
|Enable password never expires for users&lt;br /&gt;
|-&lt;br /&gt;
|UpdatePictures&lt;br /&gt;
|Update pictures&lt;br /&gt;
|-&lt;br /&gt;
|Forward2PrivateMail&lt;br /&gt;
|Set forward to privatemail on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateReplyToAll&lt;br /&gt;
|Set Reply to all on users&lt;br /&gt;
|-&lt;br /&gt;
|ProvisionOneDrive&lt;br /&gt;
|Provision OneDrive to users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateAddressBookPolicy&lt;br /&gt;
|Set address book policy on users&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|GroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|RemoveGroupMembers&lt;br /&gt;
|Remove group members from groups&lt;br /&gt;
|-&lt;br /&gt;
|AddGroupMembers&lt;br /&gt;
|Add members to groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteGroups&lt;br /&gt;
|Delete groups&lt;br /&gt;
|-&lt;br /&gt;
|CreateGroups&lt;br /&gt;
|Create groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|GetUPNsForGroups&lt;br /&gt;
|Get the UPN of template groups from Office 365&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Template groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TemplateGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|RemoveUsersFromTemplateGroups&lt;br /&gt;
|Remove users from template security groups&lt;br /&gt;
|-&lt;br /&gt;
|AddUsers2TemplateGroups&lt;br /&gt;
|Add users to template security groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTemplateGroups&lt;br /&gt;
|Delete groups that are no longer template security groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTemplateGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|GetUPNsForTemplateGroups&lt;br /&gt;
|Get the UPN of template security groups from Office 365&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Template extra groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TemplateExtraGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateTemplateExtraGroups&lt;br /&gt;
|Create groups from template extra group&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTemplateExtraGroups&lt;br /&gt;
|Delete groups that are no longer in extra groups&lt;br /&gt;
|-&lt;br /&gt;
|AddTemplateExtraGroupMembers&lt;br /&gt;
|Add users to template extra groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTemplateExtraGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Keep alive groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|KeepAliveGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateKeepAliveGroups&lt;br /&gt;
|Create keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteKeepAliveGroups&lt;br /&gt;
|Delete keep alive groups if they are no longer in UMS&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSetMailAddressOnKeepAliveGroups&lt;br /&gt;
|Update the mail address on keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|AddKeepAliveGroupMembers&lt;br /&gt;
|Add users to keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|RemoveKeepAliveGroupMembers&lt;br /&gt;
|Remove users from keep alive groups&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Disabled groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|DisabledGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateDisabledGroups&lt;br /&gt;
|Create disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteDisabledGroups&lt;br /&gt;
|Delete disabled groups if they are no longer in UMS&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSetMailAddressOnDisabledGroups&lt;br /&gt;
|Update the mail address on disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|AddDisabledGroupMembers&lt;br /&gt;
|Add users to disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|RemoveDisabledGroupMembers&lt;br /&gt;
|Remove users from disabled groups&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Teams&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TeamsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddTeams2DB&lt;br /&gt;
|Add Teams to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateTeams&lt;br /&gt;
|Create Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddTeamToGroup&lt;br /&gt;
|Add teams to groups&lt;br /&gt;
|-&lt;br /&gt;
|ActivateTeams&lt;br /&gt;
|Activate teams&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeams&lt;br /&gt;
|Update Teams&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeams&lt;br /&gt;
|Delete Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2TeamsDBTable&lt;br /&gt;
|Add teachers to Office365Teams_Teachers table in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Teams&lt;br /&gt;
|Add teachers to Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2TeamsDBTable&lt;br /&gt;
|Add learners to Office365Teams_Learners table in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Teams&lt;br /&gt;
|Add learners to Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsDeleteTeachers&lt;br /&gt;
|Delete teachers in Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsDeleteLearners&lt;br /&gt;
|Delete learners in Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsUpdateNeedToBeUpdated&lt;br /&gt;
|Set update on next run flag&lt;br /&gt;
|-&lt;br /&gt;
|UpdateLearnersExternalID&lt;br /&gt;
|Retrieve the learners object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeachersExternalID&lt;br /&gt;
|Retrieve the teachers object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSchoolsExternalID&lt;br /&gt;
|Retrieve the schools object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeamsExternalID&lt;br /&gt;
|Retrieve the teams object id from Office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+SharePoint&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|SharepointOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateSites&lt;br /&gt;
|Create sites&lt;br /&gt;
|-&lt;br /&gt;
|AddSites2DB&lt;br /&gt;
|Add sites in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteSites&lt;br /&gt;
|Delete sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSites&lt;br /&gt;
|Update sites&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2SitesInDB&lt;br /&gt;
|Add learners to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeachers&lt;br /&gt;
|Delete teachers&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Sites&lt;br /&gt;
|Add teachers to sites&lt;br /&gt;
|-&lt;br /&gt;
|DeleteSiteGroups&lt;br /&gt;
|Delete site groups&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2SitesInDB&lt;br /&gt;
|Add teachers to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteLearners&lt;br /&gt;
|Delete learners&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Sites&lt;br /&gt;
|Add learners to sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSiteURL&lt;br /&gt;
|Update sites with new URL&lt;br /&gt;
|-&lt;br /&gt;
|AddNoteBooks2Sites&lt;br /&gt;
|Add OneNote Class NoteBooks to sites&lt;br /&gt;
|-&lt;br /&gt;
|SharePointDeleteNoteBooks&lt;br /&gt;
|Delete OneNote Class NoteBooks from sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateNeedToBeUpdated&lt;br /&gt;
|Set the update on next run flag&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSitesIsActive&lt;br /&gt;
|Update site active/inactive status&lt;br /&gt;
|-&lt;br /&gt;
|SharePoint_OneNoteClassNotebook_AddMissingTeachers&lt;br /&gt;
|Add missing Teachers to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|SharePoint_OneNoteClassNotebook_AddMissingLearners&lt;br /&gt;
|Add missing Learners to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|ReAddLearners2Sites&lt;br /&gt;
|Re-add learners to sites if ReAdd is true in DB&lt;br /&gt;
|-&lt;br /&gt;
|ReAddTeachers2Sites&lt;br /&gt;
|Re-add teachers to sites if ReAdd is true in DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+OneNoteClassNoteBook&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteClassNotebookOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddNotebooks2DB&lt;br /&gt;
|Add OneNote Class NoteBooks to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateNotebooks&lt;br /&gt;
|Create OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|UpdateOneNotes&lt;br /&gt;
|Update OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|DeleteOneNotes&lt;br /&gt;
|Delete OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2OneNotesInDB&lt;br /&gt;
|Add teachers to OneNote Class NoteBooks in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2OneNotes&lt;br /&gt;
|Add teachers to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2OneNotesInDB&lt;br /&gt;
|Add learners to OneNote Class NoteBooks in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2OneNotes&lt;br /&gt;
|Add learners to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteDeleteTeachers&lt;br /&gt;
|Delete teachers in OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteDeleteLearners&lt;br /&gt;
|Delete learners in OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteUpdateNeedToBeUpdated&lt;br /&gt;
|Set update on next run flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==Maintenance==&lt;br /&gt;
&lt;br /&gt;
===portal.office.com===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Teams&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
Go to [http://portal.office.com Office Portal] and login with your admin account( the same UMS uses).&lt;br /&gt;
&lt;br /&gt;
Select settings Services and add-ins and click Teams.&lt;br /&gt;
[[File:Office_365_Teams_activation.PNG|1350x1350px|thumb|Activate Teams for a license type, ie. Guest or Education-Student|none]]&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
===Office 365 Licens (Unable to assign this license) How to troubleshoot this error===&lt;br /&gt;
&lt;br /&gt;
====Error message from UMS Job log (LiveAtEdu)====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;Error = Unable to assign this license&#039;&#039;=====&lt;br /&gt;
&#039;&#039;Set-MsolUserLicense -UserPrincipalName &#039;khhi3275@ums.dk&#039; -AddLicenses &amp;quot;inLogic:STANDARDWOFFPACK_IW_STUDENT&amp;quot; -LicenseOptions $MyO365Sku&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Error = Unable to assign this license.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:00 -    at Utilities.Office365.SetLicenseForUser(String UPN, List`1 Licenses, SqlConnection&amp;amp; LocalSQLDBConnection)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;                      at LiveAtEdu_Sync.LiveAtEdu_Sync.PerformFunctionUserSettings(String SQLStr, UserFunctions Office365Function, MethodInfo StackFrame)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:00 - khhi3275- UPN = khhi3275@ums.dk&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:01 - (UpdateLicenseInfoOnUsers) Error. Could not set license for user - khhi3275@ums.dk       &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*Try adding the same licenses manually to a single user in office365. You could see if that is possible[[File:Licens.jpg|none|thumb|814x814px]]&lt;br /&gt;
&lt;br /&gt;
*The error shows that it is not possible to put the same licenses together[[File:Licens Error.png|none|thumb|812x812px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
*Change your licenses in UMS and run the LiveAtEdu job again&lt;br /&gt;
&lt;br /&gt;
===Groups===&lt;br /&gt;
How to get groups visible in OneDrive and Classroom&lt;br /&gt;
&lt;br /&gt;
Remove the checkbox from Only senders inside my organization&lt;br /&gt;
&lt;br /&gt;
Why do I not get the site created?&lt;br /&gt;
&lt;br /&gt;
#Activity&lt;br /&gt;
##Is there a user on the activity with a primary template that has an office 365 setting attached&lt;br /&gt;
##Is the flag Aktivitet_LMS = True&lt;br /&gt;
#Course&lt;br /&gt;
##Is there a user on the course with a primary template that has an office 365 setting attached&lt;br /&gt;
##Is the flag Skolefag_LMS = True&lt;br /&gt;
&lt;br /&gt;
===Disable or enabling user===&lt;br /&gt;
Error = Message: Insufficient privileges to complete the operation.&lt;br /&gt;
&lt;br /&gt;
This could be the result of the user trying to be disabled/enabled has roles that does not allow the action like Global Administrator.&lt;br /&gt;
&lt;br /&gt;
===The term &#039;Set-UnifiedGroup&#039; is not recognized as a name of a cmdlet, function, script file, or executable program.===&lt;br /&gt;
https://docs.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps&lt;br /&gt;
&lt;br /&gt;
Run this command to check which roletypes are needed&lt;br /&gt;
 Get-ManagementRole -Cmdlet Set-UnifiedGroup&lt;br /&gt;
&lt;br /&gt;
===A parameter cannot be found that matches parameter name &#039;type&#039;.===&lt;br /&gt;
https://docs.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps&lt;br /&gt;
[[File:Office365 ExchangeAdminRoleNeeded.jpg|none|thumb|1275x1275px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Run this command to check which roletypes are needed&lt;br /&gt;
 Get-ManagementRole -Cmdlet Get-DistributionGroup&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Office365_ExchangeAdminRoleNeeded.jpg&amp;diff=4181</id>
		<title>File:Office365 ExchangeAdminRoleNeeded.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Office365_ExchangeAdminRoleNeeded.jpg&amp;diff=4181"/>
		<updated>2021-12-15T14:03:49Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Set permission role for managing Unified Groups in Azure via Powershell&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Office_365&amp;diff=4180</id>
		<title>Office 365</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Office_365&amp;diff=4180"/>
		<updated>2021-12-15T13:31:42Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* The term &amp;#039;Set-UnifiedGroup&amp;#039; is not recognized as a name of a cmdlet, function, script file, or executable program. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Our Office 365 SharePoint Portal is a dedicated solution for school, which want an easy-to-use learning portal. Students and teachers are often presented with advanced and complex solutions that does everything they need and then some and as a result, they are difficult to use. We have decided to do things differently and therefore the Office 365 SharePoint Portal gives you the features you need to get the most out of SharePoint. Nothing more, nothing less. The portal is simple and easy to use. This way you avoid confusion and having to navigate yet another complex system. In terms of design, you have two options: the portal can use our standard skin, as pictured above, or our second skin, which we made for primary schools.&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
Users get created in Office 365&lt;br /&gt;
&lt;br /&gt;
===What to have ready===&lt;br /&gt;
Install latest version of [https://www.google.com/search?q=Windows+Management+Framework&amp;amp;oq=Windows+Management+Framework Windows Management Framework]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then run these powershell commands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12  &#039;&#039;&#039;(to ensure TLS 1.2 enabled on Powershell commands)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Install-Module AzureAD&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use this command only if no repository is available&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Register-PSRepository -Default -Verbose&lt;br /&gt;
&lt;br /&gt;
===[[MSGraphPermissions|Graph permissions]]===&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Office 365===&lt;br /&gt;
Enter Admin credentials for a service account with administrator privileges to access Office 365.&lt;br /&gt;
[[File:Office365 Setting.jpg|none|thumb|838x838px]]&lt;br /&gt;
&lt;br /&gt;
===Credentials===&lt;br /&gt;
&lt;br /&gt;
=====Tenant setting=====&lt;br /&gt;
Choose a tenant setting used for connection to Office 365-&lt;br /&gt;
&lt;br /&gt;
=====Domain=====&lt;br /&gt;
Enter the domain that you want the users and groups to have when they are created. E.g. &amp;lt;Username&amp;gt;@&amp;lt;Domain&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Users===&lt;br /&gt;
&lt;br /&gt;
=====Login=====&lt;br /&gt;
Choose what the users shall use to log in to Office365.&lt;br /&gt;
&lt;br /&gt;
======Mail Address======&lt;br /&gt;
Choose what to use as the users mail address.&lt;br /&gt;
&lt;br /&gt;
=====Enable password never expires=====&lt;br /&gt;
When marked the password will never expire for the users.&lt;br /&gt;
&lt;br /&gt;
=====Disable strong password=====&lt;br /&gt;
Use this to bypass the default password complexity.&lt;br /&gt;
&lt;br /&gt;
=====Users are created through third party program=====&lt;br /&gt;
This normally means ADFS is used to synchronize users&lt;br /&gt;
&lt;br /&gt;
=====Forward mail to on premise mail server=====&lt;br /&gt;
This will forward the users Office 365 mail to the primary mail address from AD (If user does not have a proxy address it will read it from the mail attribute)&lt;br /&gt;
&lt;br /&gt;
=====Use Active Directory for info=====&lt;br /&gt;
This tells UMS to take Department, Title and Organization from AD instead of AD Attributes in UMS.&lt;br /&gt;
&lt;br /&gt;
=====Usage location=====&lt;br /&gt;
This will tell UMS to set usage location when creating a user&lt;br /&gt;
&lt;br /&gt;
=====Disable users=====&lt;br /&gt;
When marked the users will be disabled when they are no longer attending classes.&lt;br /&gt;
&lt;br /&gt;
=====Keep active before disabling x days=====&lt;br /&gt;
Specify a grace period where users are active before disabling.&lt;br /&gt;
&lt;br /&gt;
=====Delete users=====&lt;br /&gt;
Choose if users are to be deleted after grace period has ended.&lt;br /&gt;
&lt;br /&gt;
=====Keep disabled before deleting x days=====&lt;br /&gt;
Specify a grace period where users are disabled.&lt;br /&gt;
&lt;br /&gt;
=====Hide from address list=====&lt;br /&gt;
Hide the newly created item from address list. &lt;br /&gt;
&lt;br /&gt;
=====Mailbox language=====&lt;br /&gt;
Specify which language is to be default for the users.&lt;br /&gt;
&lt;br /&gt;
=====Mailbox time zone=====&lt;br /&gt;
Specify which time zone is to be default for the users.&lt;br /&gt;
&lt;br /&gt;
=====Calendar Rights=====&lt;br /&gt;
Set the calendar rights on a user when he is created&lt;br /&gt;
&lt;br /&gt;
=====Calendar object UPN=====&lt;br /&gt;
Specify the UPN to put on the users calendar with the rights specified below &lt;br /&gt;
&lt;br /&gt;
If using a group then it must be of type &amp;quot;&#039;&#039;&#039;Mail enabled security&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
====Group UPN for keep alive users====&lt;br /&gt;
Specify a group where users that is kept alive is a member of.&lt;br /&gt;
&lt;br /&gt;
This must be a Microsoft 365 group.&lt;br /&gt;
&lt;br /&gt;
UMS will create the group if it doesn&#039;t exist.&lt;br /&gt;
&lt;br /&gt;
====Group UPN for disabled users====&lt;br /&gt;
Specify a group where users that is disabled is a member of.&lt;br /&gt;
&lt;br /&gt;
This must be a Microsoft 365 group.&lt;br /&gt;
&lt;br /&gt;
UMS will create the group if it doesn&#039;t exist.&lt;br /&gt;
&lt;br /&gt;
===Template groups===&lt;br /&gt;
&lt;br /&gt;
====Maintain security group====&lt;br /&gt;
This will create the security group entered in the field template security group in the destination node in the template settings.&lt;br /&gt;
&lt;br /&gt;
====Maintain extra groups====&lt;br /&gt;
This will create all the groups from the [[Configurator/Extra groups|extra groups]] template tab. All users will have direct group member ship.&lt;br /&gt;
&lt;br /&gt;
===Distribution lists===&lt;br /&gt;
&lt;br /&gt;
====Maintain lists====&lt;br /&gt;
Mark this to create distribution groups in Office 365. The groups will be created, updated and deleted if this is specified.&lt;br /&gt;
&lt;br /&gt;
====Delete lists====&lt;br /&gt;
Mark this to delete distributions groups when they are no longer active in the administrative system. Check the data export manuals too when this happens&lt;br /&gt;
&lt;br /&gt;
====Delete unused lists after x days====&lt;br /&gt;
Specify in days how long the distribution groups are to be kept alive in Office 365 before deletion.&lt;br /&gt;
&lt;br /&gt;
====Only senders inside my organization====&lt;br /&gt;
With this marked only users in the domain will be able to send to distribution groups created by UMS.&lt;br /&gt;
&lt;br /&gt;
Disabling this will allow the groups to be visible in OneDrive and Classroom&lt;br /&gt;
&lt;br /&gt;
===Picture settings===&lt;br /&gt;
This takes the picture privacy setting that the user has set into consideration. The picture will not be uploaded if the user has chosen not to allow his picture to be shared. The picture will not be removed again if it has been uploaded.&lt;br /&gt;
&lt;br /&gt;
====Student picture library====&lt;br /&gt;
Define where the pictures are for the students that uses this template. If this is not set, no pictures will be uploaded to Office 365. &lt;br /&gt;
&lt;br /&gt;
====Employee picture library====&lt;br /&gt;
Define where the pictures are for the employees that uses this template. If this is not set, no pictures will be uploaded to Office 365.   &lt;br /&gt;
&lt;br /&gt;
===Timetable===&lt;br /&gt;
&lt;br /&gt;
====Maintain====&lt;br /&gt;
Mark this to create timetable blocks in Office 365. They will be created, updated and deleted.&lt;br /&gt;
&lt;br /&gt;
====Delete old====&lt;br /&gt;
Mark this to delete old timetable blocks from calendars.&lt;br /&gt;
&lt;br /&gt;
====Room setting====&lt;br /&gt;
Create rooms with timetable blocks.&lt;br /&gt;
&lt;br /&gt;
=====Manage=====&lt;br /&gt;
[[File:Office365roomsettings.png|none|thumb|378x378px]]&lt;br /&gt;
&lt;br /&gt;
=====Room displayname=====&lt;br /&gt;
&lt;br /&gt;
=====Prefix=====&lt;br /&gt;
Text that can be added to the start of what is chosen in Generator.&lt;br /&gt;
&lt;br /&gt;
=====Generator=====&lt;br /&gt;
Choose what is to define the room.&lt;br /&gt;
&lt;br /&gt;
=====Suffix=====&lt;br /&gt;
Text that can be added to the end of what is chosen in Generator.&lt;br /&gt;
&lt;br /&gt;
=====Resulting displayname=====&lt;br /&gt;
Summary of the chosen display name as it will be shown in Office 365.&lt;br /&gt;
&lt;br /&gt;
=====Set rights to rooms=====&lt;br /&gt;
Sets the rights on rooms when created&lt;br /&gt;
&lt;br /&gt;
This has to be a &#039;&#039;&#039;Distribution Group&#039;&#039;&#039; Otherwise it won&#039;t work&lt;br /&gt;
[[File:Office365roomsettings2.png|none|thumb|274x274px]]&lt;br /&gt;
&lt;br /&gt;
======Owner======&lt;br /&gt;
Users will be able to create, read, modify and delete all items and files, and create sub-folders. As the folder owner, they can change the permission levels others have for the folder. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Publishing Editor======&lt;br /&gt;
Users can create, read, modify and delete all items and files, and create sub-folders. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Editor======&lt;br /&gt;
Users can create, read, modify and delete all items and files..&lt;br /&gt;
&lt;br /&gt;
======Publishing Author======&lt;br /&gt;
Users can create and read items and files, create sub-folders, and modify and delete items and files they create. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
======Author======&lt;br /&gt;
Users can create and read items and files and modify and delete items and files you create.&lt;br /&gt;
&lt;br /&gt;
======Nonediting Author======&lt;br /&gt;
Users have full read details. Can create items and delete own items. Folder visible.&lt;br /&gt;
&lt;br /&gt;
======Reviewer======&lt;br /&gt;
Users can read items and files only.&lt;br /&gt;
&lt;br /&gt;
======Contributor======&lt;br /&gt;
Users can create items and files only. The contents of the folder does not appear. (Does not apply to delegates.).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note&#039;&#039;&#039;&#039;&#039; &#039;&#039;With author or editor permissions, a delegate has send-on-behalf-of permission. Sent messages contain both the managers and delegates names. Message recipients see the managers name in the Sent On Behalf Of box and the delegates name in the From box.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=====Define rooms to be created=====&lt;br /&gt;
Specify the rooms to be created based on a filter. If nothing is entered, every room will be created.&lt;br /&gt;
[[File:Office365criteria.png|none|thumb|202x202px]]&lt;br /&gt;
&lt;br /&gt;
======Room number and Room name======&lt;br /&gt;
Can be found in the skemabrikker_rooms table in SQL.&lt;br /&gt;
&lt;br /&gt;
===Office 365 SharePoint site setting===&lt;br /&gt;
This will create SharePoint sites&lt;br /&gt;
[[File:Office365sharepointsitesettings.png|none|thumb|720x720px]] &lt;br /&gt;
[[File:Office365sharepointsitesettings2.png|none|thumb|567x567px]] &lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Site settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
=====Automation type=====&lt;br /&gt;
Full: Means that site maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
=====Remove learner method=====&lt;br /&gt;
Deleted in AD&lt;br /&gt;
&lt;br /&gt;
Users will be removed from site when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
Finished on activity/course&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
=====Delete sites=====&lt;br /&gt;
Auto delete&lt;br /&gt;
&lt;br /&gt;
Sites will be delete when the last student has left the site&lt;br /&gt;
&lt;br /&gt;
=====Manual Delete=====&lt;br /&gt;
Sites will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
=====Send mail to teacher(s)=====&lt;br /&gt;
Send mail notification to teachers when they are attached to a site.&lt;br /&gt;
&lt;br /&gt;
=====Create x days before=====&lt;br /&gt;
Choose how many days before start that the sites are to be created.&lt;br /&gt;
&lt;br /&gt;
=====Delete x days after end=====&lt;br /&gt;
Choose how many days after end that the sites are to be deleted.&lt;br /&gt;
&lt;br /&gt;
=====Teacher rights on sites=====&lt;br /&gt;
Rights the teacher will have on the site when attached.&lt;br /&gt;
&lt;br /&gt;
=====Learner rights on sites=====&lt;br /&gt;
Rights the student/learner will have on the site when attached. &lt;br /&gt;
&lt;br /&gt;
=====Check if group rights match=====&lt;br /&gt;
When UMS looks for UMS-groups on the site, it will do so based on two criteria’s.&lt;br /&gt;
&lt;br /&gt;
The correct rights and the correct name. Unchecking this will disable the first criteria and only look for a group with the right name. (This is when users change the UMS-group rights on a site manually)&lt;br /&gt;
&lt;br /&gt;
=====SQL Groups=====&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
=====Group name=====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
====Activity Sites====&lt;br /&gt;
Do not create&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
LMS has to be checked&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
Based on template filter&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
All&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
Title&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
Description&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
===Search filter and criteria===&lt;br /&gt;
This will enable you to concatenate sites that would have been created as to or more sites to be created as one site.&lt;br /&gt;
&lt;br /&gt;
=====Remarks=====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
=====Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
=====Add activity short description to node ID=====&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint site.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
=====Course Sites=====&lt;br /&gt;
Course URL’s will always be created as activity_course.&lt;br /&gt;
&lt;br /&gt;
=====Do not create=====&lt;br /&gt;
It will not create any sites based on courses.&lt;br /&gt;
&lt;br /&gt;
=====LMS has to be checked=====&lt;br /&gt;
The field Skolefag_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
=====Based on template filter=====&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
=====All=====&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
=====Title=====&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
=====Description=====&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
=====Search filter and criteria=====&lt;br /&gt;
This will enable you to concatenate sites that would have been created as two or more sites to be created as one site.&lt;br /&gt;
[[File:Office365filter.png|none|thumb|416x416px]]&lt;br /&gt;
&lt;br /&gt;
=====Remarks=====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
=====Course Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
=====Activity Filter=====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
=====Semester roll=====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
=====Start index=====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
=====Length=====&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
After you have created the Office 365 setting you put in on a template.&lt;br /&gt;
[[File:Office365templateeditor.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
Setting: This will created the users with on this template in Office 365 with these settings&lt;br /&gt;
&lt;br /&gt;
===SharePoint settings===&lt;br /&gt;
Sites created with setting. If this is not specified no activities/courses on this template will be created.&lt;br /&gt;
[[File:Office365template.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
====Site URL====&lt;br /&gt;
Which site collection is used when creating sites&lt;br /&gt;
&lt;br /&gt;
Language: The default language of the created site&lt;br /&gt;
&lt;br /&gt;
Course Template&lt;br /&gt;
&lt;br /&gt;
Standard SharePoint: Use a standard template from SharePoint&lt;br /&gt;
&lt;br /&gt;
Course template: Enter a name of a template that resides in the site collection. If nothing is entered it will default to the Team site template&lt;br /&gt;
&lt;br /&gt;
UMS SharePoint Portal: Create sites based on the UMS SharePoint Portal product&lt;br /&gt;
&lt;br /&gt;
====OneNote Class Notebook setting====&lt;br /&gt;
Choose a Class Notebook setting. This will create a Class Notebook created in the SharePoint site.  &lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity  &lt;br /&gt;
&lt;br /&gt;
OneNote Class Notebook setting  &lt;br /&gt;
&lt;br /&gt;
Define settings for OneNote Class Notebooks.&lt;br /&gt;
[[File:OneNotesections SharePoint.png|none|thumb|476x476px]]&lt;br /&gt;
&lt;br /&gt;
====Sections====&lt;br /&gt;
Define the section the Class Notebook will be created with. Students that are attached to this Class Notebook will have these sections.  &lt;br /&gt;
[[File:Office365onenoteclassnotebooksettingedit.png|none|thumb|447x447px]]Use Name instead of title for Notebooks (Last part of URL)&lt;br /&gt;
&lt;br /&gt;
This will make the title of the NoteBook be the same as the last part of the URL of the SharePoint site that the NoteBook is created in. It never changes unless this is unchecked.&lt;br /&gt;
&lt;br /&gt;
Never update Notebook title after creation&lt;br /&gt;
&lt;br /&gt;
The NoteBook will never update the title after it has been created, even though the SharePoint site changes title. it will be created with the title that SharePoint site has at createin time.&lt;br /&gt;
&lt;br /&gt;
===OneNote Class Notebook setting===&lt;br /&gt;
[[File:Office365onenoteclassnotebooksettings.png|none|thumb|720x720px]]&lt;br /&gt;
[[File:Office365onenoteclassnotebooksettings2.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Notebook settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Automation type====&lt;br /&gt;
Full: Means that Notebooks maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
====Remove learner method====&lt;br /&gt;
Deleted in AD&lt;br /&gt;
&lt;br /&gt;
Users will be removed from Notebooks when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
Finished on activity/course&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
====Delete Notebooks====&lt;br /&gt;
Auto delete&lt;br /&gt;
&lt;br /&gt;
Notebooks will be delete when the last student has left the Notebook&lt;br /&gt;
&lt;br /&gt;
Manual Delete&lt;br /&gt;
&lt;br /&gt;
Notebooks will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
====Send mail to teacher(s)====&lt;br /&gt;
Send mail notification to teachers when they are attached to a Notebook.&lt;br /&gt;
&lt;br /&gt;
====Create x days before====&lt;br /&gt;
Choose how many days before start that the Notebooks are to be created.&lt;br /&gt;
&lt;br /&gt;
====Delete x days after end====&lt;br /&gt;
Choose how many days after end that the Notebooks are to be deleted.&lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all Notebooks created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
====Activity Notebooks====&lt;br /&gt;
&lt;br /&gt;
====Do not create====&lt;br /&gt;
It will not create any Notebooks based on activities.&lt;br /&gt;
&lt;br /&gt;
====LMS has to be checked====&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
====Based on template filter====&lt;br /&gt;
Create Notebooks based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
====All====&lt;br /&gt;
Create all Notebooks.&lt;br /&gt;
&lt;br /&gt;
====Title====&lt;br /&gt;
Title of the Notebook. Changing this after a Notebook has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
====Search filter and criteria====&lt;br /&gt;
This will enable you to concatenate Notebooks that would have been created as to or more Notebooks to be created as one Notebook.&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
====Remarks====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
====Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
====Add activity short description to node ID====&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one Notebook.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Office365filterexample.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
====Course Notebooks====&lt;br /&gt;
Course URL’s will always be created as activity course.&lt;br /&gt;
&lt;br /&gt;
====Do not create====&lt;br /&gt;
It will not create any Notebooks based on courses.&lt;br /&gt;
&lt;br /&gt;
====LMS has to be checked====&lt;br /&gt;
The field Skolefag_LMS in the students table has to be True. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
====Based on template filter====&lt;br /&gt;
Create Notebook based on a filter that is specified per template.&lt;br /&gt;
[[File:Office365filters.png|none|thumb|507x507px]]&lt;br /&gt;
&lt;br /&gt;
====All====&lt;br /&gt;
Create all Notebooks.&lt;br /&gt;
&lt;br /&gt;
====Title====&lt;br /&gt;
Title of the Notebook. Changing this after a Notebook has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
====Search filter and criteria====&lt;br /&gt;
This will enable you to concatenate Notebooks that would have been created as two or more Notebooks to be created as one Notebook.&lt;br /&gt;
[[File:Office365filter.png|none|thumb|416x416px]]&lt;br /&gt;
&lt;br /&gt;
====Remarks====&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
====Course Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
====Activity Filter====&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
====Semester roll====&lt;br /&gt;
Use replace string with empty&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the Notebook with an empty string.&lt;br /&gt;
&lt;br /&gt;
====Start index====&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
====Length====&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
After you have created the Office 365 setting you put in on a template.&lt;br /&gt;
[[File:Office365template2.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
Setting: This will created the users with on this template in Office 365 with these settings&lt;br /&gt;
&lt;br /&gt;
===OneNote Class Notebook settings===&lt;br /&gt;
Notebooks created with setting. If this is not specified no activities/courses on this template will be created.&lt;br /&gt;
[[File:Office365settings.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
====Site collection URL====&lt;br /&gt;
Which Notebook collection is used when creating Notebooks&lt;br /&gt;
&lt;br /&gt;
====Language====&lt;br /&gt;
The default language of the created Notebook&lt;br /&gt;
&lt;br /&gt;
====Sections====&lt;br /&gt;
Define the section the Class Notebook will be created with. Students that are attached to this Class Notebook will have these sections.  &lt;br /&gt;
[[File:Office365onenoteclassnotebooksettingedit.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====SQL Groups====&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all Notebooks created with this setting as teachers[[File:Office365sqlgroups.png|none|thumb|447x447px]]&lt;br /&gt;
&lt;br /&gt;
====Group name====&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
===Organization Settings===&lt;br /&gt;
[[File:Office365organization.png|none|thumb|656x656px]]&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Site settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Description====&lt;br /&gt;
Add a description to be able to identify the account.&lt;br /&gt;
&lt;br /&gt;
====SharePoint administration URL====&lt;br /&gt;
URL of the SharePoint administration site for the tenant.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Credentials settings&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
====Username====&lt;br /&gt;
Username used to connect to SharePoint.&lt;br /&gt;
&lt;br /&gt;
====Password====&lt;br /&gt;
Password used to connect to SharePoint.&lt;br /&gt;
&lt;br /&gt;
==Parameters==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Users&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|UsersOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|UpdateUsers&lt;br /&gt;
|Update users&lt;br /&gt;
|-&lt;br /&gt;
|DisableUsers&lt;br /&gt;
|Disable users&lt;br /&gt;
|-&lt;br /&gt;
|EnableUsers&lt;br /&gt;
|Enable users&lt;br /&gt;
|-&lt;br /&gt;
|DeleteUsers&lt;br /&gt;
|Delete users&lt;br /&gt;
|-&lt;br /&gt;
|CreateUsers&lt;br /&gt;
|Create users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateImmutableID&lt;br /&gt;
|Update Immutable ID on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateOffice365SettingsIDForUsers&lt;br /&gt;
|Update Office 365 settings for users if they have changed template&lt;br /&gt;
|-&lt;br /&gt;
|UpdateUsersObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+User settings&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|RunUserSettings&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|DisableStrongPassword&lt;br /&gt;
|Disable strong password for users&lt;br /&gt;
|-&lt;br /&gt;
|SetMailAddress&lt;br /&gt;
|Set mail address on users&lt;br /&gt;
|-&lt;br /&gt;
|Forward2OnPremiseMail&lt;br /&gt;
|Set forward to OnPremise mail on users&lt;br /&gt;
|-&lt;br /&gt;
|SetCalendarRights&lt;br /&gt;
|Set calendar rights on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateMailboxTimeZone&lt;br /&gt;
|Update timezone for mailbox users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateMailboxLanguage&lt;br /&gt;
|Update language for mailbox users&lt;br /&gt;
|-&lt;br /&gt;
|EnablePasswordNeverExpires&lt;br /&gt;
|Enable password never expires for users&lt;br /&gt;
|-&lt;br /&gt;
|UpdatePictures&lt;br /&gt;
|Update pictures&lt;br /&gt;
|-&lt;br /&gt;
|Forward2PrivateMail&lt;br /&gt;
|Set forward to privatemail on users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateReplyToAll&lt;br /&gt;
|Set Reply to all on users&lt;br /&gt;
|-&lt;br /&gt;
|ProvisionOneDrive&lt;br /&gt;
|Provision OneDrive to users&lt;br /&gt;
|-&lt;br /&gt;
|UpdateAddressBookPolicy&lt;br /&gt;
|Set address book policy on users&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|GroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|RemoveGroupMembers&lt;br /&gt;
|Remove group members from groups&lt;br /&gt;
|-&lt;br /&gt;
|AddGroupMembers&lt;br /&gt;
|Add members to groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteGroups&lt;br /&gt;
|Delete groups&lt;br /&gt;
|-&lt;br /&gt;
|CreateGroups&lt;br /&gt;
|Create groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|GetUPNsForGroups&lt;br /&gt;
|Get the UPN of template groups from Office 365&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Template groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TemplateGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|RemoveUsersFromTemplateGroups&lt;br /&gt;
|Remove users from template security groups&lt;br /&gt;
|-&lt;br /&gt;
|AddUsers2TemplateGroups&lt;br /&gt;
|Add users to template security groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTemplateGroups&lt;br /&gt;
|Delete groups that are no longer template security groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTemplateGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|GetUPNsForTemplateGroups&lt;br /&gt;
|Get the UPN of template security groups from Office 365&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Template extra groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TemplateExtraGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateTemplateExtraGroups&lt;br /&gt;
|Create groups from template extra group&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTemplateExtraGroups&lt;br /&gt;
|Delete groups that are no longer in extra groups&lt;br /&gt;
|-&lt;br /&gt;
|AddTemplateExtraGroupMembers&lt;br /&gt;
|Add users to template extra groups&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTemplateExtraGroupsObjectID&lt;br /&gt;
|Get the object ID from office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Keep alive groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|KeepAliveGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateKeepAliveGroups&lt;br /&gt;
|Create keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteKeepAliveGroups&lt;br /&gt;
|Delete keep alive groups if they are no longer in UMS&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSetMailAddressOnKeepAliveGroups&lt;br /&gt;
|Update the mail address on keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|AddKeepAliveGroupMembers&lt;br /&gt;
|Add users to keep alive groups&lt;br /&gt;
|-&lt;br /&gt;
|RemoveKeepAliveGroupMembers&lt;br /&gt;
|Remove users from keep alive groups&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Disabled groups&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|DisabledGroupsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateDisabledGroups&lt;br /&gt;
|Create disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|DeleteDisabledGroups&lt;br /&gt;
|Delete disabled groups if they are no longer in UMS&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSetMailAddressOnDisabledGroups&lt;br /&gt;
|Update the mail address on disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|AddDisabledGroupMembers&lt;br /&gt;
|Add users to disabled groups&lt;br /&gt;
|-&lt;br /&gt;
|RemoveDisabledGroupMembers&lt;br /&gt;
|Remove users from disabled groups&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Teams&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|TeamsOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddTeams2DB&lt;br /&gt;
|Add Teams to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateTeams&lt;br /&gt;
|Create Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddTeamToGroup&lt;br /&gt;
|Add teams to groups&lt;br /&gt;
|-&lt;br /&gt;
|ActivateTeams&lt;br /&gt;
|Activate teams&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeams&lt;br /&gt;
|Update Teams&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeams&lt;br /&gt;
|Delete Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2TeamsDBTable&lt;br /&gt;
|Add teachers to Office365Teams_Teachers table in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Teams&lt;br /&gt;
|Add teachers to Teams&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2TeamsDBTable&lt;br /&gt;
|Add learners to Office365Teams_Learners table in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Teams&lt;br /&gt;
|Add learners to Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsDeleteTeachers&lt;br /&gt;
|Delete teachers in Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsDeleteLearners&lt;br /&gt;
|Delete learners in Teams&lt;br /&gt;
|-&lt;br /&gt;
|TeamsUpdateNeedToBeUpdated&lt;br /&gt;
|Set update on next run flag&lt;br /&gt;
|-&lt;br /&gt;
|UpdateLearnersExternalID&lt;br /&gt;
|Retrieve the learners object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeachersExternalID&lt;br /&gt;
|Retrieve the teachers object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSchoolsExternalID&lt;br /&gt;
|Retrieve the schools object id from Office 365 and save it in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|UpdateTeamsExternalID&lt;br /&gt;
|Retrieve the teams object id from Office 365 and save it in UMS DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+SharePoint&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|SharepointOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|CreateSites&lt;br /&gt;
|Create sites&lt;br /&gt;
|-&lt;br /&gt;
|AddSites2DB&lt;br /&gt;
|Add sites in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteSites&lt;br /&gt;
|Delete sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSites&lt;br /&gt;
|Update sites&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2SitesInDB&lt;br /&gt;
|Add learners to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteTeachers&lt;br /&gt;
|Delete teachers&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2Sites&lt;br /&gt;
|Add teachers to sites&lt;br /&gt;
|-&lt;br /&gt;
|DeleteSiteGroups&lt;br /&gt;
|Delete site groups&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2SitesInDB&lt;br /&gt;
|Add teachers to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|DeleteLearners&lt;br /&gt;
|Delete learners&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2Sites&lt;br /&gt;
|Add learners to sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSiteURL&lt;br /&gt;
|Update sites with new URL&lt;br /&gt;
|-&lt;br /&gt;
|AddNoteBooks2Sites&lt;br /&gt;
|Add OneNote Class NoteBooks to sites&lt;br /&gt;
|-&lt;br /&gt;
|SharePointDeleteNoteBooks&lt;br /&gt;
|Delete OneNote Class NoteBooks from sites&lt;br /&gt;
|-&lt;br /&gt;
|UpdateNeedToBeUpdated&lt;br /&gt;
|Set the update on next run flag&lt;br /&gt;
|-&lt;br /&gt;
|UpdateSitesIsActive&lt;br /&gt;
|Update site active/inactive status&lt;br /&gt;
|-&lt;br /&gt;
|SharePoint_OneNoteClassNotebook_AddMissingTeachers&lt;br /&gt;
|Add missing Teachers to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|SharePoint_OneNoteClassNotebook_AddMissingLearners&lt;br /&gt;
|Add missing Learners to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|ReAddLearners2Sites&lt;br /&gt;
|Re-add learners to sites if ReAdd is true in DB&lt;br /&gt;
|-&lt;br /&gt;
|ReAddTeachers2Sites&lt;br /&gt;
|Re-add teachers to sites if ReAdd is true in DB&lt;br /&gt;
|}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+OneNoteClassNoteBook&lt;br /&gt;
!Parameter&lt;br /&gt;
!Description&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteClassNotebookOnly&lt;br /&gt;
|Runs all the parameters in this table&lt;br /&gt;
|-&lt;br /&gt;
|AddNotebooks2DB&lt;br /&gt;
|Add OneNote Class NoteBooks to UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|CreateNotebooks&lt;br /&gt;
|Create OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|UpdateOneNotes&lt;br /&gt;
|Update OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|DeleteOneNotes&lt;br /&gt;
|Delete OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2OneNotesInDB&lt;br /&gt;
|Add teachers to OneNote Class NoteBooks in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddTeachers2OneNotes&lt;br /&gt;
|Add teachers to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2OneNotesInDB&lt;br /&gt;
|Add learners to OneNote Class NoteBooks in UMS DB&lt;br /&gt;
|-&lt;br /&gt;
|AddLearners2OneNotes&lt;br /&gt;
|Add learners to OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteDeleteTeachers&lt;br /&gt;
|Delete teachers in OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteDeleteLearners&lt;br /&gt;
|Delete learners in OneNote Class NoteBooks&lt;br /&gt;
|-&lt;br /&gt;
|OneNoteUpdateNeedToBeUpdated&lt;br /&gt;
|Set update on next run flag&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==Maintenance==&lt;br /&gt;
&lt;br /&gt;
===portal.office.com===&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;Teams&#039;&#039;====&lt;br /&gt;
&lt;br /&gt;
Go to [http://portal.office.com Office Portal] and login with your admin account( the same UMS uses).&lt;br /&gt;
&lt;br /&gt;
Select settings Services and add-ins and click Teams.&lt;br /&gt;
[[File:Office_365_Teams_activation.PNG|1350x1350px|thumb|Activate Teams for a license type, ie. Guest or Education-Student|none]]&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&lt;br /&gt;
===Office 365 Licens (Unable to assign this license) How to troubleshoot this error===&lt;br /&gt;
&lt;br /&gt;
====Error message from UMS Job log (LiveAtEdu)====&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;Error = Unable to assign this license&#039;&#039;=====&lt;br /&gt;
&#039;&#039;Set-MsolUserLicense -UserPrincipalName &#039;khhi3275@ums.dk&#039; -AddLicenses &amp;quot;inLogic:STANDARDWOFFPACK_IW_STUDENT&amp;quot; -LicenseOptions $MyO365Sku&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Error = Unable to assign this license.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:00 -    at Utilities.Office365.SetLicenseForUser(String UPN, List`1 Licenses, SqlConnection&amp;amp; LocalSQLDBConnection)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;                      at LiveAtEdu_Sync.LiveAtEdu_Sync.PerformFunctionUserSettings(String SQLStr, UserFunctions Office365Function, MethodInfo StackFrame)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:00 - khhi3275- UPN = khhi3275@ums.dk&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;29-01-2019 13:23:01 - (UpdateLicenseInfoOnUsers) Error. Could not set license for user - khhi3275@ums.dk       &#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*Try adding the same licenses manually to a single user in office365. You could see if that is possible[[File:Licens.jpg|none|thumb|814x814px]]&lt;br /&gt;
&lt;br /&gt;
*The error shows that it is not possible to put the same licenses together[[File:Licens Error.png|none|thumb|812x812px]]&amp;lt;br /&amp;gt;&lt;br /&gt;
*Change your licenses in UMS and run the LiveAtEdu job again&lt;br /&gt;
&lt;br /&gt;
===Groups===&lt;br /&gt;
How to get groups visible in OneDrive and Classroom&lt;br /&gt;
&lt;br /&gt;
Remove the checkbox from Only senders inside my organization&lt;br /&gt;
&lt;br /&gt;
Why do I not get the site created?&lt;br /&gt;
&lt;br /&gt;
#Activity&lt;br /&gt;
##Is there a user on the activity with a primary template that has an office 365 setting attached&lt;br /&gt;
##Is the flag Aktivitet_LMS = True&lt;br /&gt;
#Course&lt;br /&gt;
##Is there a user on the course with a primary template that has an office 365 setting attached&lt;br /&gt;
##Is the flag Skolefag_LMS = True&lt;br /&gt;
&lt;br /&gt;
===Disable or enabling user===&lt;br /&gt;
Error = Message: Insufficient privileges to complete the operation.&lt;br /&gt;
&lt;br /&gt;
This could be the result of the user trying to be disabled/enabled has roles that does not allow the action like Global Administrator.&lt;br /&gt;
&lt;br /&gt;
===The term &#039;Set-UnifiedGroup&#039; is not recognized as a name of a cmdlet, function, script file, or executable program.===&lt;br /&gt;
https://docs.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps&lt;br /&gt;
&lt;br /&gt;
Run this command to check which roletypes are needed&lt;br /&gt;
 Get-ManagementRole -Cmdlet Set-UnifiedGroup&lt;br /&gt;
&lt;br /&gt;
===A parameter cannot be found that matches parameter name &#039;type&#039;.===&lt;br /&gt;
https://docs.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps&lt;br /&gt;
&lt;br /&gt;
Run this command to check which roletypes are needed&lt;br /&gt;
 Get-ManagementRole -Cmdlet Get-DistributionGroup&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Attendance_Registration_-_QR&amp;diff=4175</id>
		<title>Attendance Registration - QR</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Attendance_Registration_-_QR&amp;diff=4175"/>
		<updated>2021-12-15T09:16:08Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Attendance Registration QR is a system developed for schools, that functions along with the UMS App. The system allows students to register their own attendance by scanning a continuously-changing QR code. The students can scan the QR code when they arrive, and use the app to check out again when they leave again. The QR system makes it is easy to monitor the students’ attendance, as all registrations automatically will be available in UMS.&lt;br /&gt;
&lt;br /&gt;
Through the user-friendly interface, the teacher can see if everyone have registered correctly and make corrections if necessary. This system does not integrate with any third parties. If you need integration to any system, please contact us for price and availability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS Web]]&lt;br /&gt;
&lt;br /&gt;
[[App|UMS App]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
Students can check in by scanning the UMS-generated QR code, and check out, using the UMS App&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Is any physical items required===&lt;br /&gt;
A student (or school personnel that can log in as a test-student) must have an Android or iOS smartphone, with their schools UMS app installed&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
===Configurations===&lt;br /&gt;
Settings can be found under &#039;Web Setup -&amp;gt; Absence -&amp;gt; &#039;&#039;Scroll to bottom&#039;&#039; -&amp;gt; Check in/out settings&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Attendance QR Setup.png|frameless]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
[[File:QR settings.png|frameless]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Refresh timer: How many seconds a QR code should stay, before it refreshes&lt;br /&gt;
*Timer deadzone: How many seconds, after a QR code expires, it should still remain usable behind the scenes.&amp;lt;br /&amp;gt;&lt;br /&gt;
*URL = &#039;https://&amp;lt;UMS_URL&amp;gt;/auth/absence/QR/QRview.aspx&#039;&lt;br /&gt;
*It is important that students both check in AND out, otherwise UMS will perform check-out in the evening and absence will be registered.&amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Student Pauses==&lt;br /&gt;
QR Registration handles students having pauses, down to the minute without the students having to do anything.&lt;br /&gt;
If a student is too late, but some of that time was during a pause, they will only get absence for the minutes they where actually absencet.&lt;br /&gt;
If a student has a pause in the middle of the class, and they check out and then check in again before the pause ends, the QR system will not give them any absence for that.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Why have a deadzone?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The deadzone was made to facilitate the scenario where there&#039;s 1 second left of the QR code, the user scans the QR code, but before the server receives the request, the code has expired and the user gets an error saying &#039;Expired/invalid QR code&#039;.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=G_Suite&amp;diff=4171</id>
		<title>G Suite</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=G_Suite&amp;diff=4171"/>
		<updated>2021-12-07T08:21:36Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMS integrates to G Suite with the module G Suite Sync which:&lt;br /&gt;
&lt;br /&gt;
*Creates users and their e-mail accounts&lt;br /&gt;
*Maintains users in G Suite, i.e. data changes are synchronised to UMS&lt;br /&gt;
*Synchronises passwords&lt;br /&gt;
*Deletes users who no longer attend the school&lt;br /&gt;
&lt;br /&gt;
Integration to G Suite quickly becomes profitable. With UMS, the school saves resources by automating many manual tasks&lt;br /&gt;
&lt;br /&gt;
*Avoid having to program scripts to synchronise the data&lt;br /&gt;
*Users are automatically created with data from your student administration system&lt;br /&gt;
*It reduces the workload for the IT-department&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Supported administrative systems===&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===Additional functionality===&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
&lt;br /&gt;
===What to have ready===&lt;br /&gt;
&lt;br /&gt;
===Is any physical item required===&lt;br /&gt;
&lt;br /&gt;
===Should third party be contacted===&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&#039;&#039;&#039;Google Apps&#039;&#039;&#039;&lt;br /&gt;
[[File:Googleappsadminsettings.png|none|thumb|577x577px]]&lt;br /&gt;
&lt;br /&gt;
======Organization settings======&lt;br /&gt;
See description how to create/setup further down this page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Users&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Mail Alias”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose what to use as the users mail address (login).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Disable users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When marked the users will be disabled when they are no longer attending classes.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Delete users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose if users are to be deleted after grace period has ended.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Forward mail to on premise mail server”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will forward the users Office 365 mail to the primary mail address from AD (If user does not have a proxy address it will read it from the mail attribute)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Keep inactive before deleting x days”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify a grace period where users are disabled. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Distribution lists&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain lists”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to create distribution groups in Office 365. The groups will be created, updated and deleted if this is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete lists”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to delete distributions groups when they are no longer active in the administrative system. Check the data export manuals too when this happens&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete unused lists after x days”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify in days how long the distribution groups are to be kept alive in Office 365 before deletion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Only senders inside my organization”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With this marked only users in the domain will be able to send to distribution groups created by UMS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Template security groups&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will create the security group entered in the field “template security group” in the destination node in the template settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Timetable&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to create timetable blocks in Google Apps. They will be created, updated and deleted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete old”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to delete old timetable blocks from calendars.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;Site&#039;&#039;===&lt;br /&gt;
[[File:Googleappssite.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Full: Means that site maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remove learner method”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Deleted in AD”&lt;br /&gt;
&lt;br /&gt;
Users will be removed from site when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
“Finished on activity/course”&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Auto delete”&lt;br /&gt;
&lt;br /&gt;
Sites will be delete when the last student has left the site&lt;br /&gt;
&lt;br /&gt;
“Manual Delete”&lt;br /&gt;
&lt;br /&gt;
Sites will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the sites are to be created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the sites are to be deleted.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Teacher rights on sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the teacher will have on the site when attached.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Learner rights on sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the student/learner will have on the site when attached.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;SQL Groups&#039;&#039;&#039;===&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Title&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;===&lt;br /&gt;
This will enable you to concatenate sites that would have been created as to or more sites to be created as one site.&lt;br /&gt;
[[File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Examples&#039;&#039;&#039;====&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint site.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity_course”.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on courses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Title&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate sites that would have been created as two or more sites to be created as one site.&lt;br /&gt;
[[File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;big&amp;gt;Drive&amp;lt;/big&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
[[File:Googleappsdrive.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;Full&amp;lt;/big&amp;gt;&#039;&#039;&#039;:&amp;lt;/u&amp;gt; Means that drive maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;“Remove learner method”&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Deleted in AD”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Users will be removed from drive when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Finished on activity/course”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;“Delete drives”&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Auto delete”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drives will be delete when the last student has left the drive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Manual Delete”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drives will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a drive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the drives are to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the drives are to be deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Teacher rights on drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the teacher will have on the drive when attached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Learner rights on drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the student/learner will have on the drive when attached.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all drives created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all drives.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the drive. Changing this after a drive has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate drives that would have been created as to or more drives to be created as one drive.&lt;br /&gt;
[[File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint drive.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity_course”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any drives based on courses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create drives based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all drives.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the drive. Changing this after a drive has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate drives that would have been created as two or more drives to be created as one drive.&lt;br /&gt;
&lt;br /&gt;
[[File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
  === &#039;&#039;Classroom&#039;&#039; ===&lt;br /&gt;
There can only be a maximum of 990 classrooms in total in one organization. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Google designed features (Not UMS)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If a teacher leaves the school, the material that he has put into classrooms will be deleted as well.&lt;br /&gt;
&lt;br /&gt;
If a user has too many classrooms it will be very slow for this user.&lt;br /&gt;
[[File:Googleappsclassroomsettings.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Full: Means that classroom maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remove learner method”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Deleted in AD”&lt;br /&gt;
&lt;br /&gt;
Users will be removed from classroom when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
“Finished on activity/course”&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course.   &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete classrooms”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Auto delete”&lt;br /&gt;
&lt;br /&gt;
Classrooms will be delete when the last student has left the classroom&lt;br /&gt;
&lt;br /&gt;
“Manual Delete”&lt;br /&gt;
&lt;br /&gt;
Classrooms will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a classroom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the classroom s are to be created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the classroom s are to be deleted.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all classrooms created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Classroomss”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all classrooms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the classroom. Changing this after a classroom has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate classrooms that would have been created as to or more classrooms to be created as one classroom.&lt;br /&gt;
[[File:Googleappssearchfilters.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint classroom.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Classrooms”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity course”.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any classrooms based on courses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create classrooms based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all classrooms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the classroom. Changing this after a classroom has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate classrooms that would have been created as two or more classrooms to be created as one classroom.&lt;br /&gt;
[[File:Googleappsseachfilters3.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
  === &#039;&#039;&#039;Organization Settings&#039;&#039;&#039; ===&lt;br /&gt;
When creating Google API refer to this lInk &lt;br /&gt;
&lt;br /&gt;
[[Google app API|http://wiki.inlogic.dk/index.php/Google_app_API]] [[File:Googleappsorganizationsettings.png|none|thumb|378x378px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Description”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add a description to be able to identify the account.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Admin login”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mail address of an administrative user&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Password”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Password for the admin login specified&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Domain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The google domain that is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Client ID”, “Client Secret”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is obtained when following the instructions in the PDF document&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Refresh token”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will be generated the first time google synchronization is started. If this is reset UMS will asked for it again when the next synchronization is run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Timetable Users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can be used when creating timetable blocks. Look in timetable documentation for this feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Template Settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is where you specify which templates are synchronized with Google and how.&lt;br /&gt;
[[File:Googleappstemplateeditor.png|none|thumb|687x687px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Setting”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the setting described above  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Organization setting”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify where the users are created&lt;br /&gt;
[[File:Googleappsaosettings.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is where all users is placed&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use this path when below 13 years of age&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This is where users that are under 13 years is placed. If this is not specified everyone will be placed under the path setting. (This is helpful when it comes to Google+)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OU Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The description that is set on the OU when it is created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating sites from this template &lt;br /&gt;
[[File:Googleappssitesettings.png|none|thumb|422x422px]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site category&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A list of categories added to the site when creating it separated with a ;&lt;br /&gt;
&lt;br /&gt;
A category called UMS will be added aswell. (This cannot be change)  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Drive settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating drives from this template &lt;br /&gt;
[[File:Googleappsdrivesettings.png|none|thumb|429x429px]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Path”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The path where the drives are created&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create user specific subfolder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a folder for each student that is attached to each drive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create subfolder (Teacher Read/Write - Student Read)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A folder where teachers can upload data that students can only read&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create subfolder (Teacher Read/Write - Student Read/Write)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A folder where teachers and students can share data both with read/write&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:Googleappsstudents.png|none|thumb|279x279px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classroom settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating classrooms from this template  &lt;br /&gt;
[[File:Googleappsclassroomsettings2.png|none|thumb]]  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
==Installation G Suite Sync==&lt;br /&gt;
Steps to make UMS sync work with G Suite.&lt;br /&gt;
&lt;br /&gt;
Log on &amp;lt;nowiki&amp;gt;https://console.developers.google.com&amp;lt;/nowiki&amp;gt; with your Google Admin account.&lt;br /&gt;
&lt;br /&gt;
Create a project&lt;br /&gt;
[[File:Googlesyncproject2.png|none|thumb|594x594px]]&lt;br /&gt;
&lt;br /&gt;
When created choose project and click the newly created project.&lt;br /&gt;
&lt;br /&gt;
Choose “Enable and manage APIs”. Enable these APIs&lt;br /&gt;
[[File:Googlesyncenableapi.png|none|thumb|463x463px]]&lt;br /&gt;
&lt;br /&gt;
Click credentials&lt;br /&gt;
&lt;br /&gt;
And choose “OAuth client ID”&lt;br /&gt;
&lt;br /&gt;
Choose settings as show on below image. Name can be changed.&lt;br /&gt;
[[File:Googlesyncoauth.png|none|thumb|499x499px]]&lt;br /&gt;
&lt;br /&gt;
Then choose “Create”&lt;br /&gt;
&lt;br /&gt;
Which creates an OAuth 2.0 client ID&lt;br /&gt;
&lt;br /&gt;
Enter Client ID and Client Secret into UMS&lt;br /&gt;
[[File:Googlesyncoauth2.png|none|thumb|513x513px]]&lt;br /&gt;
&lt;br /&gt;
Go back to “Overview” and choose “Enabled APIs”&lt;br /&gt;
&lt;br /&gt;
Click on each API you added and choose Quota &lt;br /&gt;
[[File:Googlesyncenableapi2.png|none|thumb|517x517px]]&lt;br /&gt;
&lt;br /&gt;
Set the number as high as you can without “apply for higher quota”&lt;br /&gt;
[[File:Googlesyncapplyhighquota.png|none|thumb|439x439px]]&lt;br /&gt;
&lt;br /&gt;
And you are done with this site.&lt;br /&gt;
&lt;br /&gt;
Now Log on https://admin.google.com with your Google Admin account&lt;br /&gt;
&lt;br /&gt;
Find “Other Google Services” - can be located under “More Controls” or under APPS aplaced at page bottom.&lt;br /&gt;
&lt;br /&gt;
Click “add services” upper right corner&lt;br /&gt;
&lt;br /&gt;
Then click “Add it now” on “Groups for Business”&lt;br /&gt;
[[File:Googlesyncservices.png|none|thumb|495x495px]]&lt;br /&gt;
&lt;br /&gt;
Back to start and choose “Security”&lt;br /&gt;
&lt;br /&gt;
Choose “API reference” and check “Enable API access”&lt;br /&gt;
[[File:Googlesyncsecurity.png|none|thumb|439x439px]]&lt;br /&gt;
&lt;br /&gt;
Go to the UMS “usermanagement folder” and run “GoogleApps_Sync.exe” manually. &lt;br /&gt;
&lt;br /&gt;
Login to Google using credentials from Google Organization settings.&lt;br /&gt;
&lt;br /&gt;
When logged in succesfully, “Accept” the following&lt;br /&gt;
[[File:Googlesyncaccept.png|none|thumb|578x578px]]&lt;br /&gt;
If you get a “This page can’t be displayed”&lt;br /&gt;
[[File:Googlesyncpagenotfound.png|none|thumb|315x315px]]&lt;br /&gt;
&lt;br /&gt;
Do not be alarmed. The job has been activated and you can check your GoogleApps_Sync.log to confirm that the job has completed running.&lt;br /&gt;
&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
Why do I not get the drive/site created?&lt;br /&gt;
&lt;br /&gt;
1.      Activity&lt;br /&gt;
&lt;br /&gt;
a.     Is there a user on the activity with a primary template that has an office 365 setting attached&lt;br /&gt;
&lt;br /&gt;
b.     Is the flag Aktivitet_LMS = True&lt;br /&gt;
&lt;br /&gt;
2.     Course&lt;br /&gt;
&lt;br /&gt;
a.     Is there a user on the course with a primary template that has an office 365 setting attached&lt;br /&gt;
&lt;br /&gt;
b.     Is the flag Skolefag_LMS = True&lt;br /&gt;
&lt;br /&gt;
===CreateGroups Error===&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Get root folders  [Inlogic_Alle 1e-elever]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;(CreateGroups) Error Google.Apis.Requests.RequestError&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Not Authorized to access this resource/api [403] Errors [ Message[Not Authorized to access this resource/api] Location[ - ] Reason[forbidden] Domain[global]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Get root folders&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;(CreateGroups) Error Google.Apis.Requests.RequestError&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Not Authorized to access this resource/api [403]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Errors [ Message[Not Authorized to access this resource/api] Location[ - ] Reason[forbidden] Domain[global]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The reason why that error occurs is that the mail adr. is used by another group or user. Test by manually creating a group in google admin portal. The image below shows the error.&#039;&#039;&#039;&lt;br /&gt;
[[File:Fgd.png|left|thumb|935x935px]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=G_Suite&amp;diff=4170</id>
		<title>G Suite</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=G_Suite&amp;diff=4170"/>
		<updated>2021-12-07T08:19:32Z</updated>

		<summary type="html">&lt;p&gt;Cna: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;UMS integrates to G Suite with the module G Suite Sync which:&lt;br /&gt;
&lt;br /&gt;
*Creates users and their e-mail accounts&lt;br /&gt;
*Maintains users in G Suite, i.e. data changes are synchronised to UMS&lt;br /&gt;
*Synchronises passwords&lt;br /&gt;
*Deletes users who no longer attend the school&lt;br /&gt;
&lt;br /&gt;
Integration to G Suite quickly becomes profitable. With UMS, the school saves resources by automating many manual tasks&lt;br /&gt;
&lt;br /&gt;
*Avoid having to program scripts to synchronise the data&lt;br /&gt;
*Users are automatically created with data from your student administration system&lt;br /&gt;
*It reduces the workload for the IT-department&lt;br /&gt;
&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
&lt;br /&gt;
===Supported administrative systems===&lt;br /&gt;
&lt;br /&gt;
===Module requirements===&lt;br /&gt;
[[UMS]]&lt;br /&gt;
&lt;br /&gt;
===Additional functionality===&lt;br /&gt;
&lt;br /&gt;
===Testing after setup===&lt;br /&gt;
&lt;br /&gt;
===What to have ready===&lt;br /&gt;
&lt;br /&gt;
===Is any physical item required===&lt;br /&gt;
&lt;br /&gt;
===Should third party be contacted===&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&#039;&#039;&#039;Google Apps&#039;&#039;&#039;&lt;br /&gt;
[[File:Googleappsadminsettings.png|none|thumb|577x577px]]&lt;br /&gt;
&lt;br /&gt;
====== Organization settings ======&lt;br /&gt;
See description how to create/setup further [[=== Organization Settings ==|down]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Users&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Mail Alias”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose what to use as the users mail address (login).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Disable users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When marked the users will be disabled when they are no longer attending classes.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Delete users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose if users are to be deleted after grace period has ended.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Forward mail to on premise mail server”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will forward the users Office 365 mail to the primary mail address from AD (If user does not have a proxy address it will read it from the mail attribute)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Keep inactive before deleting x days”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify a grace period where users are disabled. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Distribution lists&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain lists”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to create distribution groups in Office 365. The groups will be created, updated and deleted if this is specified.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete lists”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to delete distributions groups when they are no longer active in the administrative system. Check the data export manuals too when this happens&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete unused lists after x days”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify in days how long the distribution groups are to be kept alive in Office 365 before deletion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Only senders inside my organization”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With this marked only users in the domain will be able to send to distribution groups created by UMS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Template security groups&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will create the security group entered in the field “template security group” in the destination node in the template settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Timetable&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Maintain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to create timetable blocks in Google Apps. They will be created, updated and deleted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete old”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mark this to delete old timetable blocks from calendars.&lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;Site&#039;&#039;===&lt;br /&gt;
[[File:Googleappssite.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Full: Means that site maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remove learner method”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Deleted in AD”&lt;br /&gt;
&lt;br /&gt;
Users will be removed from site when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
“Finished on activity/course”&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Auto delete”&lt;br /&gt;
&lt;br /&gt;
Sites will be delete when the last student has left the site&lt;br /&gt;
&lt;br /&gt;
“Manual Delete”&lt;br /&gt;
&lt;br /&gt;
Sites will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a site.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the sites are to be created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the sites are to be deleted.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Teacher rights on sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the teacher will have on the site when attached.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Learner rights on sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the student/learner will have on the site when attached.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;SQL Groups&#039;&#039;&#039;===&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Title&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;===&lt;br /&gt;
This will enable you to concatenate sites that would have been created as to or more sites to be created as one site.&lt;br /&gt;
[[File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
====&#039;&#039;&#039;Examples&#039;&#039;&#039;====&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint site.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Sites”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity_course”.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on courses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all sites.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Title&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Title of the site. Changing this after a site has been created will cause it to be updated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the site. Changing this after a site has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate sites that would have been created as two or more sites to be created as one site.&lt;br /&gt;
[[File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the site with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
===&#039;&#039;&#039;&amp;lt;big&amp;gt;Drive&amp;lt;/big&amp;gt;&#039;&#039;&#039;===&lt;br /&gt;
[[File:Googleappsdrive.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&#039;&#039;&#039;&amp;lt;big&amp;gt;Full&amp;lt;/big&amp;gt;&#039;&#039;&#039;:&amp;lt;/u&amp;gt; Means that drive maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;“Remove learner method”&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Deleted in AD”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Users will be removed from drive when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Finished on activity/course”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;u&amp;gt;&amp;lt;big&amp;gt;“Delete drives”&amp;lt;/big&amp;gt;&amp;lt;/u&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Auto delete”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drives will be delete when the last student has left the drive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Manual Delete”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Drives will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a drive.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the drives are to be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the drives are to be deleted.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Teacher rights on drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the teacher will have on the drive when attached.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Learner rights on drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rights the student/learner will have on the drive when attached.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all drives created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all drives.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the drive. Changing this after a drive has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate drives that would have been created as to or more drives to be created as one drive.&lt;br /&gt;
[[File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint drive.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Drives”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity_course”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any drives based on courses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create drives based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all drives.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the drive. Changing this after a drive has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate drives that would have been created as two or more drives to be created as one drive.&lt;br /&gt;
&lt;br /&gt;
[[File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the drive with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
  === &#039;&#039;Classroom&#039;&#039; ===&lt;br /&gt;
There can only be a maximum of 990 classrooms in total in one organization. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Google designed features (Not UMS)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If a teacher leaves the school, the material that he has put into classrooms will be deleted as well.&lt;br /&gt;
&lt;br /&gt;
If a user has too many classrooms it will be very slow for this user.&lt;br /&gt;
[[File:Googleappsclassroomsettings.png|none|thumb|720x720px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Automation type”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Full: Means that classroom maintenance will be fully automated.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remove learner method”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Deleted in AD”&lt;br /&gt;
&lt;br /&gt;
Users will be removed from classroom when they are not active in UMS anymore&lt;br /&gt;
&lt;br /&gt;
“Finished on activity/course”&lt;br /&gt;
&lt;br /&gt;
Users will be removed when they have finished with the course.   &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete classrooms”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
“Auto delete”&lt;br /&gt;
&lt;br /&gt;
Classrooms will be delete when the last student has left the classroom&lt;br /&gt;
&lt;br /&gt;
“Manual Delete”&lt;br /&gt;
&lt;br /&gt;
Classrooms will not be deleted by UMS. This has to be done by an administrator&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Send mail to teacher(s)”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Send mail notification to teachers when they are attached to a classroom.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Create x days before”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days before start that the classroom s are to be created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Delete x days after end”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Choose how many days after end that the classroom s are to be deleted.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all classrooms created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Classroomss”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any sites based on activities.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Aktivitet_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create sites based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all classrooms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the classroom. Changing this after a classroom has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate classrooms that would have been created as to or more classrooms to be created as one classroom.&lt;br /&gt;
[[File:Googleappssearchfilters.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssearchfilters.png|none|thumb|401x401px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
“&#039;&#039;&#039;Add activity short description to node ID&#039;&#039;&#039;“&lt;br /&gt;
&lt;br /&gt;
This will add the field Kort_Betegnelse (Short Description) from the students table to the node id.&lt;br /&gt;
&lt;br /&gt;
Node id is the URL.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have three activities named English1, English2, English3 and you only want one SharePoint classroom.&lt;br /&gt;
&lt;br /&gt;
Set the settings as shown below&lt;br /&gt;
[[File:Googleappsseachfilters2.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsseachfilters2.png|none|thumb|413x413px]]&lt;br /&gt;
&lt;br /&gt;
This filter ensures that it is only applied to activities that matches this SQL sentence. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Classrooms”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Course URL’s will always be created as “activity course”.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Do not create”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It will not create any classrooms based on courses.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“LMS has to be checked”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The field Skolefag_LMS in the students table has to be “True”. (Look in the documentation for the specific administrative system to see how this is set)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Based on template filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create classrooms based on a filter that is specified per template.&lt;br /&gt;
[[File:Googleappsactivitysites.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsactivitysites.png|none|thumb|493x493px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“All”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create all classrooms.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description of the classroom. Changing this after a classroom has been created will cause it to be updated.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Search filter and criteria&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will enable you to concatenate classrooms that would have been created as two or more classrooms to be created as one classroom.&lt;br /&gt;
[[File:Googleappsseachfilters3.png|link=http://wiki.inlogic.dk/index.php/File:Googleappsseachfilters3.png|none|thumb|427x427px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Remarks”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is just for description purposes. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Course Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Activity Filter”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The SQL like filter (regular expression). If an activity matches, it will be subject to the settings below in semester roll&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Semester roll”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Use replace string with empty”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will replace a section of the classroom with an empty string.&lt;br /&gt;
&lt;br /&gt;
                                            &#039;&#039;&#039;“Start index”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine where to start in string to remove.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Length”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
How many characters will be removed from the string.  &lt;br /&gt;
&lt;br /&gt;
  === &#039;&#039;&#039;Organization Settings&#039;&#039;&#039; ===&lt;br /&gt;
When creating Google API refer to this lInk &lt;br /&gt;
&lt;br /&gt;
[[Google app API|http://wiki.inlogic.dk/index.php/Google_app_API]] [[File:Googleappsorganizationsettings.png|none|thumb|378x378px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Description”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add a description to be able to identify the account.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Admin login”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mail address of an administrative user&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;“Password”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Password for the admin login specified&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Domain”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The google domain that is used.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Client ID”, “Client Secret”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is obtained when following the instructions in the PDF document&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Refresh token”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This will be generated the first time google synchronization is started. If this is reset UMS will asked for it again when the next synchronization is run.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Timetable Users”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can be used when creating timetable blocks. Look in timetable documentation for this feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Template Settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is where you specify which templates are synchronized with Google and how.&lt;br /&gt;
[[File:Googleappstemplateeditor.png|none|thumb|687x687px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Setting”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the setting described above  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Organization setting”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Specify where the users are created&lt;br /&gt;
[[File:Googleappsaosettings.png|none|thumb|422x422px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Path&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is where all users is placed&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Use this path when below 13 years of age&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
This is where users that are under 13 years is placed. If this is not specified everyone will be placed under the path setting. (This is helpful when it comes to Google+)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;OU Description&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The description that is set on the OU when it is created.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating sites from this template &lt;br /&gt;
[[File:Googleappssitesettings.png|none|thumb|422x422px]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Site category&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A list of categories added to the site when creating it separated with a ;&lt;br /&gt;
&lt;br /&gt;
A category called UMS will be added aswell. (This cannot be change)  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Drive settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating drives from this template &lt;br /&gt;
[[File:Googleappsdrivesettings.png|none|thumb|429x429px]] &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Path”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The path where the drives are created&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create user specific subfolder&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Create a folder for each student that is attached to each drive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create subfolder (Teacher Read/Write - Student Read)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A folder where teachers can upload data that students can only read&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Create subfolder (Teacher Read/Write - Student Read/Write)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A folder where teachers and students can share data both with read/write&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suffix&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A text string that is appended to the folder name&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
[[File:Googleappsstudents.png|none|thumb|279x279px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Classroom settings&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Settings used when creating classrooms from this template  &lt;br /&gt;
[[File:Googleappsclassroomsettings2.png|none|thumb]]  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“SQL Groups”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Members of these groups will be attached to all sites created with this setting as teachers&lt;br /&gt;
[[File:Googleappssqlgroups.png|link=http://wiki.inlogic.dk/index.php/File:Googleappssqlgroups.png|none|thumb|458x458px]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“Group name”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This can only be a group that is found in UMS &lt;br /&gt;
&lt;br /&gt;
You get a list of these groups by running this SQL command:&lt;br /&gt;
&lt;br /&gt;
Select Distinct Aktivitet As Activity From Students Order By Activity&lt;br /&gt;
&lt;br /&gt;
==Installation G Suite Sync==&lt;br /&gt;
Steps to make UMS sync work with G Suite.&lt;br /&gt;
&lt;br /&gt;
Log on &amp;lt;nowiki&amp;gt;https://console.developers.google.com&amp;lt;/nowiki&amp;gt; with your Google Admin account.&lt;br /&gt;
&lt;br /&gt;
Create a project&lt;br /&gt;
[[File:Googlesyncproject2.png|none|thumb|594x594px]]&lt;br /&gt;
&lt;br /&gt;
When created choose project and click the newly created project.&lt;br /&gt;
&lt;br /&gt;
Choose “Enable and manage APIs”. Enable these APIs&lt;br /&gt;
[[File:Googlesyncenableapi.png|none|thumb|463x463px]]&lt;br /&gt;
&lt;br /&gt;
Click credentials&lt;br /&gt;
&lt;br /&gt;
And choose “OAuth client ID”&lt;br /&gt;
&lt;br /&gt;
Choose settings as show on below image. Name can be changed.&lt;br /&gt;
[[File:Googlesyncoauth.png|none|thumb|499x499px]]&lt;br /&gt;
&lt;br /&gt;
Then choose “Create”&lt;br /&gt;
&lt;br /&gt;
Which creates an OAuth 2.0 client ID&lt;br /&gt;
&lt;br /&gt;
Enter Client ID and Client Secret into UMS&lt;br /&gt;
[[File:Googlesyncoauth2.png|none|thumb|513x513px]]&lt;br /&gt;
&lt;br /&gt;
Go back to “Overview” and choose “Enabled APIs”&lt;br /&gt;
&lt;br /&gt;
Click on each API you added and choose Quota &lt;br /&gt;
[[File:Googlesyncenableapi2.png|none|thumb|517x517px]]&lt;br /&gt;
&lt;br /&gt;
Set the number as high as you can without “apply for higher quota”&lt;br /&gt;
[[File:Googlesyncapplyhighquota.png|none|thumb|439x439px]]&lt;br /&gt;
&lt;br /&gt;
And you are done with this site.&lt;br /&gt;
&lt;br /&gt;
Now Log on https://admin.google.com with your Google Admin account&lt;br /&gt;
&lt;br /&gt;
Find “Other Google Services” - can be located under “More Controls” or under APPS aplaced at page bottom.&lt;br /&gt;
&lt;br /&gt;
Click “add services” upper right corner&lt;br /&gt;
&lt;br /&gt;
Then click “Add it now” on “Groups for Business”&lt;br /&gt;
[[File:Googlesyncservices.png|none|thumb|495x495px]]&lt;br /&gt;
&lt;br /&gt;
Back to start and choose “Security”&lt;br /&gt;
&lt;br /&gt;
Choose “API reference” and check “Enable API access”&lt;br /&gt;
[[File:Googlesyncsecurity.png|none|thumb|439x439px]]&lt;br /&gt;
&lt;br /&gt;
Go to the UMS “usermanagement folder” and run “GoogleApps_Sync.exe” manually. &lt;br /&gt;
&lt;br /&gt;
Login to Google using credentials from Google Organization settings.&lt;br /&gt;
&lt;br /&gt;
When logged in succesfully, “Accept” the following&lt;br /&gt;
[[File:Googlesyncaccept.png|none|thumb|578x578px]]&lt;br /&gt;
If you get a “This page can’t be displayed”&lt;br /&gt;
[[File:Googlesyncpagenotfound.png|none|thumb|315x315px]]&lt;br /&gt;
&lt;br /&gt;
Do not be alarmed. The job has been activated and you can check your GoogleApps_Sync.log to confirm that the job has completed running.&lt;br /&gt;
&lt;br /&gt;
==Technical settings==&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
Why do I not get the drive/site created?&lt;br /&gt;
&lt;br /&gt;
1.      Activity&lt;br /&gt;
&lt;br /&gt;
a.     Is there a user on the activity with a primary template that has an office 365 setting attached&lt;br /&gt;
&lt;br /&gt;
b.     Is the flag Aktivitet_LMS = True&lt;br /&gt;
&lt;br /&gt;
2.     Course&lt;br /&gt;
&lt;br /&gt;
a.     Is there a user on the course with a primary template that has an office 365 setting attached&lt;br /&gt;
&lt;br /&gt;
b.     Is the flag Skolefag_LMS = True&lt;br /&gt;
&lt;br /&gt;
===CreateGroups Error===&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Get root folders  [Inlogic_Alle 1e-elever]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;(CreateGroups) Error Google.Apis.Requests.RequestError&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Not Authorized to access this resource/api [403] Errors [ Message[Not Authorized to access this resource/api] Location[ - ] Reason[forbidden] Domain[global]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Get root folders&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;(CreateGroups) Error Google.Apis.Requests.RequestError&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Not Authorized to access this resource/api [403]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;small&amp;gt;Errors [ Message[Not Authorized to access this resource/api] Location[ - ] Reason[forbidden] Domain[global]&amp;lt;/small&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The reason why that error occurs is that the mail adr. is used by another group or user. Test by manually creating a group in google admin portal. The image below shows the error.&#039;&#039;&#039;&lt;br /&gt;
[[File:Fgd.png|left|thumb|935x935px]]&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=Google_app_API&amp;diff=4169</id>
		<title>Google app API</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=Google_app_API&amp;diff=4169"/>
		<updated>2021-12-07T08:14:05Z</updated>

		<summary type="html">&lt;p&gt;Cna: New screenshots from Google setup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Steps to make UMS syne work with Google Apps.==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Log on https://console.developers.google.com with your Google Admin account and create a new project[[File:2.jpg|thumb|1162x1162px|none]]&lt;br /&gt;
&lt;br /&gt;
Enter  Project Name, select organization and domain from dropdown.&amp;lt;br /&amp;gt;[[File:Google Project.jpg|none|thumb|525x525px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Be aware that you have chosen the right project and then click on &amp;quot; + ENABLE APIS SERVICES &amp;quot;&lt;br /&gt;
[[File:4.jpg|none|thumb|899x899px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Google automatically opens the API Library where you can search for services.&lt;br /&gt;
[[File:5.jpg|none|thumb|902x902px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Notice that the &amp;quot;Drive SDK&amp;quot; does not exist in the new API&lt;br /&gt;
*Enable the foliowing APls  (Remember that you can search for each API)&lt;br /&gt;
&lt;br /&gt;
Admin SDK  &lt;br /&gt;
&lt;br /&gt;
Google Calendar API  &lt;br /&gt;
&lt;br /&gt;
Google Drive API&lt;br /&gt;
&lt;br /&gt;
Service Control API&lt;br /&gt;
&lt;br /&gt;
Google Cloud Storage JSON API&lt;br /&gt;
&lt;br /&gt;
Group Settings API&lt;br /&gt;
&lt;br /&gt;
Site Verification API&lt;br /&gt;
[[File:64.jpg|none|thumb|800x800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is what it should look like in the end.&lt;br /&gt;
&lt;br /&gt;
[[File:API Dashboard.png|frameless|1250x1250px]]&lt;br /&gt;
 &lt;br /&gt;
==Create API Credentials==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Click on &amp;quot; OAuth consent screen &amp;quot;&lt;br /&gt;
&lt;br /&gt;
Enter &amp;quot; Appliation Name &amp;quot; , a User Support email and developer contact info (mandatory).  &lt;br /&gt;
&lt;br /&gt;
Click  &amp;quot;save&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:OAuth Concent screen.png|frameless|1037x1037px]]&lt;br /&gt;
Click on &amp;quot;Credentials&amp;quot; and Create &amp;quot;OAuth Client ID&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Oauth Credentials.png|frameless|1060x1060px]] &lt;br /&gt;
&lt;br /&gt;
Select Desktop APP and enter a name, then Click Create &lt;br /&gt;
&lt;br /&gt;
[[File:Desktop APP.png|frameless|870x870px]]&lt;br /&gt;
 &lt;br /&gt;
[[File:Desktop APP2.png|frameless|860x860px]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Copy Client ID and Client Secret for it to be used in UMS Configurator under Google organization settings&lt;br /&gt;
&lt;br /&gt;
[[File:ID and Key.png|frameless|510x510px]]&lt;br /&gt;
And the &amp;quot;Client ID&amp;quot; and  &amp;quot;Client Secret&amp;quot; is to be entered in UMS Configurator&lt;br /&gt;
[[File:15.jpg|none|thumb|487x487px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:ID_and_Key.png&amp;diff=4168</id>
		<title>File:ID and Key.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:ID_and_Key.png&amp;diff=4168"/>
		<updated>2021-12-07T08:11:47Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ID and Key&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Desktop_APP2.png&amp;diff=4167</id>
		<title>File:Desktop APP2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Desktop_APP2.png&amp;diff=4167"/>
		<updated>2021-12-07T08:10:30Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Desktop APP2&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
	<entry>
		<id>https://wiki.inlogic.dk/index.php?title=File:Desktop_APP.png&amp;diff=4166</id>
		<title>File:Desktop APP.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.inlogic.dk/index.php?title=File:Desktop_APP.png&amp;diff=4166"/>
		<updated>2021-12-07T08:09:11Z</updated>

		<summary type="html">&lt;p&gt;Cna: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;desktop APP&lt;/div&gt;</summary>
		<author><name>Cna</name></author>
	</entry>
</feed>