[Scheduling Gantt Chart Widget] Object preparation

Hello everyone,

we are trying to set up a Scheduling Gantt Chart Widget in Workshop.

As we haven’t found a way of working we would need some support for understanding how to set up the objects we would need to display.

As for my understanding I’d need at least 3 Object Types.

Example

\\\

Object A[Cars]

Object B[Mechanics]

Object C[assig_mechanic_to_car]


Object A properties:
Car(String)

Customer(String)

Car_id([Car_Customer] uid)

Object B properties:

Mechanic(string)

Shift(string)

Mechanic_id([Mechanic_Shift] uid)

Object C properties

Mechanic_id(linked to object B foreign key(Mechanic_ID)

Car_id(linked to object A foreign key(Car_id)

Start[Timestamp]

End[Timestamp]

Object C Action Types
Modify and Create assignment

My Fixed Resource Object Set ist the Object A.
In Schedule Layer i choose my Schedule Object Object B

The Save Handler Action would bit create and modify Object C Action type.

Would that be correct?

The Plan is to get a simple schedule to tell an mechanic which car he has to rework and each shift.

Note: This is not the real use case, just simplified.

Good start!

The typical dynamic scheduling pattern uses two main object types: a Resource object (your mechanics) and a Schedule object (the work assignments).

Let Object A = Cars, Object B = Mechanics, Object C = Mechanic’s Assignment to Cars.

Intuitively, I think you’d want to answer the question: given my mechanics, which cars are then working on and when?

  • Object B hence becomes your rows/resource object.
  • Object C hence becomes your pucks/schedule object.
  • Object A now is a detail on object C that provides detail into what’s going on.

Your Object C thus needs to get displayed as pucks on the Gantt chart. This object would contain the mechanic assignment, car assignment, start time, and end time all in one place.

So, keep Object A (Cars) and Object B (Mechanics) as your resource types, but make Object C your primary schedule object that represents “mechanic assignments to cars.”

Object C should have foreign keys linking to both the mechanic and the car, plus your start/end timestamps. In the Gantt chart configuration, you’d set Object B (Mechanics) as your Resource Object Set (the rows), and Object C as your Schedule Object Set (the pucks). The Save Handler Action would be a modify action on Object C to update the start time, end time, and mechanic assignment. It would show up against Object B, the mechanics, in rows.

Object A (Cars) doesn’t directly appear as rows or pucks on the Gantt chart itself. Instead, Object A provides the contextual information that gets displayed within the pucks through the foreign key relationship in Object C. When you hover over a puck or view its details, you’ll see information about which car is being worked on, the customer details, and other car-specific properties should you choose to add thsoe. Think of Object A as the “what” being scheduled: it enriches the puck display with meaningful information about the work being performed. It’s the important input data that helps mechanics keep track of what vehicle they’re working on during each time slot.

That’s clear to me.
Is it possible to get the mechanics as pucks in infinite availability, so that I can assign one mechanic to multiple cars? I would like each mechanic to be displayed in the pucks, but not to disappear from there.
Or is there a different widgett or approach to get this result.

I would probably create a puck for each car that is being worked on, and then use an Ontology Action to add a one-to-many link whereby one work block corresponds to a mechanic, mechanics can work on many blocks simultaneously, etc. Establish a foreign key property on the puck. This works well if you don’t know the mechanic at puck creation time, as you can go reassign them later.

If you know the mechanic when creating the pucks, the fastest is shift-drag to create a new puck, select a mechanic in the associated “create puck” activity, and you’re ready to go.

Hope this helps!