Jump to content

Timetable: Difference between revisions

From UmsWiki
Mej (talk | contribs)
 
(32 intermediate revisions by 8 users not shown)
Line 1: Line 1:
Skemabrikker.exe is a small sync job that needs to run when timetables has to be created, updated or deleted.
Skemabrikker.exe is a small sync job that needs to run when timetables are created, updated, or deleted.


Example of timetable in UMS and Outlook:
[[File:Timetable in UMS and Outlook.png|none|thumb|600x600px]]


The following systems is supported
 
The following systems are supported:


*Office 365
*Office 365
*Exchange
*Exchange
*GSuite
*GSuite<br />
 
<br />


==Parameters==
==Parameters==


===Usage===
===Usage===
  Skemabrikker.exe [<optional> System] [<optional> Action] [<optional> StartDate] [<optional> EndDate] [<optional> Type [UMS | NonUMS | All]]
  > Skemabrikker.exe [<optional> System] [<optional> Action] [<optional> Mail] [<optional> StartDate] [<optional> EndDate] [<optional> Type [UMS | NonUMS | All]]
Eg.
> Skemabrikker.exe Office365 teachersonly


=====Help:=====
> Skemabrikker.exe Office365 find tea@umsacademic.onmicrosoft.com 12-05-2019 13-05-2019 All
Displays a microsoft forms with the different parameters.


=====Applyrights:=====
====Applyrights====
Only works for Exchange and Office365. Restores rights for a room if they have accidentally been deleted or changed.
Only works for Exchange and Office365. Restores rights for a room if they have accidentally been deleted or changed.<br />


<br />
====Systems====
This parameter is used to define what system Skemabrikker.exe will populate the timetables to. We currently support timetable integration to these systems:
 
Exchange
 
Office365
 
GoogleApps
 
[[Timetable/itslearning|Itslearning]]<br />
 
=====Teachersonly=====
This parameter is used if the [action] parameter needs to affect only teachers.
 
=====Studentsonly=====
This parameter is used if the [action] parameter needs to affect only students.
 
=====Roomsonly=====
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] 'Room_ID').
 
=====Activitiesonly=====
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] 'Activity_ID').
 
=====Coursesonly=====
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] 'Activity_ID_Course_ID').
 
====Action====
 
=====find=====
Used to display the timetables associated with the given [mail] parameter.
 
=====delete=====
Used to delete the timetables associated with the given [mail] parameter.
 
=====update=====
Used to update the timetables that needs to be updated and are associated with the given [mail] parameter.
 
=====cleanup=====
Used to find UMS appointments in users calendars and delete them if they are not found in UMS database.
 
====Mail====
 
=====mail/UPN=====
This parameter is used if the [action] parameter needs to affect a specific user.
 
=====AllTimeTableStudents=====
This will delete timetable blocks from all known students
 
'''Works with'''


=====Systems:=====
Office 365
This parameter is used to define what system Skemabrikker.exe will populate the Timetables to. We currently support Timetable integration to these systems:


Exchange
Exchange


Office 365
=====AllTimeTableEmployees=====
This will delete timetable blocks from all known employees
{| class="wikitable"
|+
!Eg : Skemabrikker.exe Office365 delete AllTimeTableEmployees 01-08-2022 31-09-2022 UMS
|}
 


Google Apps(Gsuite)
If you want to create timetableblocks for a specific teacher, you can use this syntax :


[[Timetable/itslearning|Itslearning]]
* '''Skemabrikker.exe Office365 AllTimeTableEmployees [Username'''


<br />


=====Action:=====
If you want to create timetableblocks for a specific Student, you can use this syntax :
find - Used to display the Timetables associated with the given [mail] parameter


delete - Used to delete the Timetables associated with the given [mail] parameter
* '''Skemabrikker.exe Office365 AllTimeTableStudents [Username]'''


update - Used to update the Timetables that needs to be updated that are associated with the given [mail] parameter


<br />


=====Mail:=====
'''Works with'''
mail/UPN - This parameter used if the [action] parameter needs to affect a specific user


Teachersonly - This parameter used if the [action] parameter needs to only affect teachers
Office 365


Studentsonly - This parameter used if the [action] parameter needs to only affect students
Exchange


Roomsonly - This parameter is used if the [action] parameter needs to only affect a given physical classroom
=====AllTimeTableRooms=====


Activitiesonly - This parameter is used if the [action] parameter needs to only affect a given activity
This will delete timetable blocks from all known rooms.


