Bug 137435 - can't create exceptions to recurrences
Summary: can't create exceptions to recurrences
Status: RESOLVED NOT A BUG
Alias: None
Product: korganizer
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-16 03:28 UTC by Ross Boylan
Modified: 2006-11-16 10:13 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ross Boylan 2006-11-16 03:28:13 UTC
Version:            (using KDE KDE 3.5.5)
Installed from:    Debian testing/unstable Packages
Compiler:          gcc 4.1? whatever Debian testing is using
OS:                Linux

Package: korganizer
Version: 4:3.5.5.dfsg.1-1

I created a new event and enabled recurrences.
However, when I attempt to create some exceptions (lower right corner
of the recurrence tab) nothing happens.  When I choose a date for
which an event is scheduled (admittedly, the first date) and hit
delete, nothing happens (even when I hit OK).

When I enter a date that is not in the recurrence and hit add, nothing
happens.

When I select a date that is in the recurrence and hit edit, nothing
happens.

When I select a date that is in the recurrence and hit delete, nothing
happens.

I hit OK after all the above actions.  "nothing happens" means no dialogue comes up,
no entry appears in the little white box to the right of the action buttons, and the calendar itself is unchanged.

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (990, 'testing'), (990, 'stable'), (50, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.4.27advncdfs
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages korganizer depends on:
ii  kdelibs4c2a            4:3.5.5a.dfsg.1-2 core libraries and binaries for al
ii  libart-2.0-2           2.3.17-1          Library of functions for 2D graphi
ii  libaudio2              1.8-2             The Network Audio System (NAS). (s
ii  libc6                  2.3.6.ds1-4       GNU C Library: Shared libraries
ii  libfontconfig1         2.4.1-2           generic font configuration library
ii  libfreetype6           2.2.1-5           FreeType 2 font engine, shared lib
ii  libgcc1                1:4.1.1-13        GCC support library
ii  libice6                1:1.0.1-2         X11 Inter-Client Exchange library
ii  libidn11               0.6.5-1           GNU libidn library, implementation
ii  libjpeg62              6b-13             The Independent JPEG Group's JPEG 
ii  libkcal2b              4:3.5.5-1         KDE calendaring library
ii  libkdepim1a            4:3.5.5-1         KDE PIM library
ii  libkpimexchange1       4:3.5.5-1         KDE PIM Exchange library
ii  libkpimidentities1     4:3.5.5-1         KDE PIM user identity information 
ii  libpng12-0             1.2.8rel-7        PNG library - runtime
ii  libqt3-mt              3:3.3.7-1         Qt GUI Library (Threaded runtime v
ii  libsm6                 1:1.0.1-3         X11 Session Management library
ii  libstdc++6             4.1.1-13          The GNU Standard C++ Library v3
ii  libx11-6               2:1.0.3-2         X11 client-side library
ii  libxcursor1            1.1.7-4           X cursor management library
ii  libxext6               1:1.0.1-2         X11 miscellaneous extension librar
ii  libxft2                2.1.8.2-8         FreeType-based font drawing librar
ii  libxi6                 1:1.0.1-3         X11 Input extension library
ii  libxinerama1           1:1.0.1-4.1       X11 Xinerama extension library
ii  libxrandr2             2:1.1.0.2-4       X11 RandR extension library
ii  libxrender1            1:0.9.1-3         X Rendering Extension client libra
ii  libxt6                 1:1.0.2-2         X11 toolkit intrinsics library
ii  perl                   5.8.8-6.1         Larry Wall's Practical Extraction 
ii  zlib1g                 1:1.2.3-13        compression library - runtime
Comment 1 Ross Boylan 2006-11-16 03:32:22 UTC
Sorry, forgot to mention this is also filed for Debian as http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=398499.

BTW, the kde-devel mailing list does not show up on a lot of the tools from the website.  Presumably this is because it's too new to be in MARC yet (e.g., it's not in lists.kde.org, and the link to its archive from http://www.kde.org/mailinglists/ doesn't get you an archive).
Comment 2 Bram Schoenmakers 2006-11-16 08:50:35 UTC
You're mixing things up. You do not add or delete occurences of an event, you are adding/deleting exceptions. So, to add an exception, pick a date and press Add. To remove the exceptional date, select it in the list and press Delete.
Comment 3 Ross Boylan 2006-11-16 10:13:31 UTC
Thank you.

I'd like to request/suggest that this be left open as a documentation issue (maybe an interface/design issue too).  Even with the previous advice and restudying the manual I didn't quite get it until I played around a little.

For your reference, here's the mental model I had:
The basic event and recurrence rule creates a (potentially infinite) set of events at specific dates and times.  Exceptions consist of modifications to this set, which can be
a) adding an event to the set (add button)
"the set" refers to the original set of events
b) deleting an event from the set (delete button)
c) moving an event in the set to a different date/time (or maybe changing some other aspect, e.g., location, comment...) (change button).


The model as implemented is
A = original set of events
E = set of exceptions (which are just dates)
The resulting events are those in A except for those in E.
The add/delete/change buttons simply manipulate the set of dates in E.

Among the surprising features of this is that one uses the "add" button in order to remove an event (because this is an addition to set E).

So I read "exception" as "event that doesn't fit the pattern," while the current design is that "exception" is "date on which a regularly scheduled event will not happen."  The manual does say that; it was just a little hard to get it, at least for me.  The guts are buried in a parenthetical remark well into the explanation: "exceptions (i.e. times when even if the recurrence rule matches, the event will not be scheduled)."

Minimally, it would be good to make this more explicit earlier on in the documentation.  It might be possible to revise the interface a bit to make it clearer too.  And, if someone is feeling ambitious, it might be more natural if the program actually implemented a model that was like the mental model I started with.