SLM to DLM Migration Tools
Author: Eric Dalquist
One approach to SLM -> DLM migration is to essentially DIFF each users layout with their template user's layout and generate add, move and delete events for the changes. These events would then be applied to the user's base DLM layout and should result in the user's customizations being ported from SLM to DLM.
The code attached to this page will take two SLM layouts and record the changes (add, move, delete) to go from the template to the customized layout. The code is incomplete and there are some TODO comments that need addressing. Note that this code must have access to the uPortal APIs (I have been running it in Eclipse in the uPortal project).
Once the diff logic is complete the next step would be to create the same layout via DLM fragments as the SLM template user has. Once done a Map needs to be created of SLM layout node IDs to DLM layout node IDs. The events generated for a user could then be translated from the SLM layout to the DLM layout and applied to the DLM layout manager for the user.
At this point the idea is still un-proven.
Also attached are some scratch documents used when working on the example code.