I like shiny new things. Apparently I’m attracted to flashing lights aswell, which explains the working in IT.
FWIW, in my mind, I was justifying the use of .Net4.5 and access to the new parallelism functionality that is available.
Because I like new toys, and because I didn’t really have a hope of getting budget approval for an Infor upgrade of Smart Office, I figured I’d do some research, use my DR environment and test doing an upgrade by myself.
During the research I came across two major stumbling blocks.
1). Our M3 UI Adapter wasn’t supported under 10.1
2). Smart Office doesn’t get upgraded, it gets replaced <sigh>
So, pouring over the documentation in my usual manner I looked to see if I could run multiple grids against a single BE and couldn’t find an answer – this may well have been because there wasn’t a section that said “Running Multiple Grids against a Single BE” but that’s a conversation for another day.
I caved and flicked a quick message to the resident Infor techy and asked “Can you have multiple grids against the same BE” which resulted in a resounding (ok, somewhat paraphrased) “not sure”.
This meant I was going to have to take a risk and potentially hose one of my environments and then get someone in to fix the issue. Not really something that appeals to me but I was planning on using my DR environment to test against. The beauty of this is, AS400 aside, the supporting services are all virtualised and get refreshed each night. Plus they have snapshots that I can quickly and easily revert back to.
As it turned out, doing the upgrade on my DR environment turned out to be a real drama that was going to absorb far too much time so I took a calculated risk and decided to try against our TEST environment. Our TEST environment has only been used a few times over the last 12 months and most people test in DEVE – don’t ask.
To make me more nervous, we have our production AS400, it runs our DEVE, PROD and TEST environments (we are a small company, so even with the AS400 we run, it’s more than capable of hosting the lot and more). Likewise, our Smart Office server has three environments, DEVE, PROD, TEST.
Upgrading one environment shouldn’t affect any of the others, but it really just didn’t feel good.
My plan of attack became:
1). Upgrade the M3 UI Adapter (10.0.1.0 to 10.2.1.0)
2). Ensure that Smart Office 10.0.5.2.x still works without issue
3). Export the Smart Office settings using the MangoAdminTool
4). Uninstall Smart Office 10.0.5.2
5). Install Smart Office 10.1.1.0.x
6). Import Smart Office settings and Test
7). Congratulate myself heartily for my death defying feat
It’s worth nothing that I did upgrade all the components under the grid that didn’t require a new version before I took on this challenge.
So, I went through and casually documented the upgrade of the TEST environment and after a few missteps got it working and upgraded the DEVE environment (which is what we’ll actually run through shortly).
First I’ll mention some of the things I discovered on my first upgrade:
- M3 UI Adapter sucks a heap of the settings from the mne.properties file (mne\WEB-INF\properties) in to the H2 database. It appears to assume that the mne data (languages, view definitions etc) are under the mne directory (LifeCycle\<server>\grid\<environment>\applications\M3_UI_Adapter\webapps\mne). Unfortunately for us, this wasn’t the case.
This created a few headaches for me trying to get things running correctly. Copying the contents of mne_data_<environment> under the WEB-INF dir after the install seemed to work. On my second attempt I did this before upgrading the UI Adapter which worked like a charm. - Exporting the Smart Office settings (including the profile). If you’ve been good and exercised due diligence by reading the http://smartofficeblog.com/ blog you’ll know that you need to upgrade to 10.0.5.2.x to export the settings before you can import them with the MangoAdminTool in 10.1.1.0.x
The trap however (if you’re working on the No.8 Fencing Wire method as I am) is that when you use the MangoAdminTool to export the settings it will export them in to the Smart Office environment directory on the Smart Office server. This is an issue if you happen to UNINSTALL Smart Office after you have exported (of-course you can’t export the settings after the uninstall ;-)) – the exported file of-course gets deleted. Funnily enough during my first upgrade, I had actually copied my file to my local machine so I could have a wee nosey at what the file contained. But then I deleted it <sigh>
The moral is, copy the settings file to your local machine – the MangoAdminTool has the facility to do this. - After installing the MangoServer and starting it, it appeared that the Grid didn’t recognise the registration (possibly because I had uninstalled an existing Smart Office first). I needed to shutdown the Grid for that environment and restart it for Smart Office to correctly register. Incidentally, the registrations look like they are stored in the following file https://<grid registry server>:<grid environment port>/grid/info.xml
eg. https://wlmx02:21006/grid/info.xml
- Take snapshots of your existing Smart Office profile – you’ll feel better for it 🙂
And finally, I wouldn’t recommend doing this unless you REALLY REALLY know what you are doing. Seriously! If you choose to follow these steps they are at your own risk.
I’ll admit, I didn’t know enough about what I was doing but I have a fairly good understanding of how the M3 components work, a solid troubleshooting methodology, snaphots, a DR environment to compare against and had the luxury of an environment that I could hose.
I think the first install took around 1.5 hours, second a fraction of that. The really good thing was that I gained some more insight in to how the components fit together.
So here goes…
Upgrading the M3 UI Adapter
-
Copy the mne data in to the ‘default’ location (Automations, Customizations, DocumentLinks, Env_<environment id>, Help, Languages, MvxSys, UserSettings, ViewDefinitions)
Eg \\wlso02\c$\mne_data_Deve to \\wlso02\c$\LifeCycle\WLSO02\grid\IFL_DEVE\applications\M3_UI_Adapter\webapps\mne\WEB-INFWe do this as the new M3 UI Adapter doesn’t honour the path in the mne.properties file
- In LifeCycle Manager we upgrade the M3 UI Adapter
Next
Finish- We can click on the Progress tab at the bottom of LifeCycle Manager. An upgrade successful message will appear if the upgrade worked. Click on OK
- Start the M3 UI Adapter
We can see that we are at the new version - Verify that the existing Smart Office (10.0.5.2) is running correctly
Upgrading Smart Office
In the LifeCycle Manager I use the Hosts tab unless otherwise noted.
- Export all of the settings using the 10.0.5.2 MangoAdminTool. You need 10.0.5.2 to retrieve these settings!
- Set up your configuration – the environment name and the URI to connect to Smart Office
- I will export everything.
Note: be aware that as we are going to uninstall our existing Smart Office, that the directory the data is exported to on the Smart Office server gets deleted! You MUST download the file before you uninstall. - Download to local machine
- Stop Smart Office Instance
- Uninstall existing Smart Office
- Click on OK for the uninstalled message. You should see something like this now.
- Install new Smart Office (under the Applications tab)
- Select Environment
- Next
Default System Profile Name – I just used DEVE as that was what my old one was
Suffix – I’ve seen a number of consultants with a bagillion Smart Office instances installed, so I wanted to make the Suffix descriptive for them so it looks like so when installed
Which server should it be installed on?
Summary page, click on Finish- Note it now says “MangoServer” – hopefully no more naming confusion 🙂
Now we do the standard “Export Server Information” – this will be used to sign Smart Office
Select an appropriate directory
Click on Finish-
Now we need to Sign our Smart Office install – you need the cert that you have previously signed Smart Office with.
-
If all went well, then the install gets signed and is ready to be imported in to the Install Point.
-
Import our signed install
-
Locate where the install file was output to in step 16
-
Hit finish
-
And we should see that all is good in the world!
-
Shutdown all the components for the environment – including the Grid itself. The grid/info.xml won’t get updated with the new services until that point
- Because we uninstalled we need to set our rights back up
- Edit User and Role Mappings as appropriate
- And now we use the Mango Admin Tool to Import the old settings
- Upload the settings we downloaded
- Import
- Click Yes
And then I was able to install Smart Office on my machine.
Nice!
You’ll see that with some practice you can to this in 20 minutes.
I wanted to have a post on how to do this, but now I can just link your post so thanks for that!
Important to note however is that you did not install any extra lawsonapplications such as the Mashup Designer or Process Flow. You still need to install them in the new Smart Office.
As for the M3 User Adapter they don’t have a H2 database, at least not in this version. But the grid is moving configuration to the database. I’m not sure in which version I would have to check my notes.
Yup, even given the second environment upgrade I noticed a significant reduction in time – granted I didn’t have to troubleshoot and explore as much as I did in the first attempt 🙂
H2 db – ah, I had made an assumption that the h2 db was the standard used based on the GDBC component.
For the sake of completeness, I did notice recently that in the uplifted version of the M3 UI Adapter there is a “File Root Path” option available in the Application Properties, which if I had populated, I expect would have meant that I wouldn’t have needed to copy the mne data contents.
Cheers,
Scott
Yes, the file root path can be a mapping to a drive on the machine. Although MUA isn’t using H2 or a database in this version it does not mean that it won’t use a database instead of file storage in, let’s say, the the next version or so.
Pingback: Migrating from Smart Office 10.0.5.2.16 to 10.1.1.0.19 | Developing for Infor Smart Office
Hi, we recently upgraded our Smart Office to 10.1.1.0.19 and now our GLS100 uploads produce a Status Bar error message that we have to enter through twice for each line. We originally got this script from you so I was wondering if you could let me know where we would need to tweak it to get it to work again.
Hi Pam,
what is the error message in the status bar?
And do you know which version of the script you are running?
I’ve just tried my V10 version against 10.1.1.0.19 and it worked without issue.
Cheers,
Scott
Hi Scott, The error message that we get is: “Couldn’t find the status bar”.
Could you e-mail me the V10 script that you are using?
Let me know.
Thanks
Pam
Hi Pam,
email has been sent, please let me know if that resolves the issue – if yes, I’ll make sure an updated version is easy to find here 🙂
Cheers,
Scott
On the previous version of LSO (version 9.0) this code segment use to work
var border = VisualTreeHelper.GetChild(listView, 0);
var grid = VisualTreeHelper.GetChild(border, 0);
this.scrollViewer = VisualTreeHelper.GetChild(grid, 3);
this.scrollViewer.add_ScrollChanged(OnScrollChanged);
but ever since the upgrade I’ve been receiving this error:
System.ArgumentOutOfRangeException: Specified index is out of range or child at index is null. Do not call this method if VisualChildrenCount returns zero, indicating that the Visual has no children.
Parameter name: index
Actual value was 3.
at System.Windows.FrameworkElement.GetVisualChild(Int32 index)
at System.Windows.Media.Visual.InternalGet2DOr3DVisualChild(Int32 index)
at System.Windows.Media.VisualTreeHelper.GetChild(DependencyObject reference, Int32 childIndex)
is there a new way to access the scrollViewer with the new version of LSO?
Hi Jean,
the issue is that the controls have changed – so hard-coding the index of the control is causing the issue.
You can check the number of children a control has with the VisualTreeHelper.GetChildrenCount method.
Taking a look at that shows that against the ListView in OIS300 there is only 1 child based on your code, so when you call VisualTreeHelper.GetChild(grid, 3) you get the exception.
Interestingly if you add a debug.WriteLine(grid.GetType()); you’ll get a ScrollViewer 🙂 – I haven’t dug deep enough to determine if this is the one you’re after though.
A helpful tool you can use is WPF Inspector – this will show you the VisualTree. It isn’t maintained anymore but still works well.
Hope this helps point you in the right direction.
Cheers,
Scott
Hi Scott,
I am unable to export using Mango Admin tool.
I am getting below error:
Exporting…
Failed to execute operation
An error occurred while sending the request.
The underlying connection was closed: An unexpected error occurred on a send.
I am using TST which is Test Grid name under configuration.
and for server uri i am using https://m3hostname:16201
Port 16201 is port for mango application which can be seen in grid ui.
please help!
Thanks
Nikhil
Hi Nikhil,
off the top of my head, I think you need to specify /mango
so try pointing the MangoAdminTool to
https://:16201/mango
Also, in a standard configuration 16201 looks is a http port, not https, so you probably want:
https://:16202/mango
Cheers,
Scott
Hi Scott,
Thanks for your response. I figured it out after sometime using different ports.
It worked with HTTPS port of the Default Router for Mango Server which was 48625.
Also, Can you help me high level plan for ISO 10.0.5.4 to ISO 10.2.1 upgrade.
My assumption is taking full export, update grid, update grid extensions, update DSP, update DSSO and then reinstall ISO 10.2.1 and then import.
Let me know your view, and yes i am doing this on lawson side.
Thanks
Hi Scott,
Thanks for your response. I tried different things and it worked finally. I had to use HTTPS port for the default web router on Mango Server.
Also, am planning to upgrade ISO from 10.0.5.4 to 10.2.1. My assumption is that I’ll do full export, uninstall ISO, update grid, update grid extensions, update DSP, update DSSO, reinstall ISO 10.2.1 and then import. Can you see if my high level plan looks ok?
Please note am doing this for Lawson.
Thanks,
Nikhil
I haven’t done such a large leap in versions, so scrutinise the documentation. Under M3 there are some additional steps that need to be taken with the M3 specific components (eg. M3 UI Adapter) on the later versions, I don’t know if there are similar requirements for the sforms adapter. It probably wouldn’t hurt to log a question on InforXtreme to confirm that those steps are ok.
Cheers,
Scott