Author Archives: karinpb

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

Building a Mashup UI – Margins and alignment explained

I’ve spent the last few months working with the UX 3.0, Infor’s new design guide lines for all Infor 10x applications, applying it for Smart Office. It has given me great insight in how I like to build a UI. I’m talking about what controls to use and why, how to think and how to align controls. In this post I’ll focus on Mashup development but this approach can be used in any WPF application. I highlight some issues and how to solve them.
Continue reading

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

Getting started with the Smart Office SDK

With Infor Smart Office SDK you have access to our application development framework. The SDK has been around since version 9.2 and it enables you to build your own application using the power of the Smart Office framework and the Infor Design System. As of last week Smart Office SDK is available, not only to partners but also directly to customers. We have build applications such as M3, Lawson, Analytics and Process Server and you can build your applications in the same way. Continue reading

URI shema overview for Infor Smart Office

In this post I’ll present a short overview of the different application schemas that we use in Smart Office. As you know we use URL syntax to identify applications within Smart Office. We build our big product lines around one schema per application and use the host part of the URI as the program name. Continue reading

Moving user favorites from Smart Office 9.x to Smart Office 10.0.4

In Smart Office 10.0.4 the one administration change was that settings and user files moved from the File Area into a database on the server. As a part of that work we enabled user and application settings to be controlled via User Roles so that you don’t need to use Group Policies any more. 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

M3 Price simulation – building a Mashup with two lists that trigger a third list

In this post I’ll show you how to use bindings together with a M3 Listpanel as well as conditions in Mashups Events to solve a scenario when you have two different M3 lists, for example one listpanel CRS610 and one listpanel MMS002 and you want to use information from thess panels to trigger a new listpanel (OIS320). 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

Enabling Process Flow (or other applications) for a group of users

In Smart Office you can work in a number of different applications, S3, M3, LBI, LPA the abbreviations goes on and on :-) . Last week I got this question. Our customer A has 3000 M3 users but not so many LPA (Process Flow) users. Is there a way to aviod this inbasket error message for existing M3 users but non existing LPA users? There are different ways to enabled/disable applications and in this post I’ll cover all the options that are availble to you. This post applies to all versions of Smart Office and Smart client but the details on how to do the configurations will differ in early versions (pre 10.0.4). Continue reading

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

Pressing KeyDown in a M3 list to load all rows

This post will cover something that you can do in JScript that is actaully on the edge of what you can but shouldn’t do. JScript is a great tool for doing small enhancements to M3 panels and S3 forms. However doning more advanced stuff requires a lot of experience. There are however a few tricks that you pick up along the way. In this post I’ll show you two useful things.

1. How to log to the Lawson Smart Office log file.
2. How to simulate pressing a key, in this case we will use page down.
3. How to run against your own local script instead of the central deployed onces. Continue reading