โJun 01, 2023 04:02 AM
I have a very simple example.
Is there a way to make it so if I move A's start date, B will also follow along?
B cannot be a formula, because I want the user to still be able to move it independently.
Is there a native way to do this without automations?
Is it possible to do this if A and B live in separate tables?
Thanks!
Solved! Go to Solution.
โJun 04, 2023 10:09 AM - edited โJun 04, 2023 10:13 AM
I'm afraid it's not what I asked for. I wanted to move A's date and have B react to it with the same offset so that it follows. This is not possible in Gantt's view, not the way I asked for anyways.
I did get a solution working though. It requires duplicating the Start date field, and an automation. The extra field is necessary to compare dates to figure out how many days were offset.
The automation is pretty simple. It triggers when the Start field is updated. Then it runs a script that calculates the linked child's new Start and End dates. The final step is to set the date to the duplicated field, StartCopy. This results in B following along A's start time.
And here's the script.
Although this seems to work fine, I'm happy to hear any better solutions.
โJun 01, 2023 08:21 AM
This is possible in the Gantt View with dependencies (a linked record field to the same table) set up and assigned.
Hope that helps!
โJun 01, 2023 09:43 AM - edited โJun 01, 2023 09:44 AM
Hi @Stephen_Orr1 , thanks for the response.
That does seem to be one way but there's a few reasons why I don't like it.
โJun 01, 2023 11:37 AM
1. Yes, this is only natively possible in Airtable when using the Gantt view and one of the few reasons to use it over the (IMO superior) Timeline view when project managing
2. This is a good point. It does not automatically remove slack time between tasks, probably as a safety measure but I can see when the option for this would be nice to have.
3. Right, tasks can only be dependent on other tasks as the date fields configured in the gantt settings are driving everything. You would have to record a date as a task in this table for it to be a dependency.
Another option is using formula fields to produce dates based on a number of days column to eliminate slack time but this requires a more complex automation to work with dependencies and may provide a less-than-ideal user experience in the end.
If you think I've answered your question, please feel free to mark it as such. Helps me/others here ๐
Thanks!
โJun 01, 2023 10:39 PM
I wouldn't say Gantt is better than Timeline - it really depends on the use case. Regardless, it still wouldn't work when editing in any other view (grid, list, kanban, etc..)
I already mentioned in my first post that I can't consider formulas because it prevents the user from editing it like a normal date field.
I do appreciate the responses and will give you a kudos, but it unfortunately doesn't answer the question. So far it feels like an automation is probably the best solution for this.
โJun 02, 2023 01:23 AM - edited โJun 02, 2023 01:29 AM
Timeline has some nice benefits over Gantt like
- the ability to split multi-select groups (no other view can do this yet)
- the ability to configure aggregation functions at the bottom to quickly summarize records
- the utilization function to conduct resource capacity planning (huge win and feature addition to Airtable)
- more granular control over the X axis to zoom in/out of ranges
- the ability to save initial views so that you don't have to adjust the axis on subsequent visits
- the ability to customize the label text
The only reason to use the Gantt view is for your particular use case, project task management where you're interested in highlighting the critical path/adjusting dates of dependencies, showing milestones vs tasks, etc. For all other calendaring needs, Timeline is the superior view.
The answer to your question is that this is possible in the Gantt view, otherwise, you'll need to code a custom script extension in Javascript (I've done this for a large company for this exact use case before).
Good luck!
-Stephen
โJun 04, 2023 10:09 AM - edited โJun 04, 2023 10:13 AM
I'm afraid it's not what I asked for. I wanted to move A's date and have B react to it with the same offset so that it follows. This is not possible in Gantt's view, not the way I asked for anyways.
I did get a solution working though. It requires duplicating the Start date field, and an automation. The extra field is necessary to compare dates to figure out how many days were offset.
The automation is pretty simple. It triggers when the Start field is updated. Then it runs a script that calculates the linked child's new Start and End dates. The final step is to set the date to the duplicated field, StartCopy. This results in B following along A's start time.
And here's the script.
Although this seems to work fine, I'm happy to hear any better solutions.