Product Models

Harrie Emily Ri
Tera Contributor

I am struggling to understand the coherence between product models (cmdb_model) and how they use/reference model categories (cmdb_model_categories). 

 

1. When creating a new Product Model using the wizard - what determines which categories are available from the wizard? (I can't find this anywhere) 

2. When creating a new Product Model - the model_category is not automatically filled out, hence I am wondering, what are the actual 'entities' available from the wizard - are they CI classes? Cf., below experiment. 

 

I've done a test: 

1. Create a New Product Model (under All Models)

2. Select e.g., 'Application' as the type in the Wizard 

3. When the Product Model is created in the cmdb_model table - the cmdb_model_category is empty (didn't select this on creation to validate hypothesis), however, sys_class_name is Application Model. 

3 REPLIES 3

Mathew Hillyard
Mega Sage

Hi @Harrie Emily Ri 

All types of model are tables that extend the bas Product Model class. They inherit the fields from Product Model but have their own class (e.g. Application Model). 

The new model uses an Interceptor (search for this in the main application menu), in this case it’s just called “Model”. The related list (Answers) gives you the available options. These records contain the URL that takes you to a new record in that class, which is why, when you save the record, it’s in that class.

 

Model Category is a table that includes approx 128 OOTB default values and links the Model to assets and CIs. I’ve written about this here: https://www.servicenow.com/community/in-other-news/assets-configuration-items-and-model-categories-u...

 

It’s not pre-filled because as Model Category is a table, you can create your own values so could choose a value that’s isn’t available with a baseline instance.

 

I hope this helps!

Mat

Harrie Emily Ri
Tera Contributor

Hi Mat, 

 

Thank you for your reply. 

 

I have a few follow-up questions as we are preparing to create Product Models via., integration. Should we map these to model categories via., the integration, in which case I would assume they will automatically inherit the model categories related ci class and asset class attributes? 

 

When I create a Product Model from the wizard, selecting the 'type' Hardware for example, I'm still able to select the model category - there is no business rules or policies in place which limits this, so I can basically create the Product Model where 'type' is Hardware but Model Category is e.g., Application. This seems like some guardrails are missing in the OOTB logic, which ensures alignment between the 'Model Category' and sys_class_name. I.e., in this scenario, Application is the Model Category, but Hardware Model is the sys_class_name. Do you know any fixes for this? Or what would be a good way to govern that such discrepancies are not possible, e.g., using Parent categories or similar. 

 

Thank you for pointing me to Interceptor - this was very helpful. 

 

Hi @Harrie Emily Ri 

Model Category is a very old table and the sync with Model doesn’t exist, so you are right that guardrails are missing. Over an integration I’d probably want to include some logic preventing an incompatible choice being made (e.g. a business rule that consults a data lookup table with your chosen category/class mappings) and by publishing the permissible combinations to the integrating system.

 

I hope this helps!

Mat