Implement an internal messaging feature:
http://www.opentaps.org/docs/index.php/Internal_Messaging
configuration options:
http://www.opentaps.org/docs/index.php/Setting_up_Internal_Messaging
Some thoughts:
1. Create a new CommEventTypeId = "INTERNAL_MESSAGE"
2. Use status "Entered" for new and "Completed" for read
3. Create PartyHelper methods isInternalMessageSender and isInternalMessageRecipient methods to return whether the userLogin can send the message and to whom he can send it to. This is because this might be changed later.
4. Use ajax to check for new messages and update the number of new messages.
5. Open an overlay window to display the view message and send message box, similar to the way the jscalendar now works in opentaps.
6. When the user wants to view all his messages, go to a separate screen in which uses the same styles as the "Profile" link. This should essentially be a screen in My Profile.
7. Create a new opentaps-common ContextHelpResourceSeedData.xml file to link the "See my messages" screen to:
http://www.opentaps.org/docs/index.php/See_My_Messages
Logged In: YES
user_id=1690487
Originator: NO
View layer components of the header implemented in r. 7230 and 7231
- Checks opentaps.enableInternalMessaging and opentaps.internalMessageCheckFrequencySeconds in opentaps.properties every 5 minutes, disabled by default
- Currently calls dummy method AjaxEvents.getNewInternalMessagesJSON() which generates 0-15 random messages
- 'new messages' and 'send message' links point nowhere
Logged In: YES
user_id=1911822
Originator: NO
I ended the functions in the Party class: isInternalMessageSender and isInternalMessageRecipient. r 7249.
I begin the different screens to view and send Messages. r 7250.
TODO:
Create various services which handle:
- sendMessage
- getMessages (with filtering options)
- finish the different screens
Logged In: YES
user_id=908761
Originator: YES
Oleg, Could you pick up this task?
Logged In: YES
user_id=1911822
Originator: NO
There is two services:
opentaps.sendInternalMessage and opentaps.receiveInternalMessage which should be used to send and receive internal messages now. r 7272
Logged In: YES
user_id=1847466
Originator: NO
Refactored send message screen. I think it should be separated but is part of myMessages for a while. Added parameter partyIdToAsString to service opentaps.sendInternalMessage. List of addressee may look like in any email client: Oleg Andreyev<oandreyev>; Demo Sales Manager <DemoSalesManager>, DemoSalesRep1. Parameter partyIdFrom made optional. We can take sender id from userLogin. I think we should remove this parameter, ability send message from another's name may be dangerous.
Logged In: YES
user_id=908761
Originator: YES
Oleg,
Since we probably will not be a complete this feature prior to the 1.0 release, I am reducing its priority to 3. some of the issues that I had seen while trying were:
1. the number of messages should only include communication events of the type internal message. E-mail should not be counted as new messages.
2. There should not be a subject field on the form to create and send messages.
3. The send and cancel button should be below the message text body where it is expected, not to the upper right-hand corner.
4. the help link on the messages page should be the same help icon as the rest of the opentaps pages, and it should lead to the opentaps documentation wiki site by configuration of the ContextHelpResource table.