Maintenance
Upgrading to V8
V8 Migration
11 min
net framework 4 x moved to net core net framework has been deprecated by microsoft and all new net work has been moved to net core this is a cross platform version of net while activate currently only supports a windows host this may change in the future notes there is a cross platform custom installer application rather than using windows msi’s this allows multiple instances (versions can be different) to be installed on a single server the windows registry is no longer used and all settings have be migrated into appsettings json in accordance with standard net core practices all writable files (log/search indexes/etc) have been moved to appdata/activate/\[instancename] activate admin has been renamed to activate studio multiple instances of activate studio can be installed on a single windows desktop and the versions will be automatically kept in sync with the server they are connecting to activate anywhere can be installed by the same installer the application event log is no longer used these log entries have been moved into the appropriate log file any monitoring tools should monitor these files and not the application event log (note on windows any net startup issues are still logged to the application log) the built in powershell runtime is now the net core version powershell 7 x this means that some old powershell command lets may not work https //docs microsoft com/en us/powershell/scripting/whats new/migrating from windows powershell 51 to powershell 7?view=powershell 7 2 https //docs microsoft com/en us/powershell/scripting/whats new/differences from windows powershell?view=powershell 7 2 some custom scripts may need updating to support net core net core may require slightly different dll's imported for specialized items this does not affect standard scripts but may affect some custom scripts after upgrade these can easily be found by doing a verify all sql connections are now using the microsoft data sqlclient name space rather than the system data sqlclient this is a new sql client that microsoft are adding all new features to the activatesqlconnection must be used rather than the native one to support azure sql remote databases scripts that explicitly call sql will need minor tweaks to convert to the new namespace (a script is provided to do this) microsoft have changed the default to enable ssl encryption on all connection strings however, most internal databases do not use ssl therefore all custom connection strings must be changed to include ";encrypt=false" this is done automatically for the activate database connection string, but any other custom connections will need to be changed web portal the previous versions of the web portal were based on microsoft asp net webforms technology this technology has been deprecated and is no longer being developed and is not available in net core activate v8 is built as a single page application (spa) based on react with material ui and net core web services this is the same technology that powers ms teams and most of the azure web portals this provides a much richer interface and significant performance benefits significant changes design and theming the banner header from v7 has been removed and is rendered as a standard application header the header image can be migrated to the users home page instead this is to standardise the header and make it more consistent with azure portals v8 is designed to use the material ui theme instead of using pure css this means that the system can be 'themed' with the change of a few primary values and all other values are calculated to make a cohesive design the design is now based on material ui standards the home page can be customized as before a global search has been added to the header to make it easier for users on secondary screens who wish to search for something a drawer menu has been added to the left to allow users to access all items regardless of the page they are on the icons on the toolbar have been simplified to make it easier for users all default images are now svg and built into the application this means they can be scaled, coloured and composed without requiring new images image paths to activate standard images are automatically updated custom images can still be used, but will not honor the theming and may look out of place ssl is now mandatory a self signed cert may be used in development but a valid certificate is required for production environments the root of the activate application is now ‘/‘ rather than ‘/activate’ the following common paths will still work, however, all other systems referencing other paths will need to be updated /activate /activate/default aspx /activate/starttask aspx /activate/approval aspx /activate/go/xxxxxxxxx reporting the microsoft report viewer component is not supported on net core all custom reports must be migrated to activate reports based on the activatewebgrid web forms activate web forms are composed with a series of web controls all previous activate web controls were based on asp net webforms technology and have been completely rewritten in net core this technology rendered standard html + javascript to web browser and then posts back an html form to the server which then emulates events and binds the data into the job that is kept in session memory on the server the new controls render an xml document and a set of bindings to the client where the activate react client displays these controls for the user the controls update the data model and the client which is then submitted to a web service server events are not supported in this environment while every effort has been used to try and maintain compatibility this is sometimes not possible especially with a complete change of underlying architecture notes standard forms without custom scripts that use activate web controls should work without changes there are some more unusual controls that have been deprecated for example, selectmultipleprovisioningobjects is no longer available but is simply replaced with the underlying control and setting multiple="1" these changes affect some of the more specialized controls and should represent a very small number of forms for most customers advanced forms with custom scripts click and custom events must be reworked into handlers checked during form submit custom scripts in form submit no longer have access to web controls and must update and bind data into the job directly most custom scripts on web forms will need changing, although most of the changes are relatively simple browse instances there have been significant enhancements to the browse instances style pages these now support complex searches and more complete filtering than before v6 and below used an xml based format to configure these a web form version of these was added in v7 and is now the only format supported notes custom web instance search and web instance list properties on services or assets will need upgrading to support the new mechanism this should affect only a small number of customers with custom browse instances configurations v8 migration tools there are a number of tools available to ease the transition to v8 pre upgrade script this script can be run on v7 environments and provides an overview of the issues that may arise when upgrading to v8 the script grades the issues by complexity this will also provide a summary that can be used to gauge the number of issues and likely effort to fix for example rese low 31, medium 6, high = 8 role low 1, medium 0, high = 1 aset low 1, medium 6, high = 7 mbrs low 0, medium 1, high = 0 serv low 7, medium 10, high = 25 task low 63, medium 91, high = 112 health check complete 272 objects, total 369 warnings, 1 errors upgrade v8 defaults to a more sophisticated merge process that will attempt to merge changes in scripts rather than just flag the conflict note this is only possible if the previous system value is available this will minimize the number of issues that must be manually handled on upgrade post upgrade scripts there are a number of scripts that can be run after upgrade to automatically upgrade values current scripts include sql connection automatically detect and upgrade to the new sql connection v7 recommendations to ease transition to v8 general migration from v6 x to v8 is not supported customers must upgrade to v7 x first use standard url paths where possible for all external applications accessing activate (as above) migrate any custom inbound soap asmx web services that have been implemented in activate to allow external parties to access the activate rest api’s (v7 or greater) soap web services are not supported in net core ensure any custom net libraries will work with net core minimise the use of powershell when other options are available or ensure that powershell commands being used are supported on powershell 7 x parameter changes when changing a system parameter in v7 do not rename the parameter and then create a new one instead change the value of the existing parameter this keeps the history of the previous system value and means that a three way merge can be done on future upgrades web portal minimise custom theming as this will need to be redone for v8 the banner header from v7 has been removed and is rendered as a standard application header the header image can be migrated to the users home page instead minimise use of custom images or use svg images where possible web forms use standard controls and options where possible minimise use of custom click events and form load code where possible do not use custom javascript code use expressionvalidator rather than customvalidator write all new reports as activatewebgrid pages rather than microsoft reports minimise customisation of language strings as these are significantly different in v8 optional recommendations implement ssl for activate v7 upgrade to 7 5 3 and migrate/convert to azure oauth the microsoft msol powershell is no longer supported or developed by microsoft and is not supported in 7 5 2 or greater this functionality can be replaced with standard activate calls to ms graph move to a supported windows server platform server 2016 or greater browse instances migrate web instance search from xml to web form migrate web instance list from xml to web forms