Tags:
create new tag
, view all tags

Challenge

Board members need to find a date for their next upcoming meeting. They currently do this with a hand-formatted table that they edit in turns. See the example below. How could they do this smarter?

This is essentially what corporate software does (MS Exchange calendaring, Lotus Notes calendaring) automatically when a user creates a meeting invitation. Since TWiki does not hold each person's calendar information, TWiki can't automate this completely. But there could still be a better solution than hand-edited text.

lų sų ma ti on to fr lų sų ma ti on to fr lų sų ma ti on to fr - weekday (in Danish, sorry)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 - day
01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 - month
-----------------------------------------------------------------------
+  +  +  +  x  x  x  x  x  +  +  +  +  +  x  !  x  !  x  +  +  - Annie
x  x  ?  ?  ?  ?  ?  ?  ?  x  ?  ?  ?  ?  ?  ?  x  ?  ?  ?  ?  - Brian
?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  - Charlie
?  ?  x  +  !  +  +  x  x  +  ?  x  +  !  +  +  x  x  +  ?  +  - David
x  x  +  ?  x  +  !  +  !  x  x  +  ?  x  +  !  +  +  x  x  +  - Elisabeth
-----------------------------------------------------------------------
+ means you're available and can participate.
x means you can't participate, are on vacation, or are unsure.
? means you haven't answered yet.
! means you prefer this day.

-- TorbenGB - 17 Dec 2004

Requirements

  • Easy to use!
  • Allows to select a date range when creating the schedule.
  • Allows to modify the date range after creation.
  • Allows to specify which persons should be listed.
  • Not all listed persons might be TWiki users.
  • Easy to install, not relying on back-end database or such.

-- TorbenGB - 17 Dec 2004

Solution

...?

Alternative

Some time ago I was inspired by the solution above, and started improving on this using normal twiki-tables. Later I used TablePlugin to allow sorting and then I added the SpreadSheetPlugin calculation to count the number of + signs.

A short while ago I created an improved version using EditTablePlugin to support easy editing, and for this reason had to "turn around" the table to have users as headers (because the current EditTablePlugin won't allow multiple header lines). This also has the advantage that it is rather easy to add new dates (lines) wich happens often, and harder to add new people (columns) which typically happens less often.

Unfortunately, the plugin also doesn't support alignment in columns, and using ascii symbols (+, %, ?, /) got rather confusing, so I wanted to use smilies instead.

Getting the result (including the very much wanted sum-column) took some creative hacking to overcome EditTablePlugins premature variable expansion, but at least I found one solution that works, although the single-option select-box for the sum column is a bit "ugly" smile

I am hoping that some of the more hardcore twiki-hackers can come up with a nice fix for this.

When editing the table you have the following choices:
    = (blank) = Haven't answered yet (or I don't have an answer yet for this date)
yes = :yes: = I can participate
no = :no: = I can not participate
frown = :( = This date suits me very badly, but I will show up if its the only option
dead! = :skull: = Called in ill (preferably only used shortly before a meeting, maybe to reschedule smile )

Date Time Note Bob Sue Joe Alice Ben Chris Peter   Room Video   OK
2005/12/15 11:30 With lunch dead! yes yes no frown no yes   yes yes   5
2005/12/16 9:00 Bring coffee yes yes no yes yes frown yes   yes frown   6
2005/12/19 15:00     yes   no   frown     yes yes   3

On the two twiki's where I have introduced this table, I have made one additional improvement:
I have duplicated the used smilies on the SmiliesPlugin page and given them new aliases and new mouse-over texts.
The sites are danish, so I have used: :ja: = yes , :nej: = no , :suk: = frown , :syg: = dead! and added descriptive help-texts that actually explain what the icons say in this context.
English equivalents could be :fine:, :noway:, :bad:, :ill: or whatever suits your needs and your "lingo".

By the way, my users love the smilies smile

Suggested & Needed improvements or ideas for local hacks:

  • Obviously the sum formula and the choice list can be defined web or sitewise. (not done here for obvious reasons)
  • EditTablePlugin supports getting its entire definition from a different page, so if you freaquently plan meetings for the same group, just use this feature.
  • It would be lovely to have an easier way to "start" this table for e.g. n number of users. Maybe SpreadSheetPlugin can come to the rescue again?
  • Allowing the table to have editable headers would make it easier to change the participants (but not the number of participants.
  • The annoying thing here is that the header-definition and the format-definition have to match exactly, which can be a drag (and mess) with non-experts trying to modify the table (add or remove participants)
  • Ideally this could be changed to a dedicated plugin obviously allowing for "automagic" setup for a specified Twiki-group.
  • One of my users also suggested that it would be very nice to have a way to "freeze" the list at a certain time (i.e. when choosing the best date) without having to delete and "loose" the remaining rows (which would still be very usefull for an emergency rescheduling.

I hope that some of you will find the above usefull, and that it will even get improved along the way and finally be implemented as a plugin.

Would it be "good" or "bad" to post the above on a page under Sandbox - Sample applications?

-- JanKrag - 07 Dec 2005

This is a nice example to post as a Sample Application.

BTW, the hidden "Set DATE" overloads the DATE in the signature, resulting in -- User - date,10,,%Y/%m/%d. Better to use a different variable name.

-- PeterThoeny - 07 Dec 2005

Thanks for allerting me Peter.
The field has now been renamed from %DATE% to %DATEFLD%.

I will probably cross-post the above as a sample application one of the next days.

-- JanKrag - 09 Dec 2005

I have now also posted a copy of the above app. (with a modified explanation) as a "Sample Application" in Sandbox. Maybe that version, on CoordinateMeetingDate is better for initial experimenting.

-- JanKrag - 10 Dec 2005

Smilies should be colored like this:

Green = OK Amber (yellow) = maybe Red = No

This follows the 'traffic light' system used on roads and to some extent in nature.

-- ZacCraven - 22 May 2007

WebForm
TopicClassification PluginBrainstorming
TopicSummary Schedule coordination for meetings, like MS Exchange or Lotus Notes calendaring.
InterestedParties TorbenGB, JanKrag, SvenDowideit
RelatedTopics CoordinateMeetingDate
Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r8 - 2007-05-22 - SvenDowideit
 
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.