This guide is intended to assist those users who would like to convert existing Smartframe templates that are based on the default templates installed with Newlook 10.7.
Newlook 11 includes new Smartframe templates that take advantage of many of the features supported in modern browsers. They are designed to be flexible and easy to use. Where practical, we recommend using one of the new v11 Smartframe templates, instead of upgrading your existing templates. Be aware that the new Smartframe templates in version 11 are not backwards compatible, they can only be used in v11 onwards.
However, if you would like to retain your existing template, this guide identifies some of the common items that will need to be updated to get it working in version 11.
In previous versions of Newlook (version 10 and below), the top-level Smartframe container was an MS Internet Explorer browser window, containing a HTML page. This HTML page instantiated a Newlook Active X control.
From Newlook 11.0 onwards, the top-level Smartframe container is no longer an IE browser window. It is now a stand-alone executable, looksoftware.SmartFrame.exe
, which contains it's own Chromium-based browser, used to render and execute the specified Smartframe template's HTML, CSS and Javascript files. The Newlook Active X control has been replaced with the Smartframe Newlook Control, which interacts with the HTML page, based on the properties specified in the newlook
object tag, within the parent HTML. There is no need to have any browser installed on your end user machines, Smartframe will run on a clean Windows environment.
It is no longer possible to start Smartframe by opening a HTML or HTA file containing the Newlook object. To start Smartframe you will now need to configure the Smartframe URL for your solution (in General Settings), then run the executable looksoftware.SmartFrame.exe
, pointing to your solution. For end users, shortcuts can be configured during the deployment process, however for administrators and developers, you can start Smartframe from the executable shortcut or via the Smartframe preview button in Developer (which will automatically load the current solution).
Not all legacy Smartframe functionality is supported in Newlook 11. If you have Smartframe templates that have been heavily customized (for example portal-style templates), then this guide will not be applicable and we recommend that you contact the Fresche support team at [email protected] for advice about your migration options.
Don't forget to back up your template files before attempting to convert them!
The following guide assumes that you have a template that is based on the Samples/BrowserTemplates/SmartFrame template that shipped with Newlook version 10.5 or earlier. Any template based on the Samples/BrowserTemplates/SmartFrame template that was included in the Newlook 10.6 or 10.7 install should be compatible with version 11.0 (although you will need to open Smartframe.htm instead of Smartframe.hta).
The legacy Smartframe template consists of the following files:
callback
to the Skin_AddPlugins
function.AddPlugin
methods inside the Skin_AddPlugins
function.
The final code should look like this:
function Skin_Addplugins(callback) {
//Syntax: AddPlugin("plugin_name (matches the filename with no extension, .js assumed)");
AddPlugin("pluginFrameSize2", callback);
}
Skin_AddPlugins()
in UICode.js and include the contents of the function as a function callback.
AddPlugin
function and add a parameter called callback
. In the same function, update the AddScriptToPage
method to add a parameter called callback
.
AddScriptToPage
function and add a parameter to it called callback
. Then inside this function, add the following code immediately after the newElement.type="text/javascript";
line:newElement.onload = function() {
callback.call(null);
};
AddScriptToPage
function and add the parameter function() {}
.
SendFunctionKey
function and update the LookUI.SendKey
method to LookUI.SendKeyWait
. SendActiveFunctionKey
function and update the LookUI.SendKey
method to LookUI.SendKeyWait
.
SetOneFunction
function, add the class clsFunctionButton
to the following fkHTML
assignments (note the trailing space between clsFunctionButton
and the closing "
):
InitializeContainer
function and replace if (!newlook) {setTimeout("InitializeContainer();",100); return;}
with the following code:if (!newlook.hasOwnProperty("OnClosed")) {setTimeout("InitializeContainer();",100); return;}
clsFunctionButton
style to Skin.css:.clsFunctionButton {
position: relative;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
PanelNavigationDiv
so that the top
attribute is 675px
.
runtimeOptions
parameter in skinruntime.js is pointing to a solution that does not exist in your current solution folder (C:\ProgramData\Newlook 11.1). There are two ways to resolve this error: remove the runtimeOptions
parameter in skinruntime.js (runtimeOptions = "";
) or copy the referenced solution into your current solution folder. Note that this will not affect the solution that is opened, if you are opening Smartframe preview from within Newlook Developer, the currently loaded solution will always open.
Smartframe now reports any loading errors with an error indicator in the bottom right-hand corner of the status bar. Click the error icon to open the Developer Tools window. Open the Console tab to get further information about the generated error, including the type of error and the file and line on which the error was generated. In the following example, the two errors are being generated due to a missing a closing bracket in a function call in the UICode.js file on line 118.
Use the Console to help you isolate the source of any errors.
You can open the Developer Tools window at any time by right-clicking the title bar of the Smartframe window.
© 2004-2021 looksoftware. All rights reserved.