Category Archives: Tips

My web application does not work in Smart Office!

If there is a web application that does not work in Smart Office there are a few know limitations and work arounds that you should be aware of. In this blog post I’ll cover some of the issues with web applications as well as some work arounds that you can try. Most of this information applies to Smart Client and Smart Office.

Knows issues
- Only web browser plug-ins that support 64-bit mode in Internet Explorer will work in Infor Smart Office when running on 64-bit. This is becuase Smart Office is a 64 bit application on a 64 bit machine and it will run the browser control as 64 bit.
- The default render mode for the Browser control is IE7. As more and more applications are HTML5 they will not work in the IE7 render mode.
- Focus is not maintained between WPF and the Browser control. This means that as you switch between native applications in Smart Office and web applications the focus in the web application will be lost. There is no focus support from Micrososft in a mixed environment. Even if there is a new Browser Control the control is still not pure WPF. Which leads us to the last problem.
- The z-index – web browser is always on top issue. When including a web browser in a WPF window it will always be on to of other content.

Internet Explorer in 64-bit mode

Only web browser plug-ins that support 64-bit mode in Internet Explorer will work in Infor Smart Office 10.0.5 and earlier. For example the Silverlight plugin only exists as a 32-bit plugin.

Note that as of Smart Office 10.1 the application has changed to be a 32-bit application on all operating systems so this should no longer be an issue.

Workaround for a demo would be to use a 32-bit OS. Another workaround would be to configure and use External Applications in the profile.

ExternalApplication

In External applications it is possible to define a path to Internet Explorer and pass in a URL. Defining an External Application will create a node under Other in the Navigator. In my example the resulting URL is ext://exe/?value=iexplore&parameters=http://www.infor.com.

Unfortunately IE will use a launcher process and then open the URL in an existing process or a new and Smart Office will not be able to find the window handle to the web page so it will not be visible in Smart Office toolbar. So this is more an external launch and you leave Smart Office. So there is no good workaround in place. The option to add external application links works best for applications that starts one process and keep that same process. This is not the case with Internet Explorer.

There are a bunch of command line switches that you can read more about.

In Smart Office 10.1 as we there is no upgrade support for previous clients we have decided to build the client in 32 bit for all platsforms. That means that all 32 bit plugins will work as of Smart Office 10.1.

Render mode

The default render mode in Smart Office is IE7. This can be verified by opening http://www.whatsmyuseragent.com/.

useragent

This render mode works well for old web applications like M3 IBrix but not with the UX3.0 Infor HTML5 controls for web applications. It does not matter if you have IE 8, 9 or 10. The default render mode for the Browser control that Smart Office uses is IE7. Specifying a tag is supposed to force the Browser Control to use a different rendering engine, but that only seems to work if the page hasn’t been launched by another window (window.open). You can try and add these meta tags if you have access to the application.

<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="X-UA-Compatible" content="IE=9">

The work around that will always work is to add a registry setting for the LawsonClient.exe that all browser content should run in a specific render mode. Note that this will affect all applications so if you have some applications that requires to be in compability mode and others that need to be in IE9 render mode you have to make a choice. There is only one setting and it is for all web content within Smart Office.

For LawsonClient.exe (Smart Office up to version 10.0.5) you should use:
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
SOFTWARE
Microsoft
Internet Explorer
Main
FeatureControl
FEATURE_BROWSER_EMULATION
LawsonClient.exe = (DWORD) 00009000

For Smart Office 10.1 the exe name is MangoClient.exe.

For Smart Office 10.1 (on a 64-bit system) you should use:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

On my 64-bit machine I added a 9999 for LawsonClient.exe.

registry3

Table with emulation modes for Internet Explorer on MSDN.

There is no current way to configure this via Smart Office but there are other ways for an administrator to change the registry on corporate computers.

You need to restart Smart Office for the changes to take effect.

Many Feature Control keys can also be controlled by network administrators by using Group Policy. When a group policy is modified, a value similar to the one above is written to the policy hive in the Windows registry. Because Feature Controls can be configured in multiple places, Internet Explorer will look for values in the following order of precedence:
- HKEY_LOCAL_MACHINE policy hive (administrative overrides)
- KEY_CURRENT_USER policy hive
- HKEY_CURRENT_USER preference hive
- HKEY_LOCAL_MACHINE preference hive (system default settings)

Focus is not maintained when switching between applications

Keyboard focus is lost when switching between native Smart Office applications and web applications. This is a known design deficiency in WPF’s focus management combinded with HwndSource / Web Browser. There is no workaround that will work for all web applications.

Web Browser always on top

In Smart Office all windows exist on the Canvas which is one window. Widgets can pop over windows and windows always have rounded corners. In Smart Office we will replace any web content with a screenshot of the content as soon as that window is not the active window. This means that you might see some issues as the web content is replaced with an images. On windows XP there have been reported issues and we have even had a case with Microsoft that there is an issue when taking the image on some of the webapplications, inlcuding IBrixes. So on XP we can’t take an image so we replace the content with a default image with the text “Click to activate”. There is no workaround for the z-index problem with web content. Ot the workaround is exactly what we are doning – replacing the BrowserControl with an image as soon as it is not the active window. Therefore it is very important that you use our ExtendedWebBrowser and not the default controls if you need a BrowserControl in your feature or JScript.

If you have any issues releated to switching between Web application or as the web application launches a new window you can try and disable the preview image. This can be done in the profile by adding a web/EnableDefaultWebBrowserImage. In 10.0.5 this should be available in the advanced view of the profile.

EnableScreenshot

More reading

Table with emulation modes for Internet Explorer on MSDN.
http-equiv attribute | httpEquiv property

