Enhance layout Import/Export to preserve existing STRUCT_IDs for layouts of fragment owners

Description

Some users have discovered that Import/Export fails to preserve users' customizations to DLM fragments when fragment layouts are edited and re-imported.

Here are steps to reproduce the problem (assuming a fresh checkout):

  • (1) Run initportal

  • (2) Log in as a non-fragment owner user (e.g. 'admin') and make any of the following customizations to a DLM fragment (e.g. 'News') tab: move a channel, add a channel, delete a channel

  • (3) Alter the fragment-layout file for that fragment by adding, removing, or moving channels or columns

  • (4) Re-import that fragment-layout file

  • (5) Log in (again) as the user in step (2)

  • (6) You will see that the customizations you made in step (2) have been corrupted

The cause of this issue is that Import/Export does not currently preserve synthetic (database) Ids for elements of portal data, including layout structures. New Ids are generated and assigned on import each time. If the number, nature, or order of these structures changes, therefore, they will be assigned Ids on import that don't match existing customizations of DLM fragment content made by users.

Environment

None

Activity

Show:
Andrew Wills
October 28, 2009, 12:53 AM

Committed revision 47024. (trunk)

Eric Dalquist
November 23, 2009, 3:47 AM

Fixed in branches via work on

Fixed

Assignee

Andrew Wills

Reporter

Andrew Wills

Labels

None

Estimated End Date

None

Priority

Major