This was not an easy process - it actually took me a couple of weeks to work out all the nuances. Honestly, if you're concerned about weekends, I would stick to Work Dates and deal with Automations for now (as long as your business logic isn't overly complex, that is).
But, if you're up for some self punishment, the solution that I built is very specific to this client's process. Here's some of the stuff he needed to be able to do and how I addressed them:
- Automatically create Tasks based on the selected Template at 2 separate points in the Project I used record created for a Pipelines trigger that updated the project template and pulled over the first set of Tasks. The second set was triggered by a button, but I built the API calls directly in the button. This required updating the Template Project with pertinent info from the Project and then running a list of 6 TTI's to move information around before finally importing the Tasks and clearing out the fields in the Template
- Reset select Task Start Dates based on actions taken on the Project Automations
- Use predecessors so that certain Tasks would be dependent on others
- Have a Task be dependent, but offset from a prior task by a given number of days (Task starts X days after Predecessor) I setup a looping relationship for this so that the user selects the Controlling Task when setting up the Templates. I've got calculations that determine the Start Date based on the offset days, the Controlling Task, etc.
- Dynamically calculate the "Days Allowed" for select Tasks based on calculation using the average Project length Part of the button API's I mentioned above takes the calculated ratio from the Project, puts it on the Template Project, and then the 'Days Allowed' calculations use that value for those Tasks that are flagged as variable
- Override the Start Date of a Task Button that moves the Predecessor to another field and directs the user to a Code Page popup to select the new Date
- Override the End Date of a Task Button that directs the user to a Code Page popup to select the new End Date which is used in the 'Days Allowed' calculation to determine the corrected End Date
- Determine Assigned To based on Job Title and Region Standard relationship lookups and a formula to determine Assigned To on the Template
And I'm sure I missed a few things.
EDIT: Oh, I've got 1 Pipeline that I use to update the Assigned To on Tasks for the Project Manager if the PM is updated
------------------------------
Blake Harrison
bharrison@datablender.io
DataBlender - Quickbase Solution Provider
Atlanta GA
404.800.1702 /
http://datablender.io/------------------------------