I'm looking for a way to link Tasks and Calendar functions and I’m very new to drupal... I’m learning as fast as I can!

All or part of what I’d like may already exist/be in development, and I simply haven’t found it yet. Any help provided in terms of where to find these functions, how to build these functions, good starting points, etc. would be greatly GREATLY appreciated.

I'm working on an intranet for our company. Basically, my goal is as follows:

* 1. Each user has a "Tasks" list (a checklist) and personal calendar. When a task is added to a user's list, there is the option of adding a due date and time. If a due date/time is specified, it is automatically added to the user’s personal calendar. If no due date/time is specified, the task simply appears in a “To Do” list next to the calendar when in calendar view. Similarly, appointments and events added to the calendar appear in the user’s Tasks list.
* 2. Each user has the option of checking/marking a task as complete from either the task view or the calendar view. When a task is completed, it is automatically removed from the calendar view. Completed tasks remain in the task view, but appear in a gray/light font instead of black.
* 3. Users should also have the option of creating a repeating task (like creating a repeating calendar event). Users should be able to mark the task complete on any given day and have it disappear from the calendar for that day without removing future instances.
* 4. Personal user calendars/tasks should be private, but all user calendars/tasks should be visible to manager and admin level users.
* 5. Managers/Admins should be able to reassign a task from one user to another, leaving a “Task reassigned to YYY by XXX” message in the original user’s Tasks list and a “Task assigned by XXX” message in the new user’s Tasks lists. (Particularly necessary if a member is sick, or leaves, or is just too overwhelmed to complete everything.)
* 6. Managers/Admins should be able to create and assign tasks to other users, to be added with a “Task assigned by XXX” message in the user’s Tasks lists.
* 7. Any user should be able to request a task to be assigned to them or someone else. The task would then be sent to the manager and the desired user. If the desired user or the manager OKs it, then the task is automatically added to the requested user’s list & calendar. If the task is turned down, a message is returned to the requesting user.
* 8. Finally, when any task or appointment is created on a personal list or calendar, there is a checkbox option to “Add to group calendar”. This would add it to the group calendar, but the submitting user should retain rights to that event/task, including the abilities to add, remove, edit, and mark as complete. The group/company calendar should be color coded.

While all of these functions are linked, I expect it’s likely that some things (like the task request, or submission to the group calendar) can be accomplished through another module. I know this probably is not a simple request, but again any help at all would be greatly appreciated!

Thanks in advance!

Comments

tlynnec’s picture

P.S. Thanks for moving this WorldFallz

WorldFallz’s picture

you're welcome ;-)

All of what you describe is definitely doable, but you're not going to find 'a module' for it. Drupal is like a set of legos and you'll need to assemble all the pieces and connect them together to get what you want.

I don't know what modules you've already investigated, but you'll want to start out with views, cck, date, and calendar. You also mention a group calendar, so you'll probably want to checkout the og modules as well. For tasks there's a couple of modules or you can just create your own 'task' content type with whatever fields you want. You might checkout the casetracker module also.

In fact, you might want to checkout openatrium.com -- it's a drupal distribution for intranets that already includes much of this functionality.

tlynnec’s picture

thanks!

I am actually using Open Atrium already, since it has the group calender and whatnot set up. I'll try some of the other modules you suggested as well. Thanks for giving me somewhere to start. I'll be back for more advice, I'm sure :p