Do you want to see a form side by side with your mail?

We bring you Infor Smart Office mini-mode! Seeing a form side by side with another Windows program such as you mail client has up until now only been possible for those of you with two screens. The Canvas has been your desktop, in Smart Office 10.0.4 we introduce Mini-mode. Mini-mode is a way to run Smart Office but without the Canvas, just focusing on the applications.
Continue reading

The Developers Blog just reached 50 000 views

Today we reached 50 000 views. There is an upgoing trend and the number of views continues to grow each month. Last month we had around 7 000 views. The audience is kind of narrow, it is a blog for Smart Office developers. That is people who are building Mashups, creating JScripts and developing Smart Office features with the Smart Office SDK. There might also be one or a few System Administrators who find some good articles here.

I hope you enjoy our examples and blog posts. It requires a lot of hard work and we welcome more bloggers from the User Experience team, here at Infor.

Infor is a product company and we love our product.

Karin & Peter

How to put the Smart Office icon on your desktop

As I have mentioned in previous posts WordPress has this nice feature that allows us to read what search terms have been used in the blog. Today I spotted this: “putting smart office icon on desktop”. In most cases the search terms does not contain enough info of what the person is looking for but this time I think I got it.

Personally I usually start programs using the windows key followed by writing the name of the app. Smart Office is in the start menu once installed so that would be a quick way to launch it. But if you want to create a link to the program on your desktop there are two options. Continue reading

Tip of the Day – Safe Mode, System Profile and Log file

Today I would like to share a few useful tips that will make your life easier as a Smart Office Developer. First we have ‘how to run Smart Office in Safe Mode’, then ‘how to force the System Profile Selector’, followed by some extra tips for checking the log and finding the isolated storage for the installed application. Continue reading

It’s all in the URL – Client Configuration

Smart Office is installed via ClickOnce. The link that you click on to launch Smart Office can have a number of paramaters on the URL. In this post I will cover a few of those parameters and the most common misstakes people do when composing a URL that will open a program after Smart Office is started. Continue reading

Conditional Styles with Dynamic Dates

With conditional styles you can take control over the lists in M3 and S3. Dynamic dates are an important concept when it comes to comparing dates. I’m not the developer who implemented the feature, in fact I have never used it before today. But I understand that this is a topic that quite a few are interested in. In this post I’ll use the requested delivery date on an order and use different styles for if the order has a requested delivery date the coming week or if the requested delivery date is passed. Continue reading

Working with multiple Canvases

In Lawson Smart Office your home is the Canvas. You have your informative widgets and your shortcuts just one click a way. But what if you would like to completely swith the canvas for a specific task so that the widgets and shortcuts reflect the type of work that you need to get done? I’ve written about How to create a Menu Widget using the News Reader Widget, you can take this one step further by having the links in the RSS Xxml to point to different Canvas files. Continue reading

News Reader Widget as a Check list

In my last post I showed you How to create a Menu Widget using the News Reader Widget. The News Reader has another hidden feature – it can be displayed as a checklist!

This view is great for a step by step process. If you launch the link the check box gets checked automatically. Now the process needs to be completed during the Lawson Smart Office session, it will not store your progress if you log off or close LSO. Continue reading

How to create a Menu Widget using the News Reader Widget

The news reader widget is for displaying a news feed. You can configure the News Reader Widget with a specific URL and publish it to the Widget Library. The tip of the day is that you can create your own RSS xml and have the News Widget as a Menu Widget with a list of different programs that can be launched directly from the widget. In this post I’ll show you the syntax of the XML and how to publish the widget to the Widget Library. Continue reading

Extending your contacts in Smart Office to M3 panels

You can collaborate in Smart Office using different tools such as chat, message boards (we call them channels) and annotations on business data. Today I’ll show you a hidden gem that involves showing your own contacts accessible right from the M3 panel.

Any panel with a RESP or USID field will get a green small person icon if that person is on you contact list. (We plan to add more fields).
It looks like this:

If I hoover over the icon I can see a tooltip with more information about the contact. Depending on how many external collaboration providers you have there can be: Smart Office contacts, Jabber and Microsoft Messenger. 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.

Personalizations in M3

Users can change panels in MForms to obtain personalized versions of the standard M3 panels. Examples of personalization are conditional styles, hyperlinks, tab order, label texts and JScripts. Personalization is done directly within MForms using dialogs and special edit mode panels. There is a Personalization menu available under the Tools menu and on the context menu for the panel that contains the available personalization options. Continue reading

Testing M3 APIs

When you work with M3 APIs there are a few very useful resources available, one of them is MITest. MITest has been around for a while and it looks like this:

In Lawson Smart Office 9.1.3 we introduced a new way to call APIs using a grid application called MI-API-WS. This application uses the API repository meta data in a way we have not used it before. Continue reading

Lawson Smart Office 10.0.0

Lawson an Infor affiliate, released Lawson Smart Office 10.0.0. This is our contribution to Infor 10. I like it because it means that I can write about some stuff that I’ve wanted to share for quite some time now. We do lock down the code and go into release management a long time before the version is actually released. This is all good but it does mean that it’s been a while since I was working on the new version. So what’s new? Continue reading

Using Bookmarks in M3

Bookmarks in M3 is a way to navigate into a specific form without having to go though the list. As it turns out Bookmarks is a key component to M3 Mashups. You configure a M3List or a M3DetailPanel with a bookmark. Not all programs support Bookmarks and even if the bookmark does work there might be issues when you try and open a detail form. In this post I will cover a way to test the bookmark and to analyze issue you might encounter when you build your M3 Mashups. Continue reading