Feature Wiki

Information about planned and released features

Zakładka

Recurrence Form to Kitchensink

1 Initial Problem

Creating recurring appointments uses unique interface elements. The current implementation cannot trivially be replaced by KS-Inputs. The current form needs some re-arranging to fit the KS-Elements available in 11.  

2 Conceptual Summary

Adding recurring appointments is moved to KS by splitting up the previously dynamically changing input elements over radio groups. See below for details.

3 User Interface Modifications

3.1 List of Affected Views

  • Personal Workspace > Calendar > Agenda > Create Appointment 

3.2 User Interface Details

Apart from the recurrence input, most of the appointment creation form can be moved to the KS as is. The only other significant difference is that 'Full Day Appointment' is not a dynamical toggle anymore. Instead it is realized via radio buttons leading to duration inputs with and without time, respectively.

Defaults are kept as they are currently: 'All Day Event' is selected, and the current data (and time) is pre-filled in both duration inputs.

Six different ways to set recurrences are offered:

  • Daily: e.g. every four days
  • Weekly: e.g. every third Wednesday
  • Monthly by Day: e.g. the first Friday every second month
  • Monthly by Date: e.g. on the 19th of every third month
  • Yearly by Day: e.g. on the last Tuesday of March every second year
  • Yearly by Date: e.g. on the 31st of October every third year

Each option contains a different combination of five different inputs as appropriate (see below). 

'Every x Day(s)/Month(s)/Year(s)' are numerical inputs that accept only positive numbers. 'Month' is a dropdown of all months in the year, and 'Day' a multi-select of all days. 'Day of the Month' is a numerical input accepting all numbers between 1 and 31. Lastly, 'Week' is a dropdown consisting of 'First' through 'Fifth' and 'Last'.

'Recurrence End' is always offered in the form, but only has an effect if a recurrence was selected.

'Fixed Number of Occurences' offers a numeric input (negative numbers or 0 are excluded), and 'Repeat Until End Date' offers a date input.

3.3 New User Interface Concepts

No new KS elements.

3.4 Accessibility Implications

No issues forseeable. 

4 Additional Information

4.1 Involved Authorities

If this request is related to multiple components, please list both authorities for all related components.

4.2 Technical Aspects

-

4.3 Privacy

No privacy implications.

4.4 Security

No foreseeable security implications.

4.5 Contact

Person to be contacted in case of questions about the feature or for funding offers: Schmitz, Tim [tschmitz]

4.6 Funding

Funding status and funding parties are listed in the block 'Status of Feature' in the right column of this page.

If you are interested to give funding for this feature, please get into contact with the person mentioned above as 'Contact'.

5 Discussion

Kunkel, Matthias [mkunkel], 30 JUN 2025: Thanks for this feature request. Two questions:

  1. The current implementation has a default entry when creating a new event. It is today and an 'All Day Event'. Will you keep that? Or will the inputs be empty?
  2. And if they are empty and I enter a date for an 'All Day Event', will the end date be autocompleted (same day, like now)? Or do I need to add the date twice? Same with 'Date/Time' – is there an autocomplete for the end time, e.g. two hours after start?

Schmitz, Tim [tschmitz], 03 JUL 2025:

  1. Keeping the defaults as they are currently definitely makes sense, I'll add that to the article. Probably would be better then to put the 'All Day Event' radio on top.
  2. There is currently no such autocomplete implemented for the KS duration input, and we don't plan to do so with this feature. Both dates have to be entered manually.

6 Implementation

Feature has been implemented by {Please add related profile link of this person}

6.1 Description and Screenshots

{ Description of the final implementation and screenshots if possible. }

6.2 Test Cases

Test cases completed at {date} by {user}

  • {Test case number linked to Testrail} : {test case title}

6.3 Privacy

Information in privacy.md of component: updated at {date} by {user} | no change required

6.4 Approval

Approved at {date} by {user}.

Ostatnio zmieniono:: 3. Lip 2025, 15:02, Schmitz, Tim [tschmitz]