Web Timetable

From UmsWiki
Jump to: navigation, search

Always have an updated timetable for users and rooms. Web Timetable is an add-on module for UMS, which gives you timetables for students, teachers, rooms and classes in a simple web interface. Timetable changes are extracted from UMS, which means that the timetables are always up to date.

Timetables, however, is not the only thing this module gives you; through the module, you will get access to other options, giving you even more benefit from UMS: • Users can choose if they prefer to see their timetable for 1 day at a time, pr. school week (5 days), pr. week or pr. month. • Teachers can write notes and homework (add-on) for each class, making it easy for students to see what they need to prepare for next class and for instance if there is something they need to bring. It is possible to show homework registered in other systems too. • Teachers can send our SMS texts to students e.g. in case there are important information they need to get (requires the module SMS Send). • Teachers can print class lists and timetables to students. This is particularly helpful for students in short courses or course participants (requires the module Merge Letters) • Teachers can block students’ internet access, e.g. during a quiz (requires the module Internet Block)

Prerequisites

Supported administrative systems

Easy

SIS

Ludus

Lectio

KMD Elev

WebUntis

Module requirements

UMS

UMS Academic Web

Testing after setup

Employee are able to search different type of students and groups

Installation

Settings for Web Timetable is found under Modules\Timetable

Webtimetable connectionsettings.png
  • Connection settings
    • Settings regarding Exchange Timetable (not used in Web timetable)
  • Data sources
    • Setup of the source of the timetable-data (Student admin-system)
  • Format and content
    • Definition of the look of the timetable blocks
  • Exchange settings
    • Not used in Web timetable

Data sources

Open Modules\Timetable\Data sources and add a datasource.

Webtimetable editdatasources.png

Start by selecting the correct data source. Please note that some settings differ between different admin systems, but the basics are the same.

The amount of timetable blocks, can be set for each type of timetable-object:

Webtimetable daysback.png

In the above settings, the Web timetable will able to timeblocks 25 days back and 360 days ahead from today. Also its possible to choose whether homework is exported as well.

Please note that the above settings will have an effect on runtime and the amount of data in the UMS SQL database.

Web timetable will support multiple data sources if needed.

Format and content

Open Modules\Timetable\Format and content and add a setting.

Webtimetable format.png

The first setting is “General settings”:

Webtimetable generalsettings.png

Choose Category color, language. The “Change indication“ is a setting that will show an indication on the timeblock if the block has been changed within the number of days indicated.

For each type of appointment, its possible to customize the content of the timeblock.

Webtimetable format2.png

To help meet the requirements for the timeblocks look in UMS Web timetable, its possible to choose from the different fields that UMS extracts from the admin system:

Webtimetable variables.png

Sometimes a compromise is needed, since not all blocks in the admin system contains the same amount of information.

Please note that the blocks will not change how they look until a new timetable job has been run (getskemabrikker.exe).

Export Settings

Prefix activities

Prefix activities that are extracted with a text string. This is normally needed when extracting from multiple sources.

Prefix rooms

Prefix rooms that are extracted with a text string. This is normally needed when extracting from multiple sources.

Teachers
Days back

Specify the amount of days into the past.

Days ahead

Specify the amount of days into the future.

Enable

Extract teacher information. Remove check to disable.

Students
Days back

Specify the amount of days into the past.

Days ahead

Specify the amount of days into the future.

Enable

Extract studentinformation. Remove check to disable.

Rooms
Days back

Specify the amount of days into the past.

Days ahead

Specify the amount of days into the future.

Enable

Extract room information. Remove check to disable.

Import homework

Extract homework from theinformation

Web timetable display options

These settings controls how the Web timetable is displayed to the enduser. These settings are all cosmetic.

Webtimetable displayoptions.png

Technical settings

EASY-C

Forbindelse til EASY-C

Timetableeasyc.png

Server, SID Port number og Easy-C/SIS UFM skal stå som på skærmbilledet

Username og Password er for at logge ind i EASY-C brugernavnet bestemmer hvilken kunde man forbinder til.

Institution number: Her indtastes det UNI-C institutions nummer, som de skemabrikker man trækker tilhører. Dette kan kun ses hvis man har fravær

Write back webservice pincode: Her indtastes den 4 cifrede kode som man har fået fra UNI-C

Ignore execptions: Hvis dette aktiveres bliver der ikke taget højde for fritagelserne i EASY-C

Export settings

Import Homework: For at dette virker skal man have elevplan til at åbne for at UMS må trække fra elevplan

Content and format

It is possible to writeback absence to admin system, this requires access to STIL webservice:

Webtimetable stilwebservice.png

