Skip to main content

Whether you are managing project planning, production scheduling, or resource allocation, the Scheduler component offers a clear and visual way to display Activities and Resources along a timeline.

With the transition from the Windows/Web GUI to the Universal UI, the extender-based Resource Scheduler required modernization. Since extenders are no longer supported in the Universal UI, we have integrated the Resource Scheduler’s functionality directly into the Thinkwise Platform, resulting in a more robust and maintainable solution.

This blog will guide you through the key differences between the legacy Resource Scheduler and the formalized Scheduler, and provide practical steps to ensure a smooth transition.

Scheduler setup

This blog focuses on the transition from the Resource Scheduler to the formalized Scheduler. For detailed information on setting up a Scheduler, please refer to the two blogs below, which go deeper into data modelling and interactivity.

 

Data model

The most significant change in the new Scheduler is the data model. The Resource Scheduler used multiple Subjects: a Resource Subject, an Activity Subject, and an optional Worktime Subject. The formalized Scheduler, however, uses a single Subject. If you are migrating from the Extender, you will need to combine these Subjects into one.

Note that each Resource can now produce multiple rows depending on the number of associated Activities. Ensure that parameters such as Resource name and color remain consistent across Activity records. The data returned by this new Scheduler view might look like:

In this example, columns marked in blue belong to the Resource, and those marked in red belong to the Activity. As you can see, the columns associated with the Resource will have the same Resource data for every associated Activity, this is necessary for the Universal UI to properly generate the Resource Groupings / Columns.

 

Resource Columns

In the Resource Scheduler, any columns included in the Resource View that were not hidden would be displayed in the Scheduler as read-only columns next to the Resource. In version 2025.3 of the Thinkwise Platform, Resource Columns have been added to the formalized Scheduler. To implement this you need to add these columns to your Scheduler view.

In the Scheduler setup screen, go to Resource Columns, and enable the columns you want to display. You can also edit the width of a resource column. It is no longer necessary to do this in the Grid component of the Subject.

Pagination

Universal UI uses pagination to load data only when it is needed. When setting up a Scheduler, you should disable pagination to make sure that all data is loaded into the component.

To do this, go to your subject and set the ‘Max no. of records’ and ‘Page size’ fields to 0.

 

Performance considerations

The component used to implement the Scheduler in the Universal UI can become slow when displaying a large number of Activities and Resources (1,000+) simultaneously. This is due to the component not supporting virtualized rendering. This is expected to be implemented by the supplier, at the moment we don’t have an exact timeframe for when this will be done.

For the time being we recommend limiting the amount of data loaded at one time by using (Pre)Filters to minimize the dataset.

 

Interactivity

The next step is to migrate all interactivity options from the Resource Scheduler, such as dragging and dropping Activities, creating new ones by clicking on an empty time cell, and applying Conditional Formatting.

For a guide on how to set this up, I again suggest reading the two previous Scheduler blogs, they explain how to implement all of these features.

 

In this chapter we will dive deeper into some of the more specific features and settings that the Resource Scheduler supported. Not all features of the Resource Scheduler have been implemented the same way, but most can be emulated.

 

Go to date

In the Resource Scheduler the user had the ability to change the date by using a date picker dropdown. In the formalized Scheduler this dropdown is not available, instead you can emulate this by using tasks. This allows the user to go a specific date, or you can set up multiple tasks that jump to specific points in time that are relevant to the user, for example: go to next week or go to the next day with unplanned activities.

Specific date

To allow users to go to a specific date, create a task that lets them select a date. Then, build a process flow that starts with this task, stores the selected date in a variable, and add an Activate Scheduler action using this variable as an input parameter. This setup enables users to navigate directly to a chosen date.

Previous / Next week

If you have a Scheduler where you always want to look ahead a set amount of time, such as next week, this is also possible. This task is created the same way as the previous example, but instead of allowing the user to select a date, we set the date variable to next week, and hide the task parameter. We then give it a default query value that adds a week to the current date.

 

Expand / Collapse all

A useful but somewhat hidden feature of the Resource Scheduler was the ability to expand and collapse all Resources. In the Universal UI, these options have been integrated into the Action Bar with version 2025.2 of the Thinkwise Platform.

 

Activity colors

The formalized Scheduler does not directly support assigning colors through a column value. Instead, Activities can be colored using conditional formatting.

Applications sometimes used this feature to allow users to customize the color of an Activity. If you want to recreate this functionality you can setup a domain with all possible color values to be selected by the user and then create conditional formatting for every option.

Zoom level

