Schedule/Timetable Widgets (Zermelo & Untis)

In GoBright View it's possible to retrieve information from various scheduling/timetable tools like Zermelo and Untis. These changes are displayed and can be filtered according to your needs. There are a few requirements that need to be set up.

 

Zermelo Configuration

Requirements

  • The name of the organization within Zermelo
  • A Zermelo admin account
  • An API token
  • One or more codes of the location(s)
  • The Zermelo Widget

Create the API token

Please refer to this article (in Dutch) from Zermelo Support: https://support.zermelo.nl/guides/applicatiebeheerder/koppelingen/overige-koppelingen/toegang-voor-overige-externe-partijen#toegang-voor-overige-externe-partijen_stap-3-aanmaken-van-een-api-token

Summary of the Zermelo article

The first thing we require is the name of the organization within Zermelo. This is the same name within the URL you use to login to Zermelo:

https://[Schoolname].zportal.nl

Login to Zermelo with an admin account and note down the Schoolname within the URL, we'll be needing that later. Follow these steps within Zermelo to create a new API token:

  • Create a new user 'GoBrightView' within Zermelo
  • Create a role for this user, this role needs to have read permissions on all schedules that are displayed within GoBright View
  • Assign this role to the GoBrightView user
  • Create a API token
    • Go to Beheer > Admin-paneel > API Tokens
    • Create a new API token by pressing Toevoegen
    • Assign the token to the created user

Note down the API token.

Get the code from the location(s)

The Zermelo widget will only show information from one specific location. It's possible to add multiple widgets with different locations, but for each location, a code is required. This code can be found underneath locations within Zermelo or by following the steps below:

  • https://[Schoolname].zportal.nl/static/swagger/ 
  • Copy the created API token to the access_token field on the top right
  • Press the reload button
  • Scroll down to branches select it and press the try it out button
    mceclip0.png
  • When done correctly there should be a list with all the names of locations and their codes displayed below:
{ "response": { "status": 200, "message": "", "details": "", "eventId": 0, "startRow": 0, "endRow": 4, "totalRows": 4, "data": [ { "code": "a", "name": "Apeldoorn", "somCode": "01rl00" }, { "code": "u", "name": "Uddel", "somCode": "01rl02" },

Note down the fields next to code this is the information we'll need within the widget.

 

Untis configuration

Requirements

  • The export from Zermelo (a GPU014.txt file)
  • A OneDrive or FTP location to publish the GPU014.txt file (this location must be accessible by the GoBright Portal and View device(s)
  • The Untis Widget

OneDrive

To set up OneDrive and the Graph API, please follow the steps in this article.

 

GoBright View Configuration

Zermelo

  1. Place the Widget in a template or slide.
  2. Fill in the API Token, Schoolname, and location code in the Zermelo widget. This should display all the changes based on the current location.
  3. Define the timetable / lesson times
  4. Set the filter parameters to your need (optional)

mceclip0.png

Untis

  1. Place the Widget in a template or slide
  2. Choose the source (OneDrive or URL)
    1. OneDrive:
      Fill in the Client ID, Client Secret, Tenant ID, User Email, Folder Name (file location) and File Name
    2. URL
      Fill in the entire URL to the GPU014.txt file
  3. Define the timetable / lesson times (see below)
  4. Set the filter parameters to your need (optional) (see below)

mceclip1.png

 

Timetable

To show only the current changes we'll need to add in the times that the lessons take place. The time here represents the end time of the lessons. These times are mandatory for the widget to function correctly.

mceclip3.png 

Filter options

There are three fields that allow filtering options class, rooms, and teachers. Filters can be used to include and/or exclude. To use these, an item can be entered to filter on that specific item. For example, if V5E is entered within the class_include field it will only show schedule informatio for class V5E. It is possible to use multiple items (seperated by a pipe) or to use more advanced filtering options. This is done using regex. 

mceclip2.png


Some examples:

Filter Used in Explanation
a4b1|a4b2|a4b3 classes_include  Shows only classes ‘a4b1’, ‘a4b2’ or ‘a4b3’
aula locations_exclude Hides aula
pp|tvdg teachers_exclude Hides pp and tvdg
INV subject_exclude Hides all subjects containing 'INV'

In most cases these examples will suffice. 

 

More advanced filtering

When more advanced filtering is needed it is good to know that all this is based on regular expressions (regex). Please be careful as it is easy to hide all results. Then the widget will show a "there are no changes" message. 

Try to keep filters as simple as possible. Do not use an exclusion regex within a include field or vice versa to prevent 'double negatives'.

Regex

^ = Starts with characters after this sign
$ = Ends with characters before this sign
| = Separation character between each item
(?!) = Everything which is not equal to these characters

 

^r2 Filter on rooms that starts with ‘r2’ (this is case sensitive)
^r2|^r3 Filter on rooms that starts with ‘r2’ or ‘r3’
4A$ Filter on classes that ends with ‘4A’
(?!a4b1) Filter on everything except class 'a4b1'
(?!a4b1)|(?!a4b2)|(?!a4b3) Filter on everything except classes ‘a4b1’, ‘a4b2’ or ‘a4b3’
^(?!a4b) Filter on everything except classes that starts with ‘a4b


Other options

There are a couple of other options that are used to:

  • sort the information by specific types or dates
  • change the order of the columns
  • show or hide previous schedule data (for example: classroom1 > classroom2)
  • show data from the current day and/or the next day
  • apply styling
0 out of 0 found this helpful