How to replicate custom data classes down a hierarchy
search cancel

How to replicate custom data classes down a hierarchy

book

Article ID: 156881

calendar_today

Updated On:

Products

Altiris Software Development Kit (ASDK) IT Management Suite

Issue/Introduction

After modifying a custom data class to update or change some attributes the GUID of the data class now changes.  This causes all custom inventory scripts to stop working.  In addition the custom data class is not updated on the lower level Symantec Management Platform servers during regularly scheduled delta hierarchy replication runs.

 No errors are observed

Environment

ITMS 7.x, 8.x

Cause

 This is currently working as designed.

Resolution

*Please NOTE: The following process has not undergone standard product QA, and is not considered a supported process. Current real-world results show that it works, but still be cautious and backup the applicable databases before executing this process.

It is important to understand that you cannot modify a custom data class after it has received data.  This is done to protect the integrity of the corresponding table.  In order to modify a custom data class that has data populated in it, you will have to backup and truncate that data in the corresponding table.

You will need to find the GUID of your updated custom data class and make note of it.  Using the new GUID, you will have to update all of your custom inventory scripts with this new GUID.

In order to have the custom data class changes reflected on the lower level servers, you will have to delete it on the child, and replicate it back down again.

In order to delete the custom data class on the child Symantec Management Platform server, you will have to run the following query to change the import method from a 3 to 0.  

--Begin SQL Query

update itemimportmethod

set ImportMethod = '0'

where Guid = 'GUID of the custom dataclass"

--End SQL Query

If you're going to backup the data in the table, now is a good time to do that.  Otherwise truncate the table to delete all contents of the table.  In this example I will use a custom table called Inv_Monitor_Print_Spooler:  

--Begin SQL Query

truncate table Inv_Monitor_Print_Spooler

--End SQL Query

The following steps will walk you through how to delete the custom data class.  Deleting the custom data class will delete the associated table.  Remember that before deleting the custom data class, the associated table needs to be empty.  Please make sure you backup this data if you find it is important data to retain.

Open your Symantec Management Platform console on your lower level server and navigate to:  Settings > All Settings > Discovery and Inventory > Inventory Solution > Manage Custom Data Classes.

Once there, find the custom data class and click the red X to delete it.  Make sure you click on Save changes.

Now navigate to:  Settings > All Settings > Notification Server > Resource and Data Class Settings > Data Classes > Inventory > Custom.  Verify that your custom data class is no longer there.  If it is, please delete it now.

Open the Symantec Management Platform console on your parent server.  Navigate to:  Settings > All Settings > Notification Server > Resource and Data Class Settings > Data Classes > Inventory > Custom.

Right click on the custom data class and navigate to Hierarchy > Replicate Now

This will send the updated data class down to the lower level servers in your hierarchy and create the associated table.

In addition to the steps listed above, you will need to recreate any resource replication rules you have created on the lower level servers responsible for sending the contents of these data classes up the hierarchy.  Please refer to the following article for details on creating these resource replication rules:  KB 181118