how's the attribute "product model class" in Model Categories table

major li
Tera Contributor
Hi everyone, Here are 2 attributes from 2 tables bothering these days. One is "class" in "All Model" table, and the other is "product model class" in "Model Categories" table. According to https://docs.servicenow.com/bundle/accessibility/page/administer/accessibility-508-compliance/concep..., "Product model class" is defined as "Class table where the models are stored". However, after test in PDI, it seems that "class" in "All Model" table is the one decide where the model live. Can someone share your insight about this and how you interpret it? What is the relationship between these 2 attributes?
1 ACCEPTED SOLUTION

I cannot speak to the design intent.  My interpretation is that the de facto design is that it is a specification of what you should expect to see.  Also I can't say for sure that there aren't any functional impact to this, but in my experience it's one of those things that makes sense to populate anyhow, as it is instructive to how the models should be classified for a given category. 

If you want a real mental exercise, ask yourself why the Model Category has a Parent attribute that is never actually used anywhere... I've tried and I've asked the Community but it remains a mystery.


The opinions expressed here are the opinions of the author, and are not endorsed by ServiceNow or any other employer, company, or entity.

View solution in original post

4 REPLIES 4

CMDB Whisperer
Mega Sage
Mega Sage

The "product model class" specifies the class (i.e. the table) that models of that specific category are expected to be in.  However, it does not enforce that they actually are created in that class.  The "class" attribute (i.e. sys_class_name) is an attribute that exists in all tables, and it simply tells you what the class name of a record is.  The "product model class" attribute was added to the Model Category class several releases ago.  Originally it wasn't there.  When they added it they did not update any of the Model Category records.  So even though you have a Model Category called "Hardware" which points to a CI Class of cmdb_ci_hardware and an Asset class of alm_hardware, you will most likely find that the Product model class is empty.  In reality it should be set to cmdb_hardware_product_model.  And that is the Model class you should use to create Hardware Models.  But whether you set it to that value or will, strangely, have no effect one way or another.


The opinions expressed here are the opinions of the author, and are not endorsed by ServiceNow or any other employer, company, or entity.

Thank you for the reply. 

If "But whether you set it to that value or will, strangely, have no effect one way or another", is it designed intentionally?

 

Why should the "product model class" attribute be added to the Model Category class if setting the field doesn't have any impact? 

 

Do we have any examples on how to make full use of the "product model class" attribute?

I cannot speak to the design intent.  My interpretation is that the de facto design is that it is a specification of what you should expect to see.  Also I can't say for sure that there aren't any functional impact to this, but in my experience it's one of those things that makes sense to populate anyhow, as it is instructive to how the models should be classified for a given category. 

If you want a real mental exercise, ask yourself why the Model Category has a Parent attribute that is never actually used anywhere... I've tried and I've asked the Community but it remains a mystery.


The opinions expressed here are the opinions of the author, and are not endorsed by ServiceNow or any other employer, company, or entity.

Thank you so much. It is by far the best explanation.