When I open OmniPlan in the morning, I’d like to be able to quickly see the next action for each resource in my project. Currently, I switch to the resources view and scan down the highlighted column for today, looking for tasks that are in that column.
Is there a way to generate a quick list or report showing me what each resource should be working on next?
I wrote a script to do this. Just select one or more resources in the Resources tab and run this plug-in.
(() => {
var action = new PlugIn.Action(function(selection) {
var resourceReport = Array();
for(const resource of selection.resources) {
if( resource.assignments.length == 0 ) {
continue;
}
let sorted = Array.from(resource.assignments).map(assgn => assgn.task)
sorted.sort((a, b) => a.startDate - b.startDate)
resourceReport.push(`${resource.name}: ${sorted[0].title}`);
}
new Alert("Next Action", `${resourceReport.join("\n\n")}`).show();
});
// If needed, uncomment, and add a function that returns true if the current selection is appropriate for the action.
action.validate = function(selection){
return selection.resources.length > 0;
};
return action;
})();