In order to satisfy customer requirements, we will need to let users exchange information among each other. The ‘messaging system‘ does not have sophisticated back-end requirements and could be easily implemented with a few tables to store messages and message types.
The problem is that I believe that the requirements on the front-end are very high and usability is very important. In addition I expect this communication’s part to become an important part of the system in the long run.
Is there anything that can be directly integrated into a Java web application and adapted to the application’s design? What we need is the following interface
From service layer:
- send message to user (header, subject)
- reply to a message
- notification on new message in user inbox (if possible: on current page)
- interface to existing user management
Preferably, the component should already have a front-end with the following functionality:
- message management (select, remove, reply, delete/restore, …)
- folders: inbox, sent, trash
- tagging: message categories
- show last x messages in a panel/div
- styling to look like the application
If there is something reasonably stable, I would prefer using a component before implementing something like this into the application. The application runs on Wicket, but we are not tied to this framework for the messaging component.
Thank you,
Kariem
In portal servers, you have the flexibility to add portlets that could do something similar to the component I am looking for; e.g. Liferay provides mail and message boards portlets.
As akf points out in a comment Jabber provides a solid basis for messaging. We are looking for something that can be integrated into a web application. If we have to build a lot of UI around Jabber, we cannot really consider it a good fit for our requirements.
Ok, it may be a bit surprising but what about giving the Google Wave a try ?
If I review your criteria :
It can be as you will discover on this mini-tutorial : http://blog.zenika.com/index.php?post/2010/01/27/Google-Wave-Embedded-API-the-missing-tutorial (how interesting isn’t it ?)
Everything but the last point is offered by the Google Wave instance. The last point may be a bit harder to solve as you will require that all of your user have a googlewave account. Managing those accounts may become available through Google Apps, but atm it’s not feasible. If it’s absolutely mandatory you could plan to have your own instance since it is an open protocol but your goal was to have something already done for you, right ?
Great, all of this is ok with the Wave.
Ok Wicket is so trendy, you should love this solution 🙂
I acknowledge that is a bit ‘avant-gardiste‘, I have never done such a thing myself but thought it could have broaden your vision as regard to your problem…