Lectio

Forbindelse til Lectio

Timetablelectio.png

Det SKAL en datasource til for hver afdeling man har i Lectio. Der SKAL laves en bruger til hver afdeling.

Institutionsnummer: Er det nummer der er tildelt fra Lectio’s side.

Brugernavn og kodeord er for at logge ind i lectio. Denne bruger skal som minimum have Stamdata rettigheden i Lectio.

Prefix activities: Er en tekststreng der bliver sat foran de hold/aktiviteter som de studerende er på. Dette er/kan være nødvendigt hvis man f.eks. trækker fra flere Lectio ned i samme UMS database.

Teachers

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for ansatte

Students

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for studerende

Rooms

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for rum

Content and format: Her bestemmes hvordan skemabrikker for denne eksport skal se ud i UMS

Time interval

Timetablelectiotimeinterval.png

Her bestemmes i hvilket tids interval UMS må hente skemabrikker fra denne institution. Hvis programmet startes uden for dette tidsrum vil der ikke blive hentet skemabrikker, den vil genbruge de gamle.

Departments

Dette skal kun bruges hvis man har flere afdelinger

Timetablelectiodepartments.png

Her bestemmes hvilken afdeling der skal importeres. Der skal indtastes for ansatte og studerende.

LUDUS

Forbindelse til LUDUS

Timetableludus.png

Server: DNS eller IP til Sybase server

Database: Navnet på Ludus databasen. Som regel VUC

Brugernavn og kodeord til at lave ODBC opslag i Sybase

Use new export: Sætter datatrækkene til at bruge de nye exporter. Dette er et krav på nye installationer.

Prefix activities: Er en tekststreng der bliver sat foran de hold/aktiviteter som de studerende er på. Dette er/kan være nødvendigt hvis man f.eks. trækker fra flere LUDUS ned i samme UMS database.

Activity = HoldID + Holdstart: Hold vil blive få holdstart sat ind som en del af holdnavnet. Dette er et krav hvis man genbruger sine hold i LUDUS. Ellers kan man få hold der er sammensat af det nye og det tidligere hold.

Teachers

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for ansatte

Students

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for studerende

Rooms

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for rum

Content and format: Her bestemmes hvordan skemabrikker for denne eksport skal se ud i UMS

SIS

Forbindelse til SIS

Timetablesis.png

Server: DNS eller IP til Oracle server

SID: Navnet på SIS databasen

Username og Password er for at logge ind i SIS brugernavnet bestemmer hvilken kunde man forbinder til.

UFM: Fortæller UMS om data ligger ved UFM

Ignore execptions: Hvis dette aktiveres bliver der ikke taget højde for fritagelserne i SIS

Prefix activities: Er en tekststreng der bliver sat foran de hold/aktiviteter som de studerende er på. Dette er/kan være nødvendigt hvis man f.eks. trækker fra flere SIS ned i samme UMS database.

Teachers

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for ansatte

Students

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for studerende

Rooms

Days back: Hvor langt tilbage skal den kigge for at trække skemabrikker

Days ahead: Hvor langt frem i tiden skal der trækkes skemabrikker

Enable: Skal der overhovedet trækkes skemabrikker for rum

Content and format: Her bestemmes hvordan skemabrikker for denne eksport skal se ud i UMS

TimeEdit

Connection to TimeEdit

Timetabletimedit.png

URL (Endpoint): URL to connect to

Certificate path (XML file): The xml file containing the certificate information needed to connect

Username and Password: Extra connection information needed to call web services

Prefix activities: A string that is prefixed to the activities when importing them. This is useful when importing multiple installations into one UMS installation.

Teachers

Days back: How long back will it look when extracting timetable blocks.

Days ahead: How long into the future will it look when extracting timetable blocks.

Enable: Remove check to not extract timetable blocks for teachers.

Students

Days back: How long back will it look when extracting timetable blocks.

Days ahead: How long into the future will it look when extracting timetable blocks.

Enable: Remove check to not extract timetable blocks for students.

Rooms

Days back: How long back will it look when extracting timetable blocks.

Days ahead: How long into the future will it look when extracting timetable blocks.

Enable: Remove check to not extract timetable blocks for rooms.

Content and format: Choose how the timetable blocks will look in UMS

