This entry is one of many in a series that describes the InfoSphere Open IGC API, which allows you to define your own objects for information governance using InfoSphere Information Server and the Information Governance Catalog.
Previous post in this series:
Open IGC Advanced Topics: Virtual Assets
Original post in this series:
Open IGC is here!
So….by now you have a custom bundle, loaded with instances of new objects for governance. You can see them in the Query tool of IGC, and view their icons when browsing all information assets. Hopefully you have tried to assign them to Business Terms and give them Stewards, and maybe even given them additional meaning by including them in a lineage flow.
Equally important, I hope that you have shown them to your colleagues and other members of your governance team, and also many of the general business and technical users in your enterprise! How did they like it? Have you illustrated a concept critical to your business that they can follow? Do they understand this concept better than they did before? Did they have any questions? It is very important that you expose your new bundle and its purpose to your entire use community. Their feedback will be critical as you fine tune the solution and make it a regular part of your governance activities.
If you have done all of these things, then it is likely that you need to make adjustments and changes. Maybe the labels for your new objects aren’t descriptive enough. Maybe you made a typo. Perhaps you need some alternative structures, or want to tweak the behavior of an object when it is used within a lineage report. How do you apply changes to a bundle? You could just delete the whole thing and start over, registering the bundle again, but that might not be necessary. What if you have already loaded a lot of assets, and lineage flows — it would be frustrating to have to run those calls again or manually re-load all of that metadata. There are some changes you can safely make to a bundle without receiving any errors:
— Add a new class
— Add a new property to a class
— Change label names
— Change default locale label
— Change label properties files
— Change dataAccessRole, expandableInLineage
— Add or change icons
— Add another literal to an existing enumeration (for an object declared as having an enumerated list).
What you cannot change (requires deletion and re-registering of your bundle):
— rename a class or attribute
— change a datatype
— remove a class or attribute
— change containment (change parentage)
— change inheritance (superclass)
Make and then save your changes to your original the asset_type_descriptor.xml, and then zip up the asset_descriptor, your icon subdirectory and the language subdirectory. Apply the updates using the PUT call that is available at the igc-rest-explorer page:
(click on the image for a larger picture in its own window)
If your changes are in the “allowed list” above, and there aren’t any other errors, your update will be applied successfully and you can immediately see the impact on your existing object instances. If your changes are not in the allowed list, you will need to entirely delete your bundle, apply the changed bundle, and then re-load the instances.