March 14, 2018
By Vince McGowan, Senior Principal Software Engineer
The Lawson Info Browser widget available in Infor Smart Office is a powerful query tool that can be useful for displaying ‘exception data’ and/or charts, or simply to provide information necessary to do your day-to-day Lawson work.
This article will describe some of the technical details behind the widget, its relationship to the Smart Office canvas, and issues when considering whether to save a canvas that contains Info Browsers.
As a Smart Office user, you know that the content area or desktop area of the application is referred to as the canvas. You are likely also aware that you can have multiple layouts for the canvas to conform to the type of work you need to do. And assuming the system administrator has not restricted your ability to do so, it’s very easy to save a layout and to switch between the various versions you have saved.
The current definition for the canvas is stored in a file named ‘Canvas.xml’ found in the user’s ISO data Roaming folder. As the name implies, this folder contains all the data files that ‘roam’ with the user, making them available on any PC the user would connect to Smart Office.
As each widget is placed on the canvas, an entry is placed in the Canvas.xml file. When a canvas is saved by the user, it is given the extension ‘.jade’, however it’s content is XML and very similar to the Canvas.xml. Depending on the requirements of the widget, the entry in Canvas.xml can be simple or more complex. A simple example is that of the Lawson Data Area widget shown below. There are no user settings for that widget (notice the empty Properties node), so the only information necessary to preserve is placement information, which applies to all canvas items.
However, most widgets do provide user settings and must preserve those in the Properties node. Consider a canvas Shortcut that launches a Lawson form. An example of that is shown below. The properties available are: name, link, resourceKey (the name of the icon) and EnableSettings (can the user make changes).
Now consider the Info Browser and all its possible settings. Given its complexity, it can contain multiple table definitions, a chart definition, a varying number of columns with specific filter requirements, various criteria specifications and even possible user defined columns, the Canvas.xml simply is not structured to store all of that. So, unlike every other widget, the larger part of its definition is stored in an XML file on the Lawson application server.
Each time an Info Browser is placed on the canvas, in addition to creating an entry in the Canvas.xml file, a new uniquely named XML file is created in a user folder on the Lawson server. The Canvas.xml entry holds a reference to the application server file in its UniqueId attribute. Regardless of whether the user creates the Info Browser from the base widget definition or from a predefined widget, this separate file is created in the user’s data folder.
What about saving a canvas that contains an Info Browser? For an individual it is possible assuming you understand this dialog prompt you are given when removing an Info Browser from the canvas:
Typically, when creating multiple canvases, you only want certain Info Browsers available and you would remove the ones you don’t want before saving the next canvas. However, it is important to preserve the data file created in the user’s server folder so it can be retrieved when the canvas is re-loaded. When an Info Browser is removed from the canvas, so as not to leave ‘orphan’ files around, the server file is deleted unless you respond ‘No’ to this dialog.
If you have administrative access it’s possible to see the list of user Info Browser files on the server and even to view the file contents using the Lawson Personalization Manager.
It’s also possible to see the data view content from the Info Browser on the canvas. With focus in a filter field, press Ctrl+Alt+A to see the dialog below.
What about creating a canvas with an Info Browser and sharing it with other users? It is not possible.
By now it should be evident why. The saved canvas will contain a reference to a file in the folder of the user that placed the widget on their canvas. So, if another user loads the canvas the server file will not be found in her user folder and no content will be rendered.
Rules for sharing an Info Browser
- Don’t share a canvas that contains an Info Browser.
- Instead, publish the Info Browser as a Predefined Widget.
- Add and remove the Predefined Widget to the canvas as needed.
The reason these rules will satisfy the requirement to share an Info Browser is that when one is published, a copy of the user’s data view is saved to a ‘global’ folder (which also can be seen in the Personalization Manager), and each time a Predefined Widget is added to the canvas a copy of the global data view is added to the user’s folder with a new UniqueId.
One additional option for sharing Info Browsers and canvases: it is possible to save a shortcut on a shared canvas that will launch a predefined widget. It’s only necessary to know its Widget ID (or scheme). An example is shown below. In this example, you could replace “<Widget ID>” with “S3.Client.Excess.Vendor.Balance” (without quote marks).