Requirements for the import to work

  1. UMS will import these objects with the fields below. All must be present
    1. Studentclass
      1. Imported fields
        1. general.title
        2. general.id
        3. studentclass.code
        4. studentclass.name
        5. studentclass.shortname
        6. studentclass.longdescript
    2. Activity
      1. Imported fields
      2. general.title
      3. general.id
      4. activity.name
    3. Course
      1. Imported fields
        1. general.title
        2. general.id
        3. course.code
        4. course.name
        5. course.shortname
    4. Location
      1. Imported fields
        1. general.title
        2. general.id
    5. Teacher
      1. Extid = teacher.<SLI_ID>
      2. Imported fields
        1. person.name
        2. person.first_name
        3. person.last_name
        4. general.id
        5. person.init
    6. Student
      1. Extid = student.<SLI_ID>
      2. Imported fields
        1. person.name
        2. person.first_name
        3. person.last_name
        4. general.id

Example of how a reservation looks with the required naming of objects and object types

<reservation>
    <id>14949</id>
    <status/>
    <begin>20160119T123000</begin>
    <end>20160119T154500</end>
    <modified>20151113T113847</modified>
    <objects>
        <object>
        <extid>room.ME1.0.50</extid>
        <type>location</type>
        <fields>
            <field>
                <extid>general.title</extid>
                <value>CME1.0.50</value>
            </field>
        </fields>
        </object>

<object>

        <extid>_te_10979</extid>
        <type>course</type>
        <fields>
            <field>
                <extid>general.title</extid>
                <value>Oplæg 5. modul</value>
            </field>
        </fields>
        </object>

<object>

        <extid>teacher.15222</extid>
        <type>teacher</type>
        <fields>
            <field>
                <extid>person.name</extid>
                <value>Eva Andersen</value>
            </field>
        </fields>
        </object>

<object>

        <extid>studentclass.PV15S</extid>
        <type>studentclass</type>
        <fields>
            <field>
                <extid>general.title</extid>
                <value>PV15S</value>
            </field>
        </fields>
        </object>

<object>

        <extid>studentclass.PV15T</extid>
        <type>studentclass</type>
        <fields>
            <field>
                <extid>general.title</extid>
                <value>PV15T</value>
            </field>
        </fields>
        </object>

<object>

        <extid>_te_10294</extid>
        <type>Activity</type>
        <fields>
            <field>
               <extid>general.title</extid>
               <value>Kompetanceudvikling</value>
            </field>
        </fields>
</object>
</objects>
</reservation>

Connection settings

Timetableconnectionsettings.png

This defines how many connections (threads) UMS will use at the same time when maintaining timetable blocks.

The number of connections (threads) is = number of users * connections per user

Google organizations button: Possible to specify more users to overcome the request limitation. 

Exchange settings

In Exchange the EWS services are used for this. UMS can only create timetable blocks in Exchange 2007 or higher.

You will need to setup Impersonation. You will need to connect to Exchange with PowerShell.

Exchange 2007, Exchange 2010:

Get-ExchangeServer | where {$_.IsClientAccessServer -eq $TRUE} | ForEach-Object {Add-ADPermission -Identity $_.distinguishedname -User (Get-User -Identity <UserName> | select-object).identity -extendedRight ms-Exch-EPI-Impersonation}

Exchange 2013:

New-ManagementRoleAssignment -Name:'<Name for Assignment>' -Role:ApplicationImpersonation -User:'<UserName>'

Default EWS connections for Exchange versions are:

Exchange 2007, Exchange 2010 = 10

Exchange 2013 = 27

The connection settings for Exchange can be found here Modules -> Timetable -> Exchange settings

Timetableexhangesettings.png

 

Room resource for on premise Exchange

UMS can create room resources based on the timetable blocks so user can see them in outlook

Timetableexchangesettings2.png

Create: Enable or disable this feature

Delete old appointments: Should UMS delete timetable blocks when they get too old (Defined by the days back from the datasource)

Version: Specify the Exchange version where the rooms are created.

AD Path: Where will the rooms be created in Active Directory

Domain: Specify FQDN of the domain

Domain Controller: Which domain controller will be used

HomeMDB: Which Exchange data store will be used when creating the rooms

Room display name: Control the display name of the rooms when they are created.

Prefix: A static text inserted before the generator

Generator: Control the display name of the room

Postfix: A static text appended after the generator

Set rights to rooms

Define the rights that are set on the rooms when they are created

Timetableeditrightstoresources.png

This is normally be filled with a groups mail address. When the room is created it will set the rights on the room based on this

If you change this you can run Skemabrikker.exe with the parameter ”applyrights” to get the program to reapply all room rights.

Define rooms to be created

It is possible to specify which rooms are created.

Timetablecriteria.png

In the above example only rooms that starts with 1 in room number or starts with meeting in room name.

If nothing is defined every room will be created.

Impersonation commands

This will show you the command to run against Exchange or Office 365 to get impersonation rights on user calendars.

