Presently, when a task is added to a Project, it is a single task with a start (and optionnal end) date
I would like to customize the task creation by adding the option to create recurrent and plannified tasks (as provided by the repeat date in the calendar management).

As I am new to Erpal, I cannot estimate the best way to do that, neither the effort nor the implications of this change.

Has anybody thought about this functionnality and could give me some hints ?

Thanks in advance

Comments

manuelBS’s picture

There is a module at https://www.drupal.org/project/erpal_repeatable_tasks
But it is not yet well tested and may be buggy but the scope is exactly what you need. I am looking forward some feedback.

marcver’s picture

Thanks.
I tried it : Erpal for service providers + erpal_repeatable_tasks module enabled
In the Advanced section of the task edit form, "Repeat Options" does not show up

manuelBS’s picture

Please try to go to /admin/structure/types/manage/erpal_task/fields and move the repeat options field set into the "advanced" area. Then it should appear. I will add this information to the project page and rename this task.

manuelBS’s picture

Status: Active » Needs work
marcver’s picture

Thanks. The date repeat options of the Erpal module are confusing to me as they do not fit the date repeat options and behaviour of say the Debut Event (debut_event) module.
Please, could you give more detailed documentation about the fields usage ?

In the debut_event, the Event duration is computed from 2 datetime fields : datetime beginning and datetime end of the event.
When repeating an event, the beginning and end times are kept and cloned to a set of dates.

In the Erpal task edit form with the repeat option, several date fields are displayed :
Date field and optionnal End Date field
Repeat task field
The Repeat task field is unclear to my understanding

In the Erpal task edit form with the repeat option :
some repeat options as day of the week checkboxes do not display correctly and cannot be selected.

When submitting the task edit form with repeat options, only one task is created (the first one) and I did not succeed in cloning the task.

When looking at admin/structure/types/manage/erpal-date/fields/field_date_repeat
the date item type is set to simple_date (other choice beeing repeat_task_date). I am wondering if this is correct.

Any details about the fields to use and how to use them will be welcome. Thanks again

marcver’s picture

I made tests as you required.
IMHO the repeatable task module functionnalities do not fit the general needs.
Indeed a repeatable task is cloned through a cron on a daily basis.
Which means that a cloned task will be created and displayed only the day it is scheduled to.
BTW the "mother" task itself is cloned on the same day, which does not make sense to me.

IMHO when creating a repeatable task, all the cloned tasks should be created and displayed at once at the form submit time. Does it make sense to you ?

Another point : does Erpal support scheduled tasks i.e. with beginning and ending times ?
As far as I understand, a task is defined as :
- something to do
- in a given date range
- with optionnal estimated duration time

but not as :
- something to do
- in a given date range
- with scheduled beginning and ending times (in this case, task duration is implicit)

Thank you in advance for your comments
and congratulations again for your awesome distribution

manuelBS’s picture

I agree that the current lables are not self explaining. The idea behind the fields is as follows:

Repeat Task Date: This is when the task will be repeated the first time.
Repeat: this is the rule when the task will be repeated again.
Increase repeated deadline: This is the number of days the deadline will be increased whereas the ical date that is set in the repeat rule is used as offset.

Of course it makes sence to repeat all tasks on form submit. But if you have more than 10 tasks, this will take some time so a bulk operation may be required to avoid a time out. This is why we decided to use the rule to specify when the task is going to be created in advance.

We use this in our daily work and it works fine but may be you need a different use case.