Wednesday, 24 September 2014

Ribbon button display issue

I was involved in the issue of finding why one of the ribbon button R1 was not shown when deployed at client environment, after checking the entity ribbon diff xml everything looked fine, I started investigating into the database side of it.

After investigation I found that there was an old solution1 which used to refer the same entity but at that time the ribbon button which should be shown was not included in it.
Later on it was decided the correct place for the entity is solution2 and a new ribbon button R1was added on it afterward and entity was removed from solution1.

Theory says the ribbon xml should be merged instead of overwritten, but actually what's happening is the last one wins, so I updated installation instruction document to re-import soution2 when solution1 is deployed to make sure ribbon button appears correctly. This could be due to same publisher is in use for both solution1 and solution2.

Other option.
As any managed change deployed can not be removed from the system unless the managed solution which installed it is uninstalled but doing this would cause the import data to be deleted. one option we could use is to create a new solution3 with the same publisher for solution1 with the changes we like to keep in the system and then after installation of the solution3 uninstall solution1 doing this will keep the entities, records in the system as referred by solution3, but will take any change no longer required i.e. entity with R1, this would cause the deletion of any layers/records defined in the database due to solution1 initial import.

but the reason we didn't got with this option and stick for the installation instruction to re-import is the level of risk involved in uninstallation.

No comments:

Post a Comment