The zoom level slider is no longer supported in the formalized Scheduler. Instead, we recommend creating multiple Scheduler views to emulate this functionality. This approach has the advantage of saving views that can be easily recalled by any user. With the zoom slider it was only possible to set the initial zoom level.

 

Percentage

Activities will no longer support the display of a percentage line at the bottom of the activity. Instead we recommend including a percentage in the activity title or to use conditional formatting to inform the user.

 

Hidden days

The Resource Scheduler allowed for the option to hide specific days in a Scheduler. This will be implemented in the future(expected to be in the 2026.1 release) in the Formalized Scheduler. You will have the option to set this per Scheduler view, allowing for more flexibility than ever before.

 

Working hours

The Resource Scheduler also had the ability to hide specific hours, which was useful, for example, to only display working hours and hide unnecessary time cells. In the future(expected to be in the 2026.1 release) we will implement the ability to set a min- and max hour range per Scheduler View. This allows you for example to only display working hours from 06:00 till 18:00.

It will not have the ability to hide specific hours – such as a lunch break in the middle of the day. If you do want to show this, we recommend either using conditional formatting of the time cell or creating a ‘lunch’ Activity for all Resources.

 

Active header color

The active header color can be recreated by using the following piece of custom CSS:

.fc-slot-today .fc-timeline-slot-frame {
background-color: #69b2f1;
}

 

Weekend color

If you want to color weekend days with a different time cell background color this can be achieved using the following piece of custom CSS:

td.fc-timeline-slot.fc-timeline-slot-lane.fc-day.fc-day-sat {
background-color: #e3dfdf;
}

td.fc-timeline-slot.fc-timeline-slot-lane.fc-day.fc-day-sun {
background-color: #fbfbfb;
}

td .fc-timeline-slot .fc-timeline-slot-lane .fc-timeline-slot-major .fc-slot .fc-slot-sat {
background-color: #fbfbfb;
}

td .fc-timeline-slot .fc-timeline-slot-lane .fc-timeline-slot-major .fc-slot .fc-slot-sun {
background-color: #fbfbfb;
}

td.fc-timeline-slot.fc-timeline-slot-lane.fc-timeline-slot-major.fc-slot.fc-slot-sun.fc-slot-past {
background-color: #fbfbfb;
}

td.fc-timeline-slot.fc-timeline-slot-lane.fc-timeline-slot-major.fc-slot.fc-slot-sat.fc-slot-past {
background-color: #fbfbfb;
}

td.fc-timeline-slot.fc-timeline-slot-lane.fc-timeline-slot-major.fc-slot.fc-slot-sun.fc-slot-future {
background-color: #fbfbfb;
}

td.fc-timeline-slot.fc-timeline-slot-lane.fc-timeline-slot-major.fc-slot.fc-slot-sat.fc-slot-future {
background-color: #fbfbfb;
}

.fc-timeline-slot .fc-timeline-slot-lane .fc-timeline-slot-major .fc-slot .fc-slot-sat {
background-color: #fbfbfb;
}

.fc-timeline-slot .fc-timeline-slot-lane .fc-timeline-slot-major .fc-slot .fc-slot-sun {
background-color: #fbfbfb;
}

 

Future plans

Further development of the Scheduler will be driven by customer needs. If there are specific functionalities you require to transition to the formalized Scheduler, please contact us.

Thanks for your blog about the Scheduler ​@Remco Kort This is very helpful if you migrate from an older GUI to Universal GUI.

 

I have an addition to the settings of the view.

To prevent pagination we applied 0 to both Max. no, of records and Page size in Subjects - Settings. Adding prefilters to limit the amount of data is then indeed recommended.

 


@Remco Kort Is it no longer possible to make the color of working hours dependent on the schedule of resources (workstations or employees)?


@John Lunenburg Good suggestion to prevent pagination!

@Andre te Raa I think you could probably use time cell conditional formatting for this. You could add two columns for the start and end hour of each employee/ resource and then get a condition that looks something like this:

 


@Remco Kort  I'm not sure. Based on shifts the working hours can differ each day. In the extender we use the Worktime settings for start date and end date for this.  


@Andre te Raa We solved the missing Working hours functionality in the the way Remco describes in his blog by adding extra Activities for the time an employee is off.

In that way you have the flexibility for different shifts. See the grey Activity-bars.

 


@Remco Kort  If we have to use one table, wouldn't it be possible to have worktime as a different row type in the same table to color the background? ​@John Lunenburg it will not result in more data, but it would prevent stacked activities.