You can copy and paste from this form.  

Office 365:

In Office 365 the EWS services are used for this. Default EWS connections for Office 365 is 27.

You will need to setup Impersonation.

You will need to connect to Office 365 with PowerShell and run this command. Remember to replace <Name for Assignment> with a name you choose i.e. UMS_Timetable and <UserName> with the username you use to connect to Office 365.

New-ManagementRoleAssignment -Name:'<Name for Assignment>' -Role:ApplicationImpersonation -User:'<UserName>'

The connection settings for Office 365 can be found here Modules -> Office 365 -> User settings

Timetableoffice365.png

When creating timetable blocks UMS will use the connection setting that matches the users UPN.  

Room resource for Office 365

UMS can create room resources based on the timetable blocks so user can see them in outlook

This is specified in the Office 365 setting. Modules -> Office 365 -> Users settings

Timetableoffice365setup.png

Maintain: Enable or disable this feature timetable blocks for users created with this setting

Delete old appointments: Should UMS delete timetable blocks when they get too old (Defined by the days back from the datasource)

Room setting

Manage: Create/update or change a room setting

Timetableroomssettings.png

Choose an option

Timetableroomnumbergenerator.png

Room display name: Control the display name of the rooms when they are created.

Prefix: A static text inserted before the generator

Generator: Control the display name of the room

Postfix: A static text appended after the generator

Set rights to rooms

Define the rights that are set on the rooms when they are created

Timetableeditrightstoresources.png

This is normally be filled with a groups mail address. When the room is created it will set the rights on the room based on this

If you change this you can run Skemabrikker.exe with the parameter ”applyrights” to get the program to reapply all room rights.

Define rooms to be created

It is possible to specify which rooms are created.

Timetablecriteria.png

In the above example only rooms that starts with 1 in room number or starts with meeting in room name.

If nothing is defined every room will be created.  

Google:

The Calendar API is used for this.

The Google organizations button allows you to setup more than one account to use.

Timetableuser.png

It can take up to a day when creating new users in Google for the rights to propagate. If will give you an error if this has not happened yet.

When creating a user for Google refer to this PDF

http://www.inlogic.dk/en/wp-content/uploads/GoogleAppsSync.pdf

Increasing the number of users

If you increase the number of users, regardless of the system, UMS will try to connect with a user with the same login appended with a number. (This can’t be changed)

I.e. if you set the number of connections to 2 UMS will try to connect with [[1]] and [[2]]. This means that these users will have to be created and setup in the same way as you would with just one user.

Format and content of appointments

With this you can define how the appoints from a specific data source looks.

Timetableformatandcontentofappointments.png

Set Category: This will created the blocks in Exchange And Office 365 with a category named “Timetable – UMS”.

Displayed color: Set the color of the block when it is displayed in UMS or maintained in a system

Language: Set the language. This is only the body of the block that is affected.

Change indication: If a block has changed within 3 days of the start date it will show this in UMS web timetable with a yellow ! after the subject.

Subject, location and teacher/organizer be set to a specific configuration based on the objects type.

Timetableobjecttype.png

Employee appointments

Subject: This is where the subject of the block is defined.

Location: This is where the location of the block is defined.

Organizer: This only controls what is shown in UMS web timetable. (Look at red arrow)

Student appointments

Subject: This is where the subject of the block is defined.

Location: This is where the location of the block is defined.

Teacher: This only controls what is shown in UMS web timetable. (Look at red arrow)

Room appointments

Subject: This is where the subject of the block is defined.

Location: This is where the location of the block is defined.

Teacher/Organizer: This only controls what is shown in UMS web timetable. (Look at red arrow)

Activity appointments

Subject: This is where the subject of the block is defined.

Location: This is where the location of the block is defined.

Teacher/Organizer: This only controls what is shown in UMS web timetable. (Look at red arrow)

You can use any combination or all of the variables in this screenshot.

Timetablevariables.png

You can for example enter in the subject field

<Activity>

This will replace <Activity> with the activities that is on the specific timetable block and put it into the subject field.

Include in appointment body

This controls what information is included in the body of an appointment, when it is shown on web or created/updated in any system.

FAQ

Conflicts between AD password policy and Exchange passwords for room resources

Room ressource are created in Exchange with a fixed 16 char password. If the password is in conflict with AD password policy you need to update the AD password policy.

Active Directory operation failed when creating room resources

Inspect Skemabrikker.log. If a domaincontroller returns "Unable to update the password" it indicates problems with the Password_agent, the DC can't connect to the SQL server. Take a copy of the usermanagement.ini on the UMS backend and replace the file on the DC