With Phones, Instant Messaging, and email all being mashed together, there is a missing business tool. It’'s small and simple. Check-in Check-out management from a central location. Most businesses has a sign in - sign out board. Some are old school systems such as a dry eraser board bolted next to the door. Others have some standalone software.
Web page, where Administrative Assistants or Receptionists can make changes an behalf of other users.
When changes are made from the web manager, the users status is changed on the users Spark client.
All of the “how to” code is in the Asterisk plug-in. It could be stripped down and a checkinout plugin could be created.
I’'ve hacked a prototype in php using the jabber.class.php that changes the users presence info to all users except the user we a changing the status of. This was very easy.
The only problem is, when the user comes back from a meeting or lunch they don’'t know that they have been checked out. For the user that was remotely signed out, spark does not poll the server for their status since, spark is the place where it is set.
I notice that the Asterisk plug in changes the users status when they are on the phone.
Lets just talk about the Spark side right now.
In Spark we have a plugin that gets the info from the central system for the logged in user. We will need some logic so that we don’'t over ride the settings set by the user, unless we know we want to make the change.
If change on central server in last 2 minutes for my username then change my spark status.
If True, then change my status in spark (just like asterisk on phone does) to what ever is on the central manager server. If false don’'t do anything. The plug in could pull for changes every 2 or 5 minutes. Just like a rss reader.
I like the idea of using REST for pulling the information. This way we can very simply also pull information from calendar programs like Zimbra, Google Calendar, or dotProject if we really wanted to get fancy. But for now we could create a simple java page or php application that can be the central manager.
This is a bit rough, I was making this up in my mind and typing at the same time.
If you are interested in participating in a project like this. Please let me know. I know how to do some parts, but I’'m very busy working on a few Zimbra Zimlet Mashups and would like to share the workload or even pay someone else to do it.