Agenda
The focus of our meetup is around the following topics:
- Understanding the need for Legacy-To-Windows migration;
- Migration in a Nutshell;
- Overview of the LegacyToWindows Migration Project Blueprint - a formal & thorough approach to your migration project;
- UiPath's standpoint, views and road forward;
2. 2
• Understanding the need for Legacy-To-Windows migration
• Migration in a Nutshell
• Overview of the Legacy-To-Windows Migration Project Blueprint
• UiPath's standpoint, views and road forward
• Discussion, Q&A
Agenda
5. 5
ROMAN TOBLER
CEO and Owner @Routinuum
UiPath MVP and Zurich RPA Community Chapter Leader
Author of Excelblog.ch (mainly in German)
LinkedIn Routinuum Excelblog.ch
7. 7
• Noisy – is it broken?
• Should I replace my washing machine?
• Chances & Risks
• Risk of defect or damage caused by water (leak)
• Lifecycle and support, availability of spare parts
• New features, energy-efficiency
• Cost / Investment
• New device might not fit in place, not be compatible
• Options – individual, subjective decision (strategy)
• Do nothing | Repair | Replace | Merge with Tumbler
The Need to Migrate – an Illustration
Source: Pixabay (free to use image) https://pixabay.com/photos/washing-machine-radiator-bathroom-5089939/
8. 8
• The Driver
• Continuous evolution of Microsoft .Net platform, phasing out of support for older versions
• The Reaction
• 2021 – UiPath’s Initial Announcement of deprecating Legacy compatibility*
• 2022 – Grace Period for Migrating from Legacy-To-Windows
• 2023 – Extension of the Grace Period
• The Situation
• Deprecation will definitively come one day
• Legacy is still supported, but new features and improvements will most-likely not be available
anymore.
• Jump Start Help 🚀
• Can you explain the reason why a Legacy-To-Windows migration is necessary?
• What are the chances and risks of creating new projects in “Windows-Legacy”?
The Need to Migrate – in Microsoft & UiPath Terms
*Source: https://forum.uipath.com/t/uipath-community-2021-10-stable-release-studio/352134#net-workflows-and-cross-platform-4
9. 9
Migration in a Nutshell – Initiating the Conversion
• Jump Start Help 🚀
• Make sure to always keep a backup version to return to.
• Always enable «Create a new project» when utilising the Conversion Tool.
(Project initially built in Studio v2019.10)
10. 10
Migration in a Nutshell – Conversion Result
Left (Legacy) Conversion Tool Right (Windows)
11. 11
• Converted project appears to be fine
• Errors occur when running the project
Migration in a Nutshell – Result Validation
12. 12
The illustrated «Conversion Demo» applies the following «Mapping Set»
• Jump Start Help 🚀
• Check for available resources and Mapping Sets
Migration in a Nutshell – Fixing Steps
Part Instruction
LEFT (Legacy) Read Text File Activity
PRE n/a
CONVERSION XAML Conversion with conversion tool
POST Use Invoke Method Activity (before Read Text File Activity)
RIGHT (Windows) Refer to screenshot
13. 13
• Legacy to Windows migration (in one project) has been completed
• Utilized the Conversion Tool
• At Runtime: Unexpected error occured (Read Text File Activity)
• Automated update on some packages (i.e. UiPath.System.Acivtities)
• As the original version is not available for Windows
• Note: In our case no
• Fixed the error – got a running Windows-compatible result.
• Jump Start Help 🚀
• How to know risk of conversion issues in advance?
Migration in a Nutshell – Summary
14. 14
• Alice: „The replacement was an absolute nightmare!“
Bob: „Why? It‘s not broken and in good shape…“
Samantha: „With our twins, we need a bigger machine!“
Rick: „I found spare parts by myself on the web.“
• Individual experience and strategy for each neighbor.
• Additionally, Samantha:
„Super-Mum-Blog helped us so much and I went to
share our experiences there as well!“
Same Challenge in the Neighborhood
Source: Pixabay (free to use image) https://pixabay.com/photos/washing-machine-radiator-bathroom-5089939/
15. 15
• What about your migration plans?
• What challenges are you facing / did you face?
• Slido (www.slido.com) – use Code #3723013
https://app.sli.do/event/xgGVJqKawoFg7rH31dFUJx
A Quick Survey
17. 17
• Expected
• Unforeseen problems e.g. conversion problems
• Influenced by other ongoing / future planned initiatives
• Individual decision factors, sometimes also contradictory
• Needed
• A shared understanding from all stakeholders
• Early hands-on testing of conversion samples
• Targeted
• Early / fast detection of technical blockers
• A controlled progress planning
• The Idea
• Having structuring building blocks with dedicated outcomes
• Design / Implement the building blocks according to the specifics
Mastering a Migration Initiative
18. 18
Legacy-To-Windows Migration – Blueprint
Building Block Role
Registration Formal initialization of the migration project
Inventorisation Gaining an initial understanding of the migration volume
Prototyping Reaching the first understanding by an initial hands-on trial
Formalisation Defining a migration strategy
Packaging Defining migration sets
Processing Execution of the migration using the migration strategy
Finalisation Formal completion of the migration
19. 19
Registration | Inventorisation | Prototyping | Formalisation | Packaging | Processing | Finalisation
• stakeholders common understanding between all stakeholders
• The next steps plans
Registration | Inventorisation | Prototyping | Formalisation | Packaging | Processing | Finalisation
• List of artefacts identified for further investigation
• List of third-party components used by the different artifacts
• Definition of a set of artefacts sent into an initial hands-on trial
Registration | Inventorisation | Prototyping | Formalisation | Packaging | Processing | Finalisation
• Evaluated migration result
• Traced efforts of pre- and post-migration work
• List of identified conversion gaps
Blueprint Details (I)
20. 20
Registration | Inventorisation | Prototyping | Formalisation | Packaging | Processing | Finalisation
• A global migration strategy
• backup & versioning
• migration orderings & interruptions
• migration control and tracking
• Technical conversion mappings
• conversion gap handling & replacements
• (Left side | pre#work – conversion – post#work | Right side) mapping sets
• pre/post work effort tracking
Blueprint Details (II)
21. 21
Registration | Inventorisation | Prototyping | Formalisation | Packaging | Processing | Finalisation
• Driven by the global migration strategy
• Influenced by Inventorisation & Prototyping results
Registration | Inventorisation | Prototyping | Formalisation | Packaging | Processing | Finalisation
• Migration packages conversion and processing
• Migration result evaluation and control
Registration | Inventorisation | Prototyping | Formalisation | Packaging | Processing | Finalisation
• Final evaluation of the migration project
• Formal migration project closing
Blueprint Details (III)
22. 22
• The need for Legacy-To-Windows migration has been illustrated
• Jump Start Demonstration of a Legacy-To-Windows Conversion
• Highlighted Conversions with different pitfalls
• Introduced a formal structured approach for a migration project
• Presented specific scenarios for individual strategies and migration needs
Recommendations 🚀
• No effort estimations and migration planning without first practical experience
• Limit migration scope to lower never-ending project risk
• Decouple migration from ongoing RPA activities & operations
• Only rate code conversion as successful after having executed it once
• Define a backup and versioning concept in advance
Conclusion
23. 23
• UiPath Forum
• [InfoSet] – LegacyToWindows Migration Series
• Project Blueprint Overview
• Jump Start Guide
• How to check a NuGet Package for offered compatibility
• Troubleshooting Guide for known conversion issues
• Mapping Sets
• Links to References and Documentations
• Contributions welcome
• Your topic on issues / Your feedback on fixes
• Exchange your Mapping Set
• Content / Blogs / Video / Events on the migration topic
Helpful Resources and Links🚀
25. 25
• Access to Enhanced Features: Explore new, advanced features only
available with Windows and cross-platform compatibilities.
• Improved Design & Customization: Enjoy superior design experiences and
customizability.
• Streamlined Migration: Benefit from seamless, built-in transition tools in
Studio.
• Future-Proof Projects: Keep your projects relevant and efficient with ongoing
developments.
UiPath – Why move away from Windows-Legacy?
26. 26
• Stability: Windows-Legacy projects are based on tried and tested frameworks,
ensuring reliable operation.
• Existing Code Compatibility: No immediate changes needed for existing
projects; they will continue to run as is.
• Ongoing Support: Editing, publishing, and running Windows-Legacy projects
will remain supported in future releases.
• Governance Policies: Organizations can restore the option of creating
Windows-Legacy projects, providing flexibility.
UiPath – Why keep Windows-Legacy?
27. 27
• Missing Activities Packages: As Windows project uses .NET 6 based
activities package, .NET 4.6.1 based activities package used in Windows-
Legacy is not supported. Some activities might not be available.
• Change in Behavior of Activities: With the upgrade of activities packages,
behavior of some activities might change. Thorough testing after conversion is
recommended.
• Unsupported Character Encoding: Windows projects (.net6) may not support
specific character encodings such as Windows-1252, shift_jis, etc., by default.
• 32-bit/64-bit Differences: Windows-Legacy runs as a 32-bit process, while
Windows runs as a 64-bit process, which could lead to behavioral differences
when calling other processes or applications.
UiPath – Possible issues after migration?
29. 29
• What are you missing? What would you like to see more of?
• (i.e. Follow-Up Sections, Deep-Dives)
• Slido (www.slido.com) – use Code #3723013
https://app.sli.do/event/xgGVJqKawoFg7rH31dFUJx
Final Slido – Discussion and Going-Forward