Skip to main content

Prerequisites

  • A Polarion project created from the Nextedy Gantt Calendars template (or manually configured with the required work item types)
  • Access to Administration > Configuration Properties on both the calendar project and consuming projects

Step 1: Create the Calendar Project

  1. Download the Gantt package from nextedy.com/product/nextedy-gantt/#download
  2. Locate nextedy_gantt.zip/com.nextedy.polarion.gantt/template/WorkItemsCalendarTemplate.zip
  3. Upload it as a Project Template via the Project Templates global administration page
  4. Create a new project based on the Nextedy Gantt Calendars template
The template pre-configures four work item types:
Work Item TypeIDPurpose
CalendarcalendarDefines regular weekly working hours (global or per-user)
Time OfftimeoffMarks non-working periods (holidays, vacations)
Time OntimeonOverrides Time Off for specific users who must work
TweakscheduletweakAdjusts working hours for a date range without changing working/off status

Step 2: Enable Work Item Calendar Properties

Add the following properties under Administration > Configuration Properties in your calendar project:
nextedy.gantt.workitemCalendar.projectId=<PROJECTID>
nextedy.gantt.workitemCalendar.globalID=<WORKITEMID>
Replace <PROJECTID> with the project ID of your calendar project and <WORKITEMID> with the ID of a Calendar-type work item to use as the global calendar.
You must set these properties on both the calendar project and any projects that consume it. If the consuming project does not have these properties, calendar data will not load.

Step 3: Create a Global (Company) Calendar

  1. In your calendar project, create a new work item of type Calendar
  2. Set the weekday fields using the format HH:mm,HH:mm (for example, 09:00,17:00 for an 8-hour workday)
  3. Set Saturday and Sunday to - (explicitly non-working)
  4. Leave the Assignee field empty for a global calendar
  5. Set the From and To date fields to define the calendar’s validity period
Use HH:mm,HH:mm for working hours, - for explicitly non-working days, or leave empty to inherit from a parent calendar.

Step 4: Create User-Specific Calendars

  1. Create a new Calendar work item for each user
  2. Link it to the global calendar using the inherits from link role so it inherits the base schedule
  3. Set the Assignee field to the target Polarion user
  4. Override only the weekday fields that differ from the global calendar (leave others empty to inherit)
User calendars must have the Assignee field set. Without it, the Gantt cannot match the calendar to the correct resource.

Step 5: Add Exceptions

Link exception work items to the appropriate calendar using the affects link role:
  • Time Off: Create for vacations or holidays. Link to the global calendar for company-wide holidays, or to a user calendar for individual time off.
  • Time On: Override a Time Off period for a specific user who must work during a global holiday.
  • Tweak: Adjust hours for a date range. Set both workstart and workend fields to define the modified work window.
diagram

Step 6: Enable in the Gantt Widget

Open the Gantt widget parameters and navigate to the Working Calendars section:
  1. Set Use Working Calendar to Yes
  2. Set Load User Calendars to Yes
  3. Optionally enable Load Team Assignments for team-scoped capacity
The Working Calendars settings are interdependent. Load User Calendars only appears after enabling Use Working Calendar, and Load Team Assignments only appears after enabling both.

Verify

You should now see grey markers in the resource view for days where users are unavailable. If a user has a Tweak reducing their capacity, the resource view shows the reduced hours and highlights overload with a red indicator.

See Also

KB ArticlesSupport TicketsSource Code
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/projectCalendar/polarion-config/form layouts/tweak.xml
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/projectCalendar/WorkingCalendar.java
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/model/impl/CalendarBuilder.java
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/projectCalendar/polarion-config/enums/workitem-type-enum.xml
  • prod-gantt-src/com.nextedy.polarion.gantt/src/com/nextedy/polarion/gantt/projectCalendar/polarion-config/form layouts/calendar.xml