Beta features should be considered "in development" and may not be fully supported or complete. Beta features are available as a preview for testing purposes and may be unstable. They should be used with caution in production environments.
Job dependencies are relationships between two or more jobs where a job is dependent upon the completion of another job or multiple jobs.
Sometimes jobs do not exist in isolation and, while they might reflect a single piece of work, they are related to several other jobs that all must be carried out before a service can be considered completed in full.
Creating dependencies between jobs allows schedulers to define a sequence of work in the order in which it must be completed.
For example, a company has been contracted to complete a street works service. This service can be broken down into three separate jobs that must be completed for the service to be complete:
- Job 1 - Drilling and earthworks preparing for road services upgrade.
- Job 2 - Road service works. For example, replacing pipes or cabling.
This cannot be started until the digging and initial earthworks in Job 1 are complete.
- Job 3 - Refill and resurfacing works.
This job cannot start until the service works in Job 2 are complete.
In the provided example, the work must be scheduled in the correct order to avoid resources that are allocated to jobs at different stages of the overall service being sent to the site before they are required.
Schedulers need to be able to understand and respect the dependencies between this work when jobs are scheduled and rescheduled to deliver work effectively and avoid violating client SLAs.
Organization settings and requirements
Salesforce package requirement:
Skedulo for Salesforce organizations must have the Skedulo managed package version v102.54 (or later) to use job dependencies.
Job details page settings:
Job dependencies are only available in the Skedulo web app from the new job details view. Organizations using the legacy version of the job details view must disable it in the Skedulo web app.
- Go to Settings -> Beta features.
- Uncheck the Disable new job details page in the web app (browser refresh required) option, then click Save.
- Refresh the browser.
For more information about the job details page, see 8.0.0 Job Details.
Enable job dependencies
Job dependencies are available in Skedulo organizations as a beta feature.
Organization administrators can enable beta features under Settings -> Beta Features in the Skedulo web app.
- In the Skedulo web app, open Settings -> Beta features.
- Select the Enable Job Dependencies option, then click Save.
Creating a job dependency
To create a dependency relationship between two or more pieces of work, you must first create the jobs that make up the complete service of work.
For example, to create the dependency relationships for the jobs mentioned previously carrying out street works, you would create those three jobs first using the Skedulo web app.
Currently, Skedulo only supports after the end of job dependency types.
This means that relationships between jobs must be created from the next job in the sequence, rather than starting from the first job in the sequence.
After you have defined the pieces of work to be completed, you can then create the dependencies between them.
You have enabled the job dependencies beta feature in the Settings -> Beta features page in the Skedulo web app.
- Create the jobs required to complete the service of work being delivered.
- Open the second job in the sequence, or a job that must start after another job has finished.
- Under Job dependencies, click Add dependency.
- In the Add job dependency modal, click in the Search for a job text box and begin typing to search. You must enter at least three characters to show results.
- Select the preceding job in the sequence to indicate that this job must start after the selected job has ended.
The Job dependencies field on the job details page now shows that there is a dependency relationship.
There is also a job dependency icon on the job header to indicate that the job start time is dependent on another job.
The first job in the sequence is automatically updated with the reciprocal dependency relationship on the Job dependencies field.
- Open the details page of the next job in the sequence, then add the job dependency that says the job must start after the previous job in the sequence has ended (see steps 3 to 5 above).
In our example, the final job to complete is to refill and resurface the road, which is dependent upon the road services works job being complete.
The Road services works job now shows dependencies for both the job that it must start after and the job that must start after it.
Jobs can have multiple dependencies. Sometimes an issue may arise unexpectedly during the course of carrying out a sequence of jobs that are dependent on one another.
The three jobs that have been created above are now scheduled, and ready to be carried out over three days next week.
Let's say, for example, that in the course of carrying out the road services upgrade job, which is the second job in our sequence, one of our resources accidentally cut through a cable delivering internet services to the area.
That is a new, critical job that now must be completed before the final job in the sequence can start.
- Create a new job in the sequence.
- Create a new dependency on the third job in the sequence, in our case, the Refill and resurfacing works, which cannot be carried out until these emergency repairs are complete.
This creates a conflict, as the repair must be carried out during the time when the Refill and resurfacing works job was meant to start.
A scheduler is notified of this conflict on the job details card, which shows a red job dependency icon in the header:
It is also reflected on the swimlane and on the job card on the swimlane.
- Reschedule the next job in the sequence to resolve the conflict.
Removing a job dependency
You can remove a job dependency from the job details page.
- Locate the dependency you want to remove under the Job dependencies field on the job details page.
- Hover over the dependency you want to remove and click the edit icon. This opens the Edit job dependency modal.
- Click Delete. This removes the job dependency and updates both job details pages where the dependency was displayed.
Editing dependencies created in custom builds
Organizations with a custom build that permits dependency exceptions outside of the most common dependency scenarios currently supported in the Skedulo web app will not be able to edit dependencies using the Edit job dependency modal.
The following message is displayed in the Edit job dependency modal for job dependencies with an unknown type.
Organizations with a custom build for exceptions not included in the core Skedulo web app will need to perform job dependency edits via the same custom build in which the dependency was defined.