Smart Office 10.1.1 has been released and this service pack contains the tooling you need to migrate data from a 10.0.5.2 version to 10.1.1. Part of the work in this service pack is that we continued to move all files to a database so that we in the future can scale out Smart Office on to many Grids. We are not there yet becuase there are a few more changes needed on the server, but as of version 10.1.1 all configuration files that are related to the Smart Office server are stored in the database. Even though the name of the application in the Grid has changed to MangoServer it is still not supported to install more than one Smart Office server in the same grid (regardless of version).
Please note that personalizations files are not part of the data that we store on the Smart Office server and that those are still files stored in a file area on the MUA server (for M3) and on the Lawson backend for Lawson applications.
Important! Don’t forget to apply a fix for Lawson Grid 10.1.11 if you are using LCM 9. If you are on Grid version 10.1.11 you must make to update the grid and verify that the Grid version is 10.1.11.0.25 before updating Smart Office 10.1.0 to 10.1.1.
With the new stand-alone Mango Administration Tool an administrator can extract data from a 10.0.5.2 installation or a 10.1.1.0 and apply it to a 10.1.1.0 installation. It is also possible to extract data from a 10.0.5.2 installation and apply it to a 10.0.5.2 installation even if the tool itself is only available in the download package for Smart Office 10.1.1.0.
Please note that the profile.xml file and other files like channels.xml (used by the Inbox and Communicator widgets) will be migrated to the database when the service pack is applied.
Feature updates all installations
There are many new features in this service pack that I think you will enjoy. The new SoHo theme makes it possible to for example add web content in Widgets as well as Mashup content.
Web Browser widget
A new Web Browser widget that enables web pages for files to be displayed as a widget. Please consider to only use this for specialized content that is developed for the purpose of being available in Smart Office as loading normal web pages will look very strange on the canvas. The content itself has to fit the size of a widget.
Mashup Widget
A new Mashup Widget has been added to the Widget Library. In this widget you can select one of the already deployed Mashups to be displayed within the widget. Please note that you should develop a specific “small” Mashup that fits in a Widget context. Also note that there is this new ApplicationMessageControl that will enable you to write Jscript that can send messages to the Mashup so that it can update based on context information. You can use this for Lawson applications as well as M3 applications. I hope that Peter will do an example how to put these different pieces together becuase I think you will find this feature very interesting.
Mashup Designer
There are two new controls that have been added to 10.0.5.2 as well so that you can use them in Mashup targeting 10.0.5.2 installations as well as 10.1.1 installations.
MessageBoxControl : shows message boxes of different types (success, info, warning, error) as well as Question messages Yes/No and OK/Cancel dialogs that can be used to trigger different events depending on what the user selected in the dialog.
ApplicationMessageControl: can be used to send and receive messages to/from Mashups, JScrips or SDK features.
My Local Applications
In My Local Applications there is a new tab with a list of all available Mashups. Mashups can be installed by your administrator (shared) or locally via My Applications or via the Mashup Designer.
In the new tab “Mashups” you can double click to open a specific mashup. Since the mashup name consists of the component name combined with the mashup name a locally installed mashup can replace a shared mashup in the Navigator. The order for which we search for a mashup is :
1. Private (via Mashup Designer)
2. Local (via My Local Applications – this is also private per user)
3. Shared (deployed by an administrator)
Double-click on a mashup to launch that specific instance. The URL format for mashups in the Navigator is always the same, regardless of the Mashups location. But it is possible to create a URL that will look for the Mashup in a specific location as well. This is not something that end users will need to care about but it might be useful for Mashup developers that needs to manage different versions of Mashups.
Changes to Profile Editor
New buttons are available in the Advanced view that enables you to manually add/remove applications groups, applications and properties.
Mango Administration Tool
The Mango Administration Tool is found in the installation package under Additional Tools. It is a zip that can be unzipped on any windows pc running .net 4.5. It does not have to be unzipped on the server so if you have issues with the tool try to unzip and run it on another machine.
The first step in the tool is to create a configuration for the server to connect to. You need to have the URL to the server as well as a user that is a Smart Office Administrator. Make sure you have installed the https certificate and that the server is running.
This tool is not currently available from within Smart Office since it is required to be run as a standalone tool. This is a new tool released in 10.1.1. This tool might be available from within Smart Office in the future but it has to be available as a stand alone tool as well since you can use this tool against a completly empty database and import a configuration from another Smart Office server.
The tool consists of two tabs, one for exporting and one for importing.
The tool is described in the administration guide. You can select to import or export different data categories. When importing the eisting data is not cleared instead importing will always overwrite any existing file except for the profile and settings which are merged. If you need to clear the configuration you should delete all files in the database before applying the import.
One important fact to know is that features and content in installation points are still on disk and will not be copied as part of exporting data from the server. Features are either standard features and part of the installation of Smart Office or add ons such as the Mashup Designer that are installed via Life Cycle Manager. You still need to manually install the features you want in your new environment manually but any settings and configuration will be part of the data exported/imported.
Mashups are a bit different. As of version 10.1.1 you can use the Mashup File Administration tool (Navigator-> Administration Tools) to upload Mashups directly or you can use the standard approach and install them as .lawsonapps via Life Cycle manager. If you include the Category Mashups we will copy all mashups and then you can import them whitout having them visible in Life Cycle Manager. So Mashups, with connections to roles, are different than features and it is important to be aware of that. So depending on if you choose to handle Mashups completely via Life Cycle Manager you should make sure that mashups are not included in the export/import.
Under the Navigator -> Administration Tool you will notice a new tool Category File Administration. This is a tool where some of the files that have been migrated to the database can be accessed. It is possible to import and export specific files in this tool so that you can access for example the profile.xml if you like to. Please note that not all Data Categories in this tool can be connected to roles in which case the lower part of the tool will be disabled. Currently only Mashups and Startpads (Startpad is a seperate download that also comes in a new version for 10.1.1 with support for adding your own images and a new design).
Hi!
I have trouble with MFormsAutomation in Smart Office 10.1.0 and 10.1.1.
I made an incident of this at inforextreme, but the response from them was that jscripting was:
”
Hello Frode. I am sorry to have to tell you that this case, unfortunately, scripting falls outside of support’s scope. I would advice you to take a look at this blog to see if you can find what you are looking for, it is written by some of our developers and they are discussing Jscripts every now and then. https://smartofficeblog.com/?s=jscript Is there anything more I can assist you with in this case? Regards /John
”
So here it is:
I have made a jscript that creates new customers i CRS610.
For this I use MFormsAutomation. This have worked great for some years in all releases of Smart Office up to 10.0.5. But does not work on 10.1.1. Whenever any text (name, address, town, etc) contains the nordic letters æøå, the automation fails.
____________________________________
auto.AddStep(ActionType.Run, “CRS610”);
auto.AddStep(ActionType.Key, “ENTER”);
auto.AddField(“WWQTTP”, “1”); //Sorteringsrekkefølge
auto.AddField(“W1CUNO”, malCUNO); //Velge riktig kunde i listen
auto.AddStep(ActionType.ListOption,”3″); //Høyreklikk, kopiere
auto.AddField(“WWPSEQ”, “EIJ”); // Sett panelrekkefølge
auto.AddStep(ActionType.Key, “ENTER”);
auto.AddField(“CPCUNO”, this.toCUNO); //CRS610-C (Eget panel ifbm kopieringsfunksjonen)
auto.SetFocus(“CPCUNO”);
auto.AddStep(ActionType.Key, “ENTER”);
auto.AddField(“WRCUNM”, this.res.Name); //CRS610-E
auto.SetFocus(“WRCUNM”);
auto.AddField(“WRSTAT”, this.wrstat);
auto.SetFocus(“WRSTAT”);
auto.AddField(“WRCUA1″, (this.res.PAddress2 + ” ” + this.res.PPhus)); //CRS610-E auto.SetFocus(“WRCUA1”);
auto.AddField(“WRCUA3″, this.res.PPostNumber + ” ” + this.res.PPlace);
auto.SetFocus(“WRCUA3”);
auto.AddField(“WRPONO”, this.res.PPostNumber); //CRS610-E
auto.SetFocus(“WRPONO”);
auto.AddField(“WRTOWN”, this.res.PPlace); //CRS610-E
auto.SetFocus(“WRTOWN”);
auto.AddField(“WRCSCD”, toCountry); //CRS610-E
auto.SetFocus(“WRCSCD”);
auto.AddField(“WRPHNO”, this.res.Phone); // CRS610-E WRPHNO TELEFONNR
auto.SetFocus(“WRPHNO”);
auto.AddField(“WRTFNO”, this.res.Fax); // CRS610-E WRTFNO TELEFAKS
auto.SetFocus(“WRTFNO”);
auto.AddField(“WRYRE2”, this.res.Epost); // CRS610-E WRYRE2 EPOST
auto.SetFocus(“WRYRE2”);
auto.AddField(“WRYREF”, this.res.Dl); // CRS610-E WRYREF DAGLIGLEDER
auto.SetFocus(“WRYREF”); auto.AddStep(ActionType.Key, “ENTER”);
auto.AddField(freefield, valRate); //CRS610-I Kredittrating
auto.SetFocus(freefield);
auto.AddStep(ActionType.Key, “ENTER”);
auto.AddField(“WRCORG”, this.res.Orgnr); //CRS610-J Organisasjonsnummer
auto.SetFocus(“WRCORG”);
auto.AddField(“WRCOR2”, this.res.Dunsnr); //CRS610-J Dunsnummer
auto.SetFocus(“WRCOR2”);
auto.AddField(“WRPYNO”, “”); //CRS610-J Betaler blank
auto.SetFocus(“WRPYNO”);
auto.AddStep(ActionType.Key, “ENTER”);
auto.AddStep(ActionType.Key, “F3”); // Avslutt
debug.WriteLine(“\n — CreateNewCustomer uri—“);
var uri = auto.ToUri();
debug.WriteLine(uri);
____________________________________
whenever any text contains øæå, the uri will be like:
mforms:///?data=%0d%0a%……..
Which fails.
Correct would be:
mforms://_automation/?data=%0d%0a
the “_automation” part is missing when it fails. Manually editing the uri to correct the missing “_automation” part and running it in SO works.
The fault must be in “var uri = auto.ToUri();”
Hope this can be fixed, as API approach would be more complex, having to run three API calls in background, all dependent on each other.
Hi,
Thank you for bringing this up.
We’ll have a look. Have you tried it in 10.1.2? That was just released.
This is caused by a breaking change in the Uri class in .NET 4.5 that we were not aware of.
When the URI contains unicode characters the Uri class seems to enforce a stricter policy for which host names that are allowed. This means that the host “_automation” is not allowed and is blanked out when creating a Uri instance. I’m trying to find a workaround but have not been successful so far.
If a workaround cannot be found we need make changes so that all MForms URIs where the host includes an underscore character also works without the underscore character. The reason for the underscore character was to avoid name conflicts with any future BE program names but in hindsight that was a bad idea and we should just have reserved names like “automation” etc.
We will change so that MForms do not use the underscore character in any of the URIs. The old URIs with underscore will also work, as long as the URIs do not contain any unicode characters.
Until Smart Office fixes are available you can use the following JScript functions as a “brute force” workaround. Instead of using the ToUri method on the automation class use the JScript ToUri method. This will encode any character above 127 as an entity reference. I have tested with the characters in your example and it seems to work.
The example requires the following imports:
import System;
import System.Windows;
import System.Windows.Controls;
import MForms;
import Mango.UI.Core.Util;
import System.Text;
import System.Web;