Tag Archives: Mashups

Custom list templates in M3 Mashups

Support for custom list templates in M3 Mashups was added in Smart Office version 10.0.3. The requirement was to be able to display lists in a more compact way, similar to a card view list. The settings dialog for the M3 ListPanel control now have the option to choose two different List styles called Standard and Template. The Template List style lets you to create a custom list template that defines how the list rows are displayed in the list. Continue reading

Using date bookmark keys in M3 Mashups

This post describes some of things you need to be aware of when building a Mashup using bookmarks that have dates as part of the primary key. The first part is a rather long discussion of why things are the way they are but if you’re just interested in how to get things working you can skip this and jump to the second part directly. Continue reading

Using JScript and a Mashup to browse for values on M3 panels

The goal of this post is to show how JScript and Mashups can be used to extend the browse functionality in M3. The idea is simple, instead of using the M3 Browse dialog to find a field value on a panel a custom built Mashup is used instead. The Mashup can use M3 panels with Enterprise Search, data services and all the other Mashup controls to improve the browse experience for the user.

The solution consists of two parts, a generic JScript and one or more browse Mashups. The browse Mashup is started using a button or a keyboard shortcut, the user selects something in the Mashup and then one or more values from the Mashup are used to update fields on the panel. The rest of the post will cover a simple browse Mashup and the important parts of the JScript. Continue reading

Calling a Web Service using WS and REST Data Services

In Lawson Smart Office 9.1.3 we introduced the REST data service for mashups. In version 10.0.0 we introduced support for SOAP based web services. In 10.0.1 we introduced some new configuration options that will help you to connect to the web services out there.

There are different options available when consuming SOAP web services in Mashups.

1. Data Service and WS
2. Data Service and REST
3. Process Server with TriggerPanel Continue reading

Calling M3 APIs in JScript on a Background Thread

In 9.1.3 we introduced a generic support for running any M3 API without having to create WS Stubs. If you are on a previous version you can still call a web service but it requires much more work including the use of Smart Office SDK. All calls to M3 APIs have to be done on a background thread!

There is simply no excuse for doing this the incorrect way. If you call the web service on the UI thread the entire UI will freeze for the time period that the call takes. In normal cases this will not be noticable but that does not matter. No calls to other servers on the UI thread.

Continue reading

Triggering a Work Flow in Process Server from a Mashup

In Lawson Smart Office 9.1.3 we introduced the TriggerPanel control. It is a Process Server control that can be used to trigger a form in a asynchronpous way. There is no return value from the call except the workitem id generated from Process Server. But it is still an easy way to create a form and submit an action to trigger a flow.

You can think about the TriggerPanel in two different scenarios. One where you have a standrad form and a submit button to trigger the flow and another scenario when there is a trigger of the form in response to another Mashup event, for example the loading of an S3 form. Continue reading

Enable a button on a selected item

A few days ago I wrote a post about how to use the generic property setter in order to set IsEnabled on a button. I got the question how to do it in 9.1.2. Unfortunately the M3List does not expose the CurrentItem property in 9.1.2 so for M3Lists I have no solution. But for lists using the M3 APIS (MIListPanel) and the DataListPanel you have the option of checking the SelectedValue of the list and use a converter that will change a not null value to true.

My example has a list of Countries and a button that will be disabled unless a row in the list is selected. Continue reading