How do I import repetitions on tasks?
Michael Sahl
Henrik Bjerregaard
It is possible to import up to four repetitions on tasks, when importing tasks using import filters. Just select the appropriate column from your CSV-file in one of the fields named "Repetition".
The repetion should be specified as described below. You should probably always enclose the repetition in quotes " ", as it may contain commas (,) which will otherwise cause problems for the CSV file.
Format
A repetition needs to be specified as follows.
For tasks of the type repeat - exact times, the format is:
<periodname> <perioddetails> <fromtime> <totime> <userinitials> [<daystodeadline> [<nextdate>]] [<parameters>]
You may specify multiple user initials, to plan for multiple users; initials should be seperated by space.
For tasks of the type repeat - loose times, the format is:
<periodname> <perioddetails> <fromtime> <totime> <daystodeadline> [<nextdate>] [<parameters>]
A name in <> simply means that it is a field, it should be replaced with some value. Something in [ ] means that it is optional. There must be at least one space between each field; spaces are not allowed within a field, with the exception of <userinitials> and <parameters> where space seperates the initials/parameters.
Examples
“Monthly FirstThu 10:00 12:00 HBP MSA” | First Thursday in each month; 10:00 to 12:00; for users HBP and MSA |
“OddMonths 20 20:00 23:00 HBP SC” | Odd months on the 20th at 20:00 to 23:00 for users HBP and SC |
“EvenMonths LastDay 20:00 23:00 HBP SC” | The last day of every even months from 20:00 to 23:00 for users HBP and SC |
“MonthsJanAprJulOct 1 12:00 15:00 AB” | Every January, April, July and October 1st from 12:00 to 15:00 for user AB |
“Annually 3Dec 10:00 11:30 QZ” | Every year on December 3rd from 10:00 to 11:30 for user QZ |
“OddYears 12Dec 06:15 09:00 CC” | December 12th on odd years from 06:15 to 09:00 for user CC |
“Daily 12:00 17:00 KL” | Every day from 12:00 to 17:00 for user KL |
"Weekly Mon 10:00 14:00 KL StartDate=2022-01-01 EndDate=2022-12-31 NeverMonths=MarNov" | Every Monday in 2022, except in March and November |
"4Weeks Fri 08:00 12:00 SC MS Offset=2022-01-23" | Friday in every 4th week, the week that includes 2022-01-23 is one of those match |
"4Months Fri 08:00 12:00 SC MS Offset=2022-01-23" | Friday in every 4th month, the month that includes 2022-01-23 is one of those match |
Repeat - loose times
For task of the type repeat - loose times the follow examples also apply.
“EveryNDays 14 20:00 23:00 -14” | '-14' means: 14 days to deadline |
“EveryNWeeks 6 20:00 23:00 -14 2022-06-01” | next date is included |
“EveryNMonths 2 20:00 23:00 -14” |
Period name
This should be one of the following:
Period name | Description | Period details | Comments |
Daily | Do it every day | - | The field <perioddetails> must not be included |
Monthly | Do it on a specific day every month | <monthday> | |
OddMonths | Do it on a specific day in January, March etc | <monthday> | |
EvenMonths | Do it on a specific day in February, April etc | <monthday> | |
Months<monthlist> | Do it on a specific day in the selected months | <monthday> | |
Annually | Do it on a specific day once a year | <yearday> | |
OddYears | Do it on a specific day in 2023, 2025 etc | <yearday> | |
EvenYears | Do it on a specific day in 2022, 2024 etc | <yearday> | |
Weekly | Do it every week on selected week days | <weekdays> | |
OddWeeks | Do it in week 1,3,5 etc on selected week days | <weekdays> | |
EvenWeeks | Do it in week 2,4,6 etc on selected week days | <weekdays> | |
EveryNDays | Do it with an interval of a fixed number of days | <N> = number of days | Only for repeat - loose times |
EveryNWeeks | Do it with an interval of a fixed number of weeks | <N> = number of weeks | Only for repeat - loose times |
EveryNMonths | Do it with an interval of a fixed number of months | <N> = number of months | Only for repeat - loose times |
StartDate | Do it just once, on a date that depends on the context | - | |
WeekNos | Do it in selected weeks, on selected week days | <weeklist>,<weekdays> | There are two comma-seperated values in the <perioddetails> field |
Week<N><I> | Do it in the I'th week of each N-weeks period, on selected week days | <weekdays> | N=3,4,5,6; I=1,2,...N; f.ex. Week42 or Week31 |
Year<N><I> | Do it on a specified day in the I'th year of each N-year period | <yearday> | N=3,4,5; I=1,2,...N, f.ex. Year33 |
<N>WeeksPeriodic | Do it every N'th week, on selected week days | <weekdays> | F.ex 60WeeksPeriodic; the Offset parameter specifies when the period starts |
<N>Days | Do it every N'th day, on selected week days | <weekdays> | The Offset parameter specifies when the period starts |
<N>Weeks | Do it every N'th week, on selected week days | <weekdays> | The Offset parameter specifies when the period starts |
<N>Months | Do it every N'th month, on selected week days | <weekdays> | The Offset parameter specifies when the period starts |
<N>Years | Do it every N'th year, on selected week days | <weekdays | The Offset parameter specifies when the period starts |
Daily, StartDate
The field <perioddetails> should not be included.
Example:
“Daily 12:00 17:00 HBP SC” | every day from 12:00 to 17:00 |
Monthly, OddMonths, EvenMonths, Months<monthlist>
<perioddetails> then specifies the day of the month, either:
For Months<monthlist> the field <monthlist> is a list of 3-letter month names, eg. JanAprDec.
Examples:
“Monthly 3 10:00 12:00 HBP MS” | the 3rd in every month |
“Monthly LastDay 10:00 12:00 HBP MS” | the last day of every month |
“OddMonths SecondMon 10:00 12:00 HBP MS” | 2nd Monday in odd months |
“MonthsJanFebApr FirstFri 10:00 12:00 HBP MS” | first Friday in January,February and April |
Annually, OddYears, EvenYears, Year31, Year32, Year33, Year41 - Year44, Year51 - Year55
<perioddetails> then specifies the day of the year as NNXXX where NN is a date and XXX is a month.
2022 is included in Year31, Year42 and Year52, 2023 is included in Year32, Year43 and Year53.
Examples:
“Annually 20Jan 10:00 12:00 HBP MS” | 20th of January every year |
“OddYears 5Feb 10:00 12:00 MS HBP” | 5th of Feb. in odd years |
Weekly, OddWeeks, EvenWeeks, Week31, Week32, Week33, Week41 - Week44, Week51 - Week55, Week61 - Week66
<perioddetails> then specifies the weekdays as a list. Week 1 of a year is included in Week31, Week41, Week51 and Week61.
Example:
“Weekly MonFri 10:00 12:00 HBP MS” | Monday and Friday every week |
WeekNos
<perioddetails> specifies a list of week numbers and a list of week days.
Example:
"WeekNos 1,2,3,4,SatSun 10:00 12:00 HBP" | Saturday and Sundays in the first 4 weeks of the year |
<N>WeeksPeriodic
<perioddetails> specifies a list of week days
Example:
"7WeeksPeriodic SatSun 10:00 12:00 HBP SC MS Offset=2022-04-01" | Saturday and Sundays in every 7th week, week 1 is the week containing 2022-04-01 |
<N>Days, <N>Weeks, <N>Months, <N>Years
<perioddetails> specifies a list of week days
Example:
"6Weeks SatSun 10:00 12:00 HBP SC MS Offset=2022-04-01" | Saturdays and Sundays in every 6th week, week 0 is the week containing 2022-04-01, weeks 0,6,12,etc match |
EveryNDays, EveryNWeeks, EveryNMonths
<perioddetails> is a number of days/weeks/months
This only applies to tasks of type repeat - loose times and also specifies how the task is restarted, by specifying the days to deadline and next date.
Examples:
"EveryNDays 11 10:00 12:00 HBP SC MS -10 2022-04-01" | Every 11 days |
Field types
Week days are months are specified as the english three letter abbreviations.
monthday | Specifies a day in a month | See below |
weekdays | List of week days | F.ex. MonTueWedThuFri or FriSatSun or MonSunHol; Hol means holidays |
yearday | Specifies a day and month | F.ex. 24Dec or 1Mar or 17Aug |
weeklist | Comma-seperated list of week numbers | F.ex. 1,2,4,11,42 |
monthlist | List of months | F.ex. JanFebMar or JunJulAugSep |
monthday
<N> | the N. day of the month |
LastDay | the last day of the month |
LastWorkday | the last workday (Mon - Fri) of the month |
FirstWorkday | the first workday of the month |
Last<XXX> | XXX is either Mon or Tue or Wed etc |
Pneultimate<XXX> | XXX is either Mon or Tue or Wed etc |
First<XXX> | XXX is either Mon or Tue or Wed etc |
Second<XXX> | XXX is either Mon or Tue or Wed etc |
Third<XXX> | XXX is either Mon or Tue or Wed etc |
Fourth<XXX> | XXX is either Mon or Tue or Wed etc |
Parameters
Various parameters may be added to the end of the repetition; this is necessary as the repetition format cannot hold all the information the various repetition types require.
Each parameter consists of a name, followed by an equal sign (=), followed by a value. No space is allowed within a parameter.
StartDate | Date | Don't match any date before this date |
EndDate | Date | Don't match any date after this date |
Holidays | Either "allow" or "global" or "skip" or "skip-weekend", default is "allow" | How holidays are handled allow: allow the repetition to match holidays global: use a global setting to determine how to handle holidats skip: skip to next workday skip-weekend: skip to next workday or weekend |
NeverMonths | <monthlist> | A list of month that should never match |
Offset | Date | Required for <N>Days, <N>Weeks, <N>Months, <N>Years and <N>WeeksPeriodic; specifies a date that indicates when the 0th period is; periods 0, N, N+1, N+2 etc match |
Locked | Either 0 (not locked) or 1 (locked) | Affects the plannings that are created from the repetition: indicates if the planning should be locked; |
Warning | Comma seperated list of user initials | Affects the plannings that are created from the repetition: indicates that a warning should sent if the user doesn't check in on the task, and it should also be sent to the list of users |