=====StartDate:=====
'''Works with'''
This parameter is used in 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


<br />
Office 365


=====EndDate:=====
====StartDate====
This parameter is used in 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
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.


<br />
====EndDate====
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.<br />


=====Type:=====
====Type====
UMS - This parameter is used to define that the timetables has to have been generated by UMS will be affected
UMS - This parameter is used to define that the timetables that have been generated by UMS, will be effected.


NonUMS - This parameter is used to define that the timetables has to have not been generated by UMS will be affected
NonUMS - This parameter is used to define that the timetables that have not been generated by UMS, will be effected.


All - This parameter is used to define that timetables both from UMS and non UMS will be affected
All - This parameter is used to define that timetables both from UMS and non UMS, will be effected.<br />
<br />


==External systems==
==External systems==


===[[Timetable/itslearning|itslearning]]===
===[[Timetable/itslearning|itslearning]]===
===[[Timetable/Office365|Office 365]]===
===[[Timetable/GoogleGSuite|Google GSuite]]===


==FAQ==
==FAQ==


====How do I find timetable blocks with skemabrikker.exe ?====
====How do I find timetable blocks with skemabrikker.exe ?====
To '''find''' all timetables generated by UMS for a user or for ie. every student use the following parameters with the skemabrikker.exe command.
Example following the general parameters:
 
    Skemabrikker.exe office365 find <mail> <StartDate> <EndDate> [UMS | NonUMS | All]
Example:
{| class="wikitable"
{| class="wikitable"
|skemabrikker.exe  office365 find tea@umsacademic.onmicrosoft.com 12-05-2019 13-05-2019 All
|skemabrikker.exe  office365 find tea@umsacademic.onmicrosoft.com 12-05-2019 13-05-2019 All
|}
|}
Inspect the skemabrikker.log. The long string value in the logfile refers to the ID in the table '''SkemaBrikkerSavedEntries'''
Inspect the skemabrikker.log. The long string value in the log file refers to the ID in the table '''SkemaBrikkerSavedEntries_Students, SkemaBrikkerSavedEntries_Teachers, SkemaBrikkerSavedEntries_Rooms, SkemaBrikkerSavedEntries_Activities'''.
[[File:Skemabrikkerlog.png|none|thumb|864x864px]]
[[File:Skemabrikkerlog.png|none|thumb|864x864px]]


 
====How do I find timetable blocks with SQL statements?====
By default the '''UMS''' parameter is selected, since there is generally no need to affect and look for items that wasn't generated by UMS.
Instead of the '''<mail>''' parameter you can use '''AllTimeTableEmployees''' and '''AllTimeTableStudents''' to select either employees or students respectively.
 
To '''delete''' all timetables generated by UMS for a user or for ie. every student use the following parameters with the skemabrikker.exe command.
 
    Skemabrikker.exe office365 delete <mail> <StartDate> <EndDate> [UMS | NonUMS | All]
By default the '''UMS''' parameter is selected, since there is generally no need to affect and look for items that wasn't generated by UMS.
Instead of the '''<mail>''' parameter you can use '''AllTimeTableEmployees''' and '''AllTimeTableStudents''' to select either employees or students respectively.
 
It is not recommended to run the '''office365 delete''' parameter with the '''All''' parameter since it will delete everything in the affected users calender's in the given time frame.
 
====How do I find timetable blocks with SQL statements ?====
{| class="wikitable"
{| class="wikitable"
|select SkemaBrikkerNewEntries.*
|Select SkemaBrikkerNewEntries.*


From  SkemaBrikkerNewEntries
From  SkemaBrikkerNewEntries
Line 112: Line 150:


And SkemaBrikkerNewEntries.Activity =  SkemaBrikker_Students.Activity
And SkemaBrikkerNewEntries.Activity =  SkemaBrikker_Students.Activity


Where  
Where  


SkemaBrikker_Students.cpr In (Select Cpr from Students where studienr= '159873')
SkemaBrikker_Students.cpr In (Select Cpr from Students where studienr= 'xxxxxx')


and SkemaBrikkerNewEntries.Dato = '28-11-2018'
and SkemaBrikkerNewEntries.Dato = '28-11-2018'
Line 122: Line 159:
Order By  RealStartDateTime
Order By  RealStartDateTime
|}
|}
====How do I change format and content of timetable blocks in Outlook?====
Open UMS Configurator, select Modules "TimeTable" and select your datasource, then edit Format And Content
Variables can be replaced as pictured below.
[[File:Timetable format and content.png|none|thumb|1152x1152px]]
<br />
<br />
===Run only for one user===
====Students====
Skemabrikker.exe studentsonly <username>
====Teachers====
Skemabrikker.exe teachersonly <username><br />

