The most common way to extend the functionality of M3 panels in MForms is to use JScript files but there are other options such as Script assemblies and MForms extensions. With Script assemblies you can write code in most languages supported by .NET such as C# and VB.Net and you can actually debug your code using Visual Studio. Instead of deploying the script as a JScript file you use a .NET assembly in the form of a DLL file.
Tag Archives: Smart Office
ClickOnce installation in Chrome
It is easy to install Smart Office, and you can read more about ClickOnce in this blog post.
If you want to enable ClickOnce in Chrome follow the instructions in this post. Continue reading
Connecting a Mashup to a role or user in 10.0.5
In Smart Office 10.0.5 we introduced support for connecting Mashups to roles. This is something that we should have implemented from day one but there are a few reasons why we haven’t. First of all Smart Office is a platform for different applications, we did not want to create yet another custom tool where you manage and create LSO roles. M3 have their roles, S3 has there roles, roles are related to Security and there is another team who handles Security. We were pushing for a common solution for Lawson. The Smart Office server has moved to the Grid (9.1.3).
Authentication is handled by the Session Provider in the grid and in the grid it is possible to connect users to roles. The session provider can be connected to for example IFS, Infor Federated Services, were you set up claims and claim rules. Continue reading
Configuring Navigator Widget (and others) with default values
In this post I will show you how you can configure the Navigator widget so that the favorites tab is opened by default. Continue reading
Tooltips with MI data in M3 lists
A script requirement we recently heard of was to be able to show tooltips on cells in a M3 list and that the tooltip value should be retrieved using a MI-program. The specific requirement was to get the user name for list columns that contains M3 user IDs. The idea is to use this in M3 lists where the user ID is shown in a column but the user name is not part of the list. Continue reading
MIListPanel with Open Event
In this post I will use a MIListPanel in order to list customers and then add an open event that will open CRS610 for the selected customer.
I’ll start by getting the Bookmark for the program I want to open on the double click in the list.
1. Start the program and select to create a bookmark on the canvas.
2. Open the shortcut and make a copy of the URL. 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.
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
Personalizations in M3 – Manager
A few days ago I wrote about Personlizations in M3. What I forgot to mention is the Personalization Manager in M3. It’s an admin tool for managing personlizations for users and groups and for different servers installations. This is the tool to user for moving personlizations around, for example from a test environment to a production environment.
Formatting dates and numbers in a Mashup
Lawson Smart Office comes with a set of converters developed for making formatting issues easier in Mashups. Much formatting can be done using StringFormat and this is standrad WPF. But if you want to use the M3 user’s format or if you want to surpress Zero there are converters that we have developed for you. Continue reading
Selecting the first row in a M3 list to trigger CurrentItemChanged
When you have a M3 list in a Mashup a common scenario is that you would like to have the first row selected so that any dependant mashup control can react to CurrentItemChanged.
This is for example a scenario when you open the Mashup from a panel with JScript so that you pass in a Customer id, CUNO. You want to load related information right away. This requirement is something that we will consider for future versions to have an option to say, ‘select first line on startup’.
But until then there is a workaround that involves using a JScript to set the selected item in the list. I’ll do an example with a mashup that loads CRS610 and reacts to CurrentItemChanged to load related data in a MIPanel. Continue reading
Connecting a S3 form with Landmark Application Data
I’ll show you how easy it is to create a Mashup that connects a S3 Form and data from Contract Management, a Landmark Application. In Lawson Smart Office 9.1.2 we introduced three new DataService controls; the DataPanel, DataListPanel and DataDetailPanel.
In the first version we added support for making REST http calls to web services as well as making M3 API Calls. In 9.1.3 we added support for a Landmark DataService. If you like to implement and plugin your own DataService as part if using LSO SDK that is as simple as implementing an Interface (IDataService) and registering your service. Continue reading

