Forum

Welcome to ProjeQtOr new Forum. We migrated old forum to the new website.
You will find all your posts here, with your usual account.
Just one point : you’ll have to reinitialize your password. Use “Lost password” feature.

Problem with priori...
 
Notifications
Clear all

Problem with priority conflict between "regular between 2 dates" and "as soon as possible"

8 Posts
2 Users
0 Reactions
8,679 Views
DEDIEU
(@jcde)
Posts: 104
Active Member
Topic starter
 
[#921]

Hello

We would like to create all tasks in as soon as possible mode so that priorty can be managed thanks top priority field. But we have one task (project management) on our projects that are shared all along the year and so that we define as regular between dates. But this task has priority on the others. So the priorty rule between "regular between 2 dates" and as soon as possible is a problem for our scheduling.

Could you explain why "regular between 2 dates" has priority to "as soon as possible"? Why did you attach a priority notion to the planning mode as there already is the priority notion via the priorty field? This makes it more difficult to manage priorities.

How could we change this priorty rule in the code?

Thanks


 
Posted : 25 Jan 2013 21H00
babynus
(@babynus)
Posts: 14966
Main Contributor Admin
 

When a task is defined as "Regular between dates", it means you have to plan some regular work, whatever other tasks, to be sure some time is left for these tasks.

Thats why "Regular between dates" has top most priority.

This is defined in code /model/PlanningElement, method sortPlanningElements($list).
You can remove this default behaviour
Change

$crit=($elt->idPlanningMode=='2' or  $elt->idPlanningMode=='3' or  $elt->idPlanningMode=='7')?'0':'1';

with

$crit='1';

 
Posted : 26 Jan 2013 21H32
DEDIEU
(@jcde)
Posts: 104
Active Member
Topic starter
 

I agree with you but :
When current delivery is late, the CDP must prioritize the technical activities. The "transverse" activities become less priority.
Our activities (transverse) are planned throughout the year. Occasionally technical activities must interrupt.
I use the term "Regular Between dates" for "transverse" activities throughout the year, and "as soon as possible" for technical activities.
How do you manage in my case without modifying the code to manage its priorities technical activities and "transverse" activities ?


 
Posted : 28 Jan 2013 13H54
babynus
(@babynus)
Posts: 14966
Main Contributor Admin
 

How do you manage in my case without modifying the code to manage its priorities technical activities and "transverse" activities ?

I do not 🙁


 
Posted : 28 Jan 2013 13H58
babynus
(@babynus)
Posts: 14966
Main Contributor Admin
 

Maybe this need would require new planning mode : "Urgent !"
This mode would mean : asap with higher priority than every other task.
Then, priority for these tasks would manage priority only between urgent tasks.


 
Posted : 28 Jan 2013 14H02
DEDIEU
(@jcde)
Posts: 104
Active Member
Topic starter
 

Yes it is a solution! Easy to implement in the code?
But why not give priorities to manage the priorities of different planning mode?


 
Posted : 28 Jan 2013 14H14
babynus
(@babynus)
Posts: 14966
Main Contributor Admin
 

Easy to implement in the code?

not too hard, as is is exactly as ASAP, with just higher priority.

But why not give priorities to manage the priorities of different planning mode?

Because in most cases when you add a task as "regular between dates", you won't change priority. Therefore you really need it to be planned before other ones, even with higher priority.
Also because it is actual running way, and I don't want to change rules that may lead to change planning calculation for existing plannings.


 
Posted : 28 Jan 2013 14H54
DEDIEU
(@jcde)
Posts: 104
Active Member
Topic starter
 

Ok I understand.
I'm planning to test this week, to make sure the behavior is OK.
If it's OK, I'll create in the user menu (profile CDP) can choose its planning mode (with or without management priorities for planning modes)

In the code /model/PlanningElement, method sortPlanningElements($list) i don't find :


$crit=($elt->idPlanningMode=='2' or  $elt->idPlanningMode=='3' or  $elt->idPlanningMode=='7')?'0':'1';

but i found :

static function comparePlanningElementSimpleOld($a, $b) {
    // idPlanningMode '2'=>REGUL '3'=>FULL '7'=>HALF
  	if ( ($a->idPlanningMode=='2' or  $a->idPlanningMode=='3' or  $a->idPlanningMode=='7') and 
         ($b->idPlanningMode!='2' and $a->idPlanningMode!='3' and $a->idPlanningMode!='7') ) {
      return -1;
    }
    if ( ( $b->idPlanningMode=='2' or $b->idPlanningMode=='3' or $b->idPlanningMode=='7') and 
         ($a->idPlanningMode!='2' and $a->idPlanningMode!='3' and $a->idPlanningMode!='7') ) {
      return +1;
    }
    if ($a->prioritypriority) {
      return -1;
    }
    if ($a->priority>$b->priority) {
      return +1;
    }
    
    if ($a->wbsSortablewbsSortable) {
      return -1;
    }
    if ($a->wbsSortable>$b->wbsSortable) {
      return +1;
    }
    return 0;       

I puts in the comment section of code ?

    // idPlanningMode '2'=>REGUL '3'=>FULL '7'=>HALF
  	if ( ($a->idPlanningMode=='2' or  $a->idPlanningMode=='3' or  $a->idPlanningMode=='7') and 
         ($b->idPlanningMode!='2' and $a->idPlanningMode!='3' and $a->idPlanningMode!='7') ) {
      return -1;
    }
    if ( ( $b->idPlanningMode=='2' or $b->idPlanningMode=='3' or $b->idPlanningMode=='7') and 
         ($a->idPlanningMode!='2' and $a->idPlanningMode!='3' and $a->idPlanningMode!='7') ) {
      return +1;
    }

Thanks for your support


 
Posted : 28 Jan 2013 16H18
Share:

Scroll to Top