I'm planning to develop an module that allows users to manage assignments/tasks. I don't have a very succinct description of what I want to do, so I'll explain my motivation: I manage a website for my class at university, and I want to come up with a way to integrate assignment due dates into our website. "Assignments" will be a bit like events, but with only one date field (the due date).

Students in my program take a lot of core courses, but I also want to handle courses that are only taken by some students. My plan is to have users select their courses in their profile, so that they only see their own assignments. I want to make a block listing "This Week's Assignments" for students; assignments may show up in the calendar too. Users posting events would be required to include the applicable course so that the module knows which assignments to display to which people.

Even though I'm developing this module for my situation, I'd like to hear if anyone else things something like this would be useful to them. I'd be happy to design the module in a more general way, and incorporate some other features. That being said, I'm not going to make a module that suits everyone's needs. For example, I'm not planning to make something as big as the proposed Gradebook module.

If I have the time, I'd also like to make the "This Week's Assignments" block into a ToDo list, preferable one that works with AJAX. Each assignment in the list would have a checkbox. I'm not very familiar with AJAX and Drupal, so I don't know how feasible this is.

While I'd appreciate suggestions about the whole thing, I have a few issues I'd really like advice on:

  • AJAX ToDo list: any ideas at all
  • Helper modules: What modules/APIs should I be using to make my life easier? Flexinode? Views?
  • Categorization: Should the course selection be done with an existing taxonomy/category module, or be done right in the module? Users need to be able to pick their courses, and the course field needs to be mandatory in "assignment" nodes.

My goal is to get something working by the end of August. I'll likely work on other pieces after, especially after getting feedback from people using the site. If you're interested in using, testing or developing something like this, let me know.

Comments

venkat-rk’s picture

You might want to start by taking a look at the exisiting task list module. It is a module for a totally different context to yours, but no point reinventing the wheel for exisiting features.

Parksy’s picture

Funny I hadn't managed to come across that yet. My search skills must be lacking.

I'll take a look at that to see what similarities there are. Thanks for pointing it out.