Round Robin / Hunting Assignment Queue for individual users or groups

Events happening in the community are now at Drupal community events on www.drupal.org.
rpfilomeno's picture

Introductions:
Hello and welcome everyone again to GSoC, and again ill be mentoring this year! Im starting early this year because I was last year and didn't do any major role :D

My name is Roger Filomeno from Philippines, I do a lot of IT consulting for Banking/Finance, eCommerce and Telecoms -- and using Drupal is my top recommendation for any web project.

Personally I'm a fun loving person, loves Italian/Japanese foods and lots of coffee and tea. My hobbies includes playing MMORPGs and reading for now -- changes often these days coz I'm trying out new hobbies!

Here is my proposal and its currently looking for a student and co-mentor; hope you like this and join up for an awesome SoC.

Overview:
There are a lot of companies that needs process management such as news sites or publishing in general; IMHO is Drupal provides the best solution for this need by leveraging on modules actions, triggers and/or use of the highly robust workflow module.

However there is one key element that is still missing which is the ability to allows users create queues similar to nodequeue but it geared towards assigning actions a user needs to perform on a node like publish, edit, execute a trigger, etc. People working with customer support services or sales would probably related to this as the call queue; wherein when an incoming call rings a specific group of local extensions one by one by predetermined number of seconds until someone picks it up – this is called a round robin-queue. A better implementation would the use of the hunting method, where the person who has most not recently accepted a call will receive the call first then the next least recent and so on.

This same process can be applied to nodes as well such as when your a group of users moderating incoming submissions, i found this very useful especially if the process needs to be in real time such as moderating questions submitted online during a live event for the speaker, sales inquiries, sorting through reports during disasters, etc.

Draft Specifications:
1. Integrates at least with actions triggers, working with workflow a plus.
2. Can create a queue and assign users or group. Can set the order.
3. Can assign predetermined operation on view (a plus if it works with Views) eg: click to publish, change state, trigger a related action (no need to go to edit)
4. Required Round Robin assignment mode, option to specify time interval before it is reassigned to next user on queue if no operation is done by current assignees.
5. Optional Hunting mode, option to assign to user with least number of assignment or fastest to finish (same time interval apply).
6. Should work

Background:
* Original request - http://groups.drupal.org/node/17053

Difficulty Rating: Medium (but may be long, depending on number of module integrations)

Fun Rating: AWESOME

How does your proposal meet the stated goals of the Knight Drupal Initiative program?: 

This project is very useful for creating a process management using Drupal, its is very useful across all industries especially to digital publication (goal 2 target).

How long will your project take to complete?: 

Roughly 37 days estimate for a mid level Drupal module developer (has module integrations)

How will you implement and distribute your project?: 

Draft TBD: Looking for student / co-mentor

What is your total budget estimate and how much funding are you requesting: 

Draft TBD: Looking for student / co-mentor

Comments

SoC-worthy

dmitrig01's picture

This may be a good idea, however
1) it seems like too small of a project
2) it's in KDI-format. You don't look for funding. If you would like to mentor, you're not going to get any money. So you sholud decide whether you'd rather do it as a KDI project or as an SoC project.

KDI

alex ua's picture

We should see if we can either remove the 'Proposal' content type from this group, or, if it's not being used any more, re-purpose it for the GSoC since the KDI isn't really happening atm (as far as I know).

Alex Urevick-Ackelsberg
ZivTech: Illuminating Technology

Its for SoC but it seems i

rpfilomeno's picture

Its for SoC but it seems i cant post it without KDI fields filled. I might be missing something here coz i cant tag it as well. Hmm. But for clarification this is for SoC coz i have ties to a local Google Technology Users Group and i might strike a deal to get members to give Drupal community a try ^_^

The proposal needs refinement, i havent decided yet if it will be mainly based on Nodequeue, workflow, or node moderation extension. It needs all these modules' elements, so it does means integration via its own API unless there's an existing one that has a similar scope so please point me to it.

Actually im thinking of process management module itself, but it could be too big for SoC (specs based on Processmaker) but ill try to write something about it later and see.

I am interested to contribute.

srajesh42's picture

This idea is really exciting. I would love to contribute in developing this module.

Introduction:
I am Rajesh Somavarapu doing my under-graduation pre-final year at BITS Pilani- Goa Campus, India.

I am new to Drupal and presently going through the code base and am liking the Drupal CMS. I have experience in PHP and MySQL. I have done projects like Online Notice Board and contributed to the Placement Website of our college.

In the last semester I have studied the Linux kernel process scheduling algorithms, so I have knowledge on Round Robin scheduling.
Thats why this project caught my attention.

Any suggestions on how to proceed further?

Hello Rajesh

rpfilomeno's picture

Hello Rajesh,

First of all register as a student at http://socghop.appspot.com/gsoc/student/apply/google/gsoc2010

Secondly if this is the first time you joined SoC then you may want to browse the FAQ page to get a starting idea of what's SoC is at http://socghop.appspot.com/document/show/gsoc_program/google/gsoc2010/faqs

Third, brush up on Drupal. Preparing your project development stack is a good start including your CVS (try unfuddle) and setting up your IDE; i use Eclipse + FireFox + FirePHP + FireBug for Drupal (https://addons.mozilla.org/en-US/firefox/addon/8370)

Finally... Get involve, discuss ideas with other Drupal SoC proposal and have fun :)