Customizing

PLANTA Scheduling API Reference

  • The scheduling functionality is accessible using the module scheduling.

  • For use just do import scheduling in code that is to be run by PLANTA Server.

SchedulingType

Enum Name

Enum Value

Comment

CAPACITY_SCHEDULING

0

capacity scheduling

UNLOAD_SCHEDULING

1

unload project

TIME_SCHEDULING

2

time scheduling

Scheduling Convenience Functions

  • All of the following functions take either

  1. (technical) project id arguments, e.g. scheduling.unload('4711', '4811'), or

  2. an iterable of technical project ids, e.g. scheduling.unload(['4711', '4811'])

  • They return nothing (None)

  • Projects that cannot be found are silently skipped!

Function Name

Comment

unload()

Unload the given projects

reschedule()

Do a rescheduling on the given projects

schedule_capacity()

Capacity scheduling

schedule_time()

Pure time based scheduling

Internal Scheduling Functionality

Function Name

Parameter Description

Comment

schedule(seq, sched_action, rescheduling)

seq: iterable (technical project ids)
sched_action: see SchedulingType


rescheduling: boolean

For internal use only

Effort Distribution

Function Name

Parameter Description

Comment

distribute_effort(seq)

seq: iterable containing dtp records from table 801

For internal use only

Simulation

Simulation class

The Simulation class adds a bit of syntactic sugar to the simulation API as it provides indirect access to the simulation API and automatically clears the simulation on __exit__.

Method

Parameter(s)

Return Value

Comment

add_relation()

project: project uuid
activity1: predecessor uuid
activity2: successor uuid

none

add relation to simulation environment

remove_relation()

project: project uuid
activity1: predecessor uuid
activity2: successor uuid

none

remove relation from the simulation environment

Direct usage of the simulation API is also possible.


Function Name

Parameter Description

Comment

simulation_add_relation(project, activity1, activity2)

project: project uuid
activity1: predecessor uuid
activity2: successor uuid

add relation to simulation environment

simulation_remove_relation(project, activity1, activity2)

project: project uuid
activity1: predecessor uuid
activity2: successor uuid

remove relation from simulation environment

simulation_clear()


clear simulation environment

Cycle Check

Function Name

Parameter Description

Comment

project_has_cycle(project)

project: project uuid

returns true if project contains cycle, false otherwise (respects simulation environment)