In recent nightly build notes you will see this:
Apparently it is possible to have two or more different UXs that have the same GUID. This has serious implications.
It is not clear what causes this. I have never duplicated a component using Windows Explorer. I have used the duplicate action within Alpha to create new components.
I installed the development version of the nightly build and ran the test. I recommend everyone does this. And until you run the test, do not restore a backup of any UX.
If it finds no duplicates, you are in the clear.
If it finds duplicates, you can fix them, but it can be tricky.
I found that I have 9 groups of duplicates involving 24 components! One group contains 5 UXs that have the same guid.
I found that the original files remain unaffected by this, but while every time you save a component it is probably creating a backup file, the restore function does not see the backup file.
The bad part is that if you restore a backup version of a UX, it may actually restore a different UX, and you would not know it.
Disclaimer: this is my experience and what I did. Your situation may not be the same. Proceed at your own risk.
For example, I have UX_1 and UX_2 that have identical guids.
Both show the same list of backup backup files, but the list only belongs to one UX. But which one?
Assume the list belongs to UX_2.
Now restore a backup of UX_1.
What I found is that UX_1 remains unaffected, and a backup of UX_2 is restored.
And unless you actually know they have the same guid, you have no idea what happened, and would not even suspect that UX_2 had changed.
Here is what I did:
Install the latest nightly build developer version, in a new folder.
Run the utility to find the UXs with duplicate IDs, and copy the list to a text file or somewhere you can reference it.
BACK UP every file in the list, just in case.
For each file in each group, ONE of them is the one that the backup files belong to.
If you want to keep the correct backup files, you must determine which UX is the correct one.
I put a static control on each UX that shows the correct name for that UX.
Then I experimented by restoring a backup version for one UX.
The UX that owns the backup files is the one where the static text control is no longer there. Apply the "fix" as described above to only the other UXs in that group.
Of course any UX that you fix will no longer have any backups.
If you don't care about keeping the backup files for any of the UXs, just apply the fix to all UXs in the list.
After you process all groups, run the utility to find duplicates and it should return "No duplicates found".
You can now go back to the Alpha build you have been using and Test Every Component. In my case I am on build 7902.
I have no idea about earlier builds, but as far as I know the only thing changed in the components is the GUID.
For anyone that does this, please post your experience here. I would be interested to know if you find any duplicates, or no duplicates.
UX Components - Fix Duplicate GUIDS - Each component has a unique GUID. This GUID is assigned when a new component is created. The GUID is used to keep track of the component's backups. A new menu option (select Edit, Bulk operationswhen the Web Control Panelhas focus) allows you to find components with duplicate GUIDS. To change a component's GUID, edit the component and then click the More... button and select the menu option to change the GUID.
NOTE One way in which duplicate GUIDS can occur is if you use Windows Explorer to duplicate an existing component.
NOTE One way in which duplicate GUIDS can occur is if you use Windows Explorer to duplicate an existing component.
It is not clear what causes this. I have never duplicated a component using Windows Explorer. I have used the duplicate action within Alpha to create new components.
I installed the development version of the nightly build and ran the test. I recommend everyone does this. And until you run the test, do not restore a backup of any UX.
If it finds no duplicates, you are in the clear.
If it finds duplicates, you can fix them, but it can be tricky.
I found that I have 9 groups of duplicates involving 24 components! One group contains 5 UXs that have the same guid.
I found that the original files remain unaffected by this, but while every time you save a component it is probably creating a backup file, the restore function does not see the backup file.
The bad part is that if you restore a backup version of a UX, it may actually restore a different UX, and you would not know it.
Disclaimer: this is my experience and what I did. Your situation may not be the same. Proceed at your own risk.
For example, I have UX_1 and UX_2 that have identical guids.
Both show the same list of backup backup files, but the list only belongs to one UX. But which one?
Assume the list belongs to UX_2.
Now restore a backup of UX_1.
What I found is that UX_1 remains unaffected, and a backup of UX_2 is restored.
And unless you actually know they have the same guid, you have no idea what happened, and would not even suspect that UX_2 had changed.
Here is what I did:
Install the latest nightly build developer version, in a new folder.
Run the utility to find the UXs with duplicate IDs, and copy the list to a text file or somewhere you can reference it.
BACK UP every file in the list, just in case.
For each file in each group, ONE of them is the one that the backup files belong to.
If you want to keep the correct backup files, you must determine which UX is the correct one.
I put a static control on each UX that shows the correct name for that UX.
Then I experimented by restoring a backup version for one UX.
The UX that owns the backup files is the one where the static text control is no longer there. Apply the "fix" as described above to only the other UXs in that group.
Of course any UX that you fix will no longer have any backups.
If you don't care about keeping the backup files for any of the UXs, just apply the fix to all UXs in the list.
After you process all groups, run the utility to find duplicates and it should return "No duplicates found".
You can now go back to the Alpha build you have been using and Test Every Component. In my case I am on build 7902.
I have no idea about earlier builds, but as far as I know the only thing changed in the components is the GUID.
For anyone that does this, please post your experience here. I would be interested to know if you find any duplicates, or no duplicates.
Comment