After the first "Copy and replace" push, we decide to modify the logo or we create a customized role checking the option “Overwrite default branding options with the options listed below”, which includes a logo customization.
Summarizing, when we change a logo it implies basically three relevant inserts or modifications in the tables:
This table stores the configuration of the role or the default style. The modifications of this table are pushed with the “Copy Configuration” option, that it is the one by default.
This table stores the reference to the attachment, in this case to the logo, but not the file itself. The modifications of this table can be pushed using the “Copy Data Only” and selecting “Attachment (Attachment)”.
This table stores the files themselves, the binary content, but this table cannot be pushed individually at this moment. As it is NOT pushed the logo disappears after each configuration change as the RecID is not the same in both tenants.
Note: According to RM 212489 this issue is recommended to be solved in HEAT 2015.2
Please follow this procedure as workaround, ensure that you have a backup of the databases before for preventing any possible issue:
1.- Configure an style with the logo for all the users
2.- Uncheck the option “Overwrite default branding options with the options listed below” in each role where you have a problem with the logo. If you check that option for configuring some specific properties you should upload the logo for each role.
3.- Execute a “Copy Configuration” push
4.- Execute a “Copy Data Only” push selecting the “Attachment (Attachment)” option.
5.- Execute the following query in the SQL Server Management Studio, it should copy the necessary content of the FusionAttachments table. Please modify the name of the databases depending on your configuration:
INSERT INTO [HEATSM-UAT].dbo.FusionAttachments
SELECT RecID, FileBytes
FROM [HEATSM-STG].dbo.FusionAttachments as F
WHERE F.RecID = (SELECT TOP 1 F.RecID FROM [HEATSM-STG].dbo.Frs_def_branding as B INNER JOIN [HEATSM-STG].dbo.FusionAttachments as F ON B.Definition LIKE '%' + F.RecId + '%'
WHERE F.RecID NOT IN (SELECT RecID FROM [HEATSM-UAT].dbo.FusionAttachments))
You should see the following message: (1 row(s) affected)
Please re-execute that query until you see the following message (would depend on the number of customized roles): (0 row(s) affected)