How to create a Start Pad Mashup

Let’s be honest. The Navigator is the entry point to all applications but advanced users write in the short name of the form like HR11 or MMS001. But what if you don’t know what to search for?

The administrator can prepare a canvas for you with all the necessary shortcuts… or what if you had a Start Pad with the functions you use the most?

I’ll show an easy way to do two different kinds of start pads. The mashup project can be downloaded from my SkyDrive.

Let’s start with the Procurement Start Pad. It is based on buttons with icons. The icons are included in the mashup project as resources.

<Button Name="LateOrders" Height="76" Width="112" Grid.Column="0" Grid.Row="0" Margin="16" IsDefault="True" Style="{DynamicResource styleButtonPrimaryMashup}" ToolTip="Late orders">
    <Button.CommandParameter>
        <mashup:Events>
          <mashup:Event SourceEventName="Click" LinkUri="mforms://PPS220" />
        </mashup:Events>
      </Button.CommandParameter>
    <Image Margin="6" Source="Icons\alarm128.png" />
</Button>

The LinkUri can be any link, for example a M3 bookmark or an enterprise search that will bring out all late orders for the current user. The button style ‘styleButtonPrimaryMashup’ is available in the framework but you can use your own styling so the sky is the limit here.

The resulting example looks like this:

This new control is available in the first version of the Mashup designer. There is also another control that you can use that has a different approach. It uses the idea that everything you can launch is a Task. The example can be found in the TileMashup.xaml file.

In the Tile example a new control is introduced, TileShortcut. It’s kind of a draft and does not support styling but it does have the option to show a rather fixed sub menu with subtasks. This way it is possible to group a number of tasks under one icon. In the example I used icons that are packed with LSO but you can just as well link in your own images by adding them as resources as in the previous example or have them as URIs. I would recommend you to pack the images with the mashup so that they don’t get downloaded but are deployed with the mashup.

Please note that the icons that are packed with LSO might be removed (or moved into a separate feature) in coming versions. They are available in version 9.1.2, 9.1.3, 10.0.0 and 10.0.1. But you will use them at your own risk since they are not officially documented.(Edit 2013-March, the icons are inlcuded up until version 10.0.5, but they will not be available in higher versions).

You have to add a namespace mapping to xmlns:core=”clr-namespace:Mango.UI.Core;assembly=Mango.UI”, then you can use the Task class.

<mashup:TileShortcut Text="To Do" Margin="300" ImageSourceRest="pack://application:,,,/Mango.Skin;Component/Resources/FrogPond/Images/Shortcuts/Icons/todoDefault.png" ImageSourceDisabled="pack://application:,,,/Mango.Skin;Component/Resources/FrogPond/Images/Shortcuts/Icons/todoDefault.png" ImageSourceHot="pack://application:,,,/Mango.Skin;Component/Resources/FrogPond/Images/Shortcuts/Icons/todoRollover.png" ImageSourcePressed="pack://application:,,,/Mango.Skin;Component/Resources/FrogPond/Images/Shortcuts/Icons/todoRollover.png">
<mashup:TileShortcut.Tasks>
  <core:Task>
  <x:Arguments>
        <x:Uri>sforms://HR11</x:Uri>
        <x:String>Employee</x:String>
    </x:Arguments>
  </core:Task>
</mashup:TileShortcut.Tasks>
</mashup:TileShortcut>

If there is only one task then that task will be launched when the user clicks an icon. But if there are multiple tasks a Popup will show a list of the containing tasks.
This is the result.

And with a submenu.

Don’t forget that it is possible to pin any running program to the TaskBar so that it is available the next time you login.

2 thoughts on “How to create a Start Pad Mashup

  1. Frode

    Nice work Karin!

    I would like to be able to embed Jscript in a Mashup.

    I have a Jscript that collects credit rating info from external web-service.
    Credit management would like to have a mashup that takes all interesting fields from CRS610/E -I -J that has to do with credit management. And in addition run my script from the mashup to find external credit rating and update the I and J panels.

    Any way to do that?

  2. Karin

    Hi,
    I had to check around for the answer to this one. I tought it was possible but it seems like scripts are only run on detail panels when they are shown in standard mode. This means if you have selected fields or if you are running in custom mode no scripts are executed. The reason was that the panel is so modified so that existing scripts attached to those panel will probably not work. This is something we might change if there are many requests for it.

    Another way to do it would be to create your own mashup control. You would need to create a feature that contains your control. In your control you can use M3 APIs and call your external Web Service. This requires the fields to be accessibles through APIs and creating a mashup control is a little more job but learning how to do your own mashup control would open up a new world of possibilities for your solutions.

Comments are closed.