May 20, 2015 11:28 am
Here is an illustration of application messaging in Infor Smart Office to send, broadcast, and receive messages, and process responses between applications in Smart Office, whether in scripts, Mashups, or other entities.
The Infor Smart Office SDK Developer’s Guide has Chapter 19 Application messages, and the Smart Office SDK help file has the API reference for Mango.UI.Services.Messages.ApplicationMessageService:

Note: For more information on the Smart Office SDK refer to my previous post.
Here are some examples of sending, broadcasting and receiving messages, and processing responses in Smart Office scripts; the other party in the communication can be another script, a Mashup or another entity in Smart Office.
To send a message and process the response:
import Mango.UI.Services.Messages;
package MForms.JScript {
class ApplicationA {
public function Init(element: Object, args: Object, controller : Object, debug : Object) {
// send message
var message: ApplicationMessage = new ApplicationMessage();
message.Sender = "ApplicationA";
message.Recipient = "ApplicationB";
message.Parameter = "Hello World";
var response: ApplicationMessageResponse = ApplicationMessageService.Current.SendMessage(message);
// process response
response.MessageStatus;
response.Result;
}
}
}
To receive a message and return a response:
import Mango.UI.Services.Messages;
package MForms.JScript {
class ApplicationB {
public function Init(element: Object, args: Object, controller : Object, debug : Object) {
ApplicationMessageService.Current.AddRecipient("ApplicationB", OnMessage);
}
function OnMessage(message: ApplicationMessage): ApplicationMessageResponse {
message.Sender;
message.Recipient;
message.Parameter;
var response: ApplicationMessageResponse = new ApplicationMessageResponse();
response.MessageStatus = MessageStatus.OK;
response.Result = "Bonjour";
return response;
}
}
}
To broadcast a message (there is no response):
import Mango.UI.Services.Messages;
package MForms.JScript {
class ApplicationC {
public function Init(element: Object, args: Object, controller : Object, debug : Object) {
var broadcastMessage: ApplicationMessage = new ApplicationMessage();
broadcastMessage.Sender = "ApplicationC";
broadcastMessage.Recipient = "GroupX";
broadcastMessage.Parameter = "HELLO WRRRLD!!!!!!";
ApplicationMessageService.Current.SendBroadcastMessage(broadcastMessage);
}
}
}
To receive a broadcasted message (there is no response):
import Mango.UI.Services.Messages;
package MForms.JScript {
class ApplicationD {
public function Init(element: Object, args: Object, controller : Object, debug : Object) {
ApplicationMessageService.Current.AddBroadcastRecipient("GroupX", OnBroadcastMessage);
}
function OnBroadcastMessage(message: ApplicationMessage) {
message.Sender;
message.Recipient;
message.Parameter;
}
}
}
Here are some examples of sending, broadcasting and receiving messages in Smart Office Mashups (there are no responses); the other party in the communication can be another Mashup, a script or another entity in Smart Office.
To send a message (there is no response):
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ui="clr-namespace:Mango.UI.Controls;assembly=Mango.UI" xmlns:mashup="clr-namespace:Mango.UI.Services.Mashup;assembly=Mango.UI"> <Button Name="BtnMessage" Content="Send" Width="150" /> <mashup:ApplicationMessageControl Name="test"> <mashup:ApplicationMessageControl.Events> <mashup:Events> <mashup:Event SourceName="BtnMessage" SourceEventName="Click" TargetEventName="Send" Debug="True"> <mashup:Parameter TargetKey="Sender" Value="MashupE" /> <mashup:Parameter TargetKey="Recipient" Value="MashupF" /> <mashup:Parameter TargetKey="Parameter" Value="Hello World" /> </mashup:Event> </mashup:Events> </mashup:ApplicationMessageControl.Events> </mashup:ApplicationMessageControl> </Grid>
To receive a message (there is no response):
<Grid xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ui="clr-namespace:Mango.UI.Controls;assembly=Mango.UI" xmlns:mashup="clr-namespace:Mango.UI.Services.Mashup;assembly=Mango.UI"> <mashup:ApplicationMessageControl Name="test" Recipient="MashupF"> <mashup:ApplicationMessageControl.Events> <mashup:Events> <mashup:Event SourceEventName="Received" Debug="True"> <mashup:Parameter SourceKey="Sender" /> <mashup:Parameter SourceKey="Recipient" /> <mashup:Parameter SourceKey="Parameter" /> </mashup:Event> </mashup:Events> </mashup:ApplicationMessageControl.Events> </mashup:ApplicationMessageControl> </Grid>
To broadcast a message:
<mashup:Event...TargetEventName="Broadcast">
To receive a broadcasted message:
<mashup:ApplicationMessageControl...BroadcastRecipient="Everyone">
Here is an illustration of messages going in all directions between scripts and Mashups:

The ApplicationMessageService API has more methods and properties available:
Refer to the SDK documentation for more information.
That’s it. Please like, comment, share, follow, contribute.
Posted by thibaudatwork
Categories: Infor Smart Office Mashups, Infor Smart Office Scripts
Tags: Mashup, Script, Smart Office
Mobile Site | Full Site
Get a free blog at WordPress.com Theme: WordPress Mobile Edition by Alex King.
HI
If I create Broadcast Mashup then How can we Release all user computer??
Debugging mode is not working on release mode.
Please help me.
LikeLike
By Chaitanya Shah on October 16, 2015 at 12:06 am
Hi Chaitanya. What do you mean by “release all user computer” and “debugging mode”? What exactly are the requirements for your Mashup?
LikeLike
By thibaudatwork on October 16, 2015 at 9:18 am
Hi thibaudatwork,
Thanks for your Responce,
we have ISO 10.2 Version in that Infor has Stop services of Broadcasting Message.
So I want to create mashup for Broadcasting send Message to All users.
And Above example working on development side.
How can I create it??
LikeLike
By Chaitanya Shah on October 16, 2015 at 8:31 pm
I didn’t know there was a Stop service in the new version. I haven’t used it; I’m afraid I can’t help you. Did you check the Smart Office SDK documentation?
LikeLike
By thibaudatwork on October 17, 2015 at 11:11 am
[…] Application messages in Infor Smart Office […]
LikeLike
By Site map – M3 ideas on May 9, 2017 at 12:25 pm