We're on a bit of a tight deadline with a project and was hoping someone could point us in the right direction.
Background
We're about to run a major table top exercise with multiple geographical locations involved. This exercise will involve "moving" hundreds of resources between these geographical locations in "real time".
We are going to use the database module to track these resources.
The majority of resources will be moved from either of two locations to any one of four locations. A person will be logged in at these six locations for the duration of the exercise.
The operators at the two initial locations will upgrade the database entry with the location the resource is en route to and the estimated time of arrival of the resource at the new location. He or she will then hit a button on the database update (edit) screen to email the specific location the resource is heading to.
The operator at the location the resource is headed to, on receipt of this email, needs to then collect relevant data on this resource from the database module, transfer to a fridge magnet and put this magnet on a board at the location at the time the resource would arrive if moving for real.
At times, due to "traffic congestion" etc. that the exercise control people will through into the mix, some of these resources will have to be rerouted and therefore, the initial location needs to be notified the resource is no longer headed their way and the new location will need to be notified the resource is headed their way.
Due to the amount of resources, all such notifications (en route and rerouted) need to be acknowledged by the operator at the relevant location to ensure nothing slips through the cracks and if it does, track where the systems fails (as in the system the exercise is designed to test, not computer system).
Again, due to the amount of resources, the operators at the four destination locations are going to be under pressure and won't have time to sit there hitting "refresh" in their browsers to see if they have another one heading their way, which is why we decided to email them.
What we've done so far
We've added a button to email the notification from the database module.
This is sent to a given email address based on a field in the database (i.e. an "en route to" field). The email includes a link to the relevant database entry which is tracked in the background when the operator clicks it.
Once the initial notification email has been sent, this button changes to a "reroute" button which if hit then sends two emails (one to the original notifying resource is no longer on it's way there and another to the new destination location telling the operator the resource is en route)
Issues
We have no control over firewalls and available email accounts at the destination locations therefore, tried setting up email accounts for the various locations with the intention of using Thunderbird portable as the email client at the locations (as it has a new email notification similar to Outlook) - gets blocked by firewall at our location, likely to at others.
Tested it using Yahoo email accounts - not much point as there is no automatic new email notification so might as well hit refresh in the browser on the database screen.
When the operator at the receiving location clicks the link in the email to acknowledge receipt, it opens another window containing the relevant database entry (could end up with 200-300 screens opening!).
**** Help required (point of this post) ****
Probably due to not having the message block showing in the course we are running this exercise from, we seem to have overlooked the obvious - the inbuilt messaging system!
Hooking into the inbuilt messaging system would be the ideal solution.
What we're thinking now is the "notification email" button that we've already added to the database module should in fact send an internal message to the relevant operator rather than an email to an external email address. This would then give us the popup box at the destination location ensuring the operator gets a notification message we can track.
So what we'd like is:
- hit the "notification button" on the database entry edit screen
- a template message (either resource en route or the rerouted emails as mentioned above) is then sent to the relevant operator (i.e. "student")
- message pops up at relevant location
We are just about to start looking at the messaging code to see if we can achieve this. We are not Moodle developers and not experts in PHP/MySQL either.
So the question is, is there anything in particular we should be looking at (existing functions, classes, libraries etc.) within the existing message/Moodle code that we can hook into?
-------
Sorry about the long post but I thought some background knowledge would help you help us
Any pointers and insights into the code that would help us achieve our aims would be much appreciated.
Regards
Harry
just a shame overnight the automatic popup stopped "popping up" 