Group scheduling is something of a buzzword these days, but most of us don't need a buzzword to help us with time management. What we need is a simple way to keep track multiple schedules with the least amount of fuss - and KOrganizer has just the tools to do it. Like most people these days, I lead a busy and sometimes complicated life. With a household consisting of two working adults, and two children with different school schedules, and extracurricular activities, I often need an overview of who is supposed to be where, and when they need to be there. My former calendar keeping strategy could best be described "as many notes and random pieces of paper that will fit on the refrigerator door". This strategy has proven to be remarkably poor. The notes fall off fairly often, usually when my small daughter borrows the magnets to put up her picture of Nemo the fish playing basketball with superman. I once found a note about a most important appointment in the freezer when I defrosted it - a month after the appointment had been missed! In an effort to reform myself, I started using KOrganizer a couple of years ago, and it's been a great tool. Keeping a calendar just for myself is simple. I work partly at home, and partly at the office but my calendar is usually fairly loose. I simply enter specific meetings I must attend as events, any deadlines that are coming up as To-do items. Then I block out generally the "Working in the office" hours. All the left over working hours, I'm plugging away at home, trying to meet those deadlines and prepare for those meetings. In the first screenshot you can see a typically normal week for me. However, if that was all there was to it, this article would be rather shorter than it is. [simple-calendar screenshot] First up in my list of people who need to be tracked, is my oldest daughter Sam. She's in the 8th grade and has a convoluted class timetable, involving assorted classes in assorted classrooms, sometimes in different buildings. Then there's the study days, random days off school for unfathomable reasons, theme days, school dances, and my personal favorite, the open house days when I get to go to school with her, and she gets to spend the entire day being horribly embarrassed that her mother is there. All this needs to be tracked, and in a better manner than keeping her timetable on the refrigerator door. KOrganizer to the rescue again! Creating an additional calendar I could of course, just put all the school events into my own calendar, and that would work fine. It is however, rarely the most important thing in my day to know that Sam has a physics class at 12:10 on Monday, and it is simply visual clutter when too much information is presented at once. The answer then, is to maintain her calendar separately. In the lower left hand corner of a KOrganizer window, you will notice the label "Default Calendar". This is, obviously the default calendar, and unless you tell KOrganizer differently, it's where any events entered will be stored. Pressing the "Add..." button however presents the opportunity to create a new calender. There are various interestingly named formats listed here, but what we're interested in is a simple calendar file, and so I choose the "Calendar in Local File" option. Choosing that gives me the opportunity to choose a name and a filename. The name is the one visible in KOrganizer, so I call this one "Sam's Schedule" and save it as samsschedule.ics in my home directory. Now I'm ready to start adding things to it. Lather, Rinse, Repeat One of the key features to any calendar, as complex as they may be, is that some of these events repeat. Take Sam's school schedule -- while Monday is completely different from Tuesday, every Monday is more or less the same as the next. Adding these recurring events is just about the most complicated task in KOrganizer - but that's still not very complicated. Add an event as usual, by double-clicking somewhere near the time you want, right clicking and choosing "New Event" or using the toolbar, whichever you find most convenient. In fact, this will be a good opportunity to try them all out and figure out which way is easiest for you, because a school timetable has a lot of events to enter. I put the name of the class in the "Title" field, set the time and any notes in the free comment area below the times. I also like to add the classroom number in the Location field, in case I need to go fetch Sam at school for an errand, I'll be able to find her. I also make sure to set the time as "Free", and make sure no reminder is set. One isn't set by default, but I once turned them on without thinking, and as little as I need to know that she has that Physics class on Monday afternoon, I need even less to have a loud alarm sound reminding me of the fact. Next up is to switch to the "Recurrence" tab, and set up the recurring event. As you can see from the screenshot, the combinations are nearly endless. Mostly though, once you've enabled recurrence, you only need to worry about two things: how often it happens, and when it stops. In this case I know that the 2004/2005 school year ends here in the first week of June 2005, so I add the date to the "End by:" field. I also happen to know that the first week of November is a school holiday, so I added that to the Exceptions section while here. [screenshot of the recurrence dialog] You can be as careful with exceptions as you like, adding each and every one, so that your calendar is perfect. In this case, since it happens to be the first week of November as I'm writing this, it's not very hard for me to remember to add it as vacation while I have the dialog open. I know there is also a school holiday around Christmas time, and one somewhere in March or so. I could go look them up, but, I find subtle clues like the phone being busy all day instead of only in the afternoon tend to tip me off to Sam having a vacation, without the need to check that in my calendar. Just because there is a field for you to fill in, doesn't mean you have to. Such space for additional information is there if you want it, and can be completely ignored if they aren't useful to you - the goal here is to simplify your life, not complicate it. And now we're all done with the first class of the day, simply click OK. And an unexpected dialog will pop up. Why? because we now have two calendars, and KOrganizer wants to know which one you mean to save this item in. If I had only one or two things to add, I could simply pick the right calendar from the list given, and move on. That can quickly become tedious though, so if you have a lot of entries to add to a specific calendar, the easiest strategy to avoid being asked all the time which one you meant is to simply uncheck the box next to all the other ones. If there is only one calendar that you can save entries in, it's automatically the one KOrganizer will use. Setting up something like a class schedule will take a small time investment. This took me about a half hour to enter them all, including end dates, room numbers, and figuring out the cryptic class codes used in the school schedule so that I actually knew what to call things. I estimate it's saved me far more than that already in the past week. For instance, I didn't have to rush around trying to get gym clothes organized in the morning before school, having checked the calendar the evenings before and noticed they were needed. Organizing the small fry Next up, my smallest daughter, Kajsa. Her calendar is much simpler: she goes to preschool 15 hours a week, and I get to pick which 15 they are. Like most small kids she likes routine, and routine is certainly easier for me, and adding her schedule to KOrganizer is a snap compared to her big sister. [busy-calendar screenshot] Now, I have three calendars, and I can simply uncheck the box next to "Kajsa's Schedule" and "Sam's Schedule" to revert to my nice uncluttered simple calendar view. When I want to plan for appointments, for instance, schedule a meeting at the office on the days I'm not normally there, I can simply check the box again and see all the two schedules at once. What if I get an email asking me to move that meeting I had planned for Monday, to later in the week - I can see that I don't want to set it for Thursday, since both Kajsa and I were supposed to be home that day, and I have a deadline on Friday that will probably keep me busy that day, so I will move it to Wednesday, during my usual office hours. The calendar is looking very busy and cluttered at this point, so you can probably see why I don't want to overload myself with all this information all the time. When trying to schedule appointments for the kids though, here's where it really pays off. For instance, I just got the children's annual dentist check reminders, and I need to schedule an appointment for each of them. It makes the most sense to have them together, so I turn on both kids schedules, and I and can quickly see that Wednesday morning is good - I'm free, Kajsa is home, and Sam has a long break between her first and second class. Since the dentist office is only a block away from her school, that's perfect, Kajsa and I can meet her at school, visit the dentist, and have her back in time for her next class. Unfortunately a phone call to the receptionist tells me that Wednesday morning is booked solid, but there is a spot free at 10:30 on Thursday -- with KOrganizer still open, I can immediately see that appointment fits in just as perfectly, and booked the time. I'm sure the girls will be immensely pleased! For this kind of thing, I simply block that time into my own calendar, and I can turn off the other two, safe in the knowledge that disorganization and tooth decay have been held at bay for yet another week. And now we share So far, it's all been me me me. Time to share the love, or at least, the calendars. Sam is old enough to be checking for herself that she has gym clothes for the next day, or to make sure her homework and textbooks are in her book bag for all the lessons she has tomorrow. On the other hand, I don't necessarily want her editing her school schedule, or adding her shopping dates with her friends to it. This turns out to be quite simple. She also keeps her own calendar, with what's important to her, and I put the school schedule one I just made into a shared folder on our file server that everyone can read from. Moving the calendar from my end is simply a matter of selecting it, choosing edit, and editing the file location. KOrganizer will copy the file to the new location. This leaves the older version intact, in case something goes wrong, such as you gave a location which you don't have write permissions for. You can simply delete the old file, or you might want to keep it as a backup. From Sam's end, she simply chooses "Add..." just like I did when creating a calendar, but instead of inventing a filename she can browse to the shared folder and choose it there. Since she can't edit it, she can check the "Read-Only" box, so that when she adds items to her own calendar, KOrganizer doesn't have to ask her which one, or try to write to a file she can't edit. Now we can get even smarter. A couple of Sam's school friends use KDE, and they have the same class schedule. If I put the calendar file somewhere accessible via the web, then they can also use it. They don't even have to download it locally - KOrganizer will happily load up a file directly via HTTP, and you can even tell it how often to check back and reload it in case of changes. For the school schedule, that's not until the end of the school year, so it's sufficient to load the file once when KOrganizer starts. For something less static, like my work schedule, it might be more useful to check it once an hour in case I added a new appointment. Getting down to business You can probably already see how this feature is useful for a small office, where very often people don't need to set up appointments for each other, but do need a way to see when everyone else is busy or out of the office. I've already used the examples of a shared directory on a fileserver, and a webserver, but you can also load calendars from almost any kind of remote source. This includes FTP servers, using KDE's fish:// protocol to access a remote machine via ssh, or using webdav if you have it available. You could even use the "kpf" applet in the panel to share your calendar directly via HTTP. Do consider the privacy implications of making your calendars publicly accessible. You probably will need to protect them in some fashion, by placing them in a directory that is only accessible from the local network, or by using a password. It's also worth your time thinking about backup strategies. Burning a copy of the calendars off to a CD-RW once a week, or keeping an archive of them on another machine, are probably sufficient for most situations A final option for sharing calendars is perhaps one of the simplest. KOrganizer provides a very nice export to HTML (you'll find it under the "File" menu). It's highly configurable, allowing you to choose the span of time to export, whether or not to show To-Do items among other things. If you need to share a schedule with a broad group of people, nothing beats a web page. [Possible side-bars: Creative Calendaring - Since it's so easy, there are plenty of things you might want to keep track of in a separate calendar. How about: Concert or sports fixture dates Your favorite TV shows LUG or other club meetings Your Exercise plan ]