Latest revision as of 12:41, 7 August 2025

Skemabrikker.exe is a small sync job that needs to run when timetables are created, updated, or deleted.

Example of timetable in UMS and Outlook:


The following systems are supported:

  • Office 365
  • Exchange
  • GSuite

Parameters

Usage

> Skemabrikker.exe [<optional> System] [<optional> Action] [<optional> Mail] [<optional> StartDate] [<optional> EndDate] [<optional> Type [UMS | NonUMS | All]]

Eg.

> Skemabrikker.exe Office365 teachersonly
> Skemabrikker.exe Office365 find tea@umsacademic.onmicrosoft.com 12-05-2019 13-05-2019 All

Applyrights

Only works for Exchange and Office365. Restores rights for a room if they have accidentally been deleted or changed.

Systems

This parameter is used to define what system Skemabrikker.exe will populate the timetables to. We currently support timetable integration to these systems:

Exchange

Office365

GoogleApps

Itslearning

Teachersonly

This parameter is used if the [action] parameter needs to affect only teachers.

Studentsonly

This parameter is used if the [action] parameter needs to affect only students.

Roomsonly

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] 'Room_ID').

Activitiesonly

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] 'Activity_ID').

Coursesonly

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] 'Activity_ID_Course_ID').

Action

find

Used to display the timetables associated with the given [mail] parameter.

delete

Used to delete the timetables associated with the given [mail] parameter.

update

Used to update the timetables that needs to be updated and are associated with the given [mail] parameter.

cleanup

Used to find UMS appointments in users calendars and delete them if they are not found in UMS database.

Mail

mail/UPN

This parameter is used if the [action] parameter needs to affect a specific user.

AllTimeTableStudents

This will delete timetable blocks from all known students

Works with

Office 365

Exchange

AllTimeTableEmployees

This will delete timetable blocks from all known employees

Eg : Skemabrikker.exe Office365 delete AllTimeTableEmployees 01-08-2022 31-09-2022 UMS


If you want to create timetableblocks for a specific teacher, you can use this syntax :

  • Skemabrikker.exe Office365 AllTimeTableEmployees [Username


If you want to create timetableblocks for a specific Student, you can use this syntax :

  • Skemabrikker.exe Office365 AllTimeTableStudents [Username]


Works with

Office 365

Exchange

AllTimeTableRooms

This will delete timetable blocks from all known rooms.

Works with

Office 365

StartDate

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.

EndDate

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.

Type

UMS - This parameter is used to define that the timetables that have been generated by UMS, will be effected.

NonUMS - This parameter is used to define that the timetables that have not been generated by UMS, will be effected.

All - This parameter is used to define that timetables both from UMS and non UMS, will be effected.

External systems

FAQ

How do I find timetable blocks with skemabrikker.exe ?

Example following the general parameters:

skemabrikker.exe office365 find tea@umsacademic.onmicrosoft.com 12-05-2019 13-05-2019 All

Inspect the skemabrikker.log. The long string value in the log file refers to the ID in the table SkemaBrikkerSavedEntries_Students, SkemaBrikkerSavedEntries_Teachers, SkemaBrikkerSavedEntries_Rooms, SkemaBrikkerSavedEntries_Activities.

How do I find timetable blocks with SQL statements?

Select SkemaBrikkerNewEntries.*

From SkemaBrikkerNewEntries

Join SkemaBrikker_Students On SkemaBrikkerNewEntries.SkemaBegivenhed_ID = SkemaBrikker_Students.SkemaBegivenhed_ID And SkemaBrikkerNewEntries.SkemaBrikkerAdminServers_ID = SkemaBrikker_Students.SkemaBrikkerAdminServers_ID

And SkemaBrikkerNewEntries.Activity = SkemaBrikker_Students.Activity

Where

SkemaBrikker_Students.cpr In (Select Cpr from Students where studienr= 'xxxxxx')

and SkemaBrikkerNewEntries.Dato = '28-11-2018'

Order By RealStartDateTime

How do I change format and content of timetable blocks in Outlook?

Open UMS Configurator, select Modules "TimeTable" and select your datasource, then edit Format And Content

Variables can be replaced as pictured below.


Run only for one user

Students

Skemabrikker.exe studentsonly <username>

Teachers

Skemabrikker.exe teachersonly <username>