{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":24670,"path":"it-asset-management/asset-management/installed-with-model-management.md","title":"Installed with Model Management","bundle":null,"doc_type":null,"release":"australia","body":"\n# Installed with Model Management\n\nSeveral types of components are installed with Model Management.\n\nDemo data is available with Model Management.\n\n## Business rules installed with Model Management\n\nModel Management uses a number of business rules.\n\n|Name|Table|Description|\n|----|-----|-----------|\n|Abort action if no license type|\\[cmdb\\_software\\_product\\_model\\]|Ensures that a license type \\(not a license type group that cannot be handled by counters\\) has been selected.|\n|Calculate display\\_name|Product Model \\[cmdb\\_model\\]|Sets the **Display name** field when any of the following field values change: **Manufacturer**, **Name**, **Version**, **Edition**. The display name differs depending on whether the **glide.cmdb\\_model.display\\_name.shorten** property is set to **true** or **false**.|\n|Date validation|\\[cmdb\\_m2m\\_downgrade\\_model\\]|Ensures that the Start date is before the End date.|\n|Enforce CI Rules|\\[cmdb\\_model\\_category\\]|Ensures that categories that track assets as consumables or software licenses do not have a CI class.|\n|Flag parent as bundle on creation|\\[cmdb\\_m2m\\_model\\_component\\]|Flags a model that has components as a bundle.|\n|License Type - Fullname|\\[cmdb\\_sw\\_license\\_calculation\\]|Computes the full name of the license type.|\n|License validation|Software Upgrade and Downgrades \\[cmdb\\_m2m\\_downgrade\\_model\\]|Prevents software upgrades and downgrades from being duplicated and prevents having duplicate upgrades and downgrades for the same license where duplication also involves having the same dates. Also ensures that both the **Upgrade parent** and **Downgrade child** fields are mandatory and that if the **License** field is not empty, either **Upgrade parent** or **Downgrade child** must be equal to the license.model.|\n|Protect cmdb\\_ci\\_class|\\[cmdb\\_model\\_category\\]|Prevents CI class from being changed after creation.|\n|Protect cmdb\\_ci\\_class on insert|\\[cmdb\\_model\\_category\\]|Prevents creation of a category if another category already exists for the chosen CI class.|\n|Protect Contract|\\[cmdb\\_model\\_category\\]|Prevents changes to the Contract model category record.|\n|Set parent's main component link|\\[cmdb\\_m2m\\_model\\_component\\]|Populates a read-only reference from the bundle to the component when a bundle component is selected as the main component.|\n|Unflag parent on last delete|\\[cmdb\\_m2m\\_model\\_component\\]|Removes the bundle flag from a model when the last component is deleted from the bundle.|\n|Update model category|\\[cmdb\\_ci\\]|Updates the model categories for the associated model if the model is not already associated with the CI's model category.|\n|Validate record before creation|\\[cmdb\\_m2m\\_model\\_component\\]|Ensures that a component is not already in a bundle when an attempt is made to add the component to a bundle.|\n\n## Client scripts installed with Model Management\n\nModel Management includes a number of client scripts.\n\n|Name|Table|Description|\n|----|-----|-----------|\n|Clear models not matching license|\\[cmdb\\_m2m\\_downgrade\\_model\\]|Clears the **Upgrade parent** and **Downgrade child** fields when the **License** field is changed to a license and neither the upgrade or downgrade fields match the license model.|\n|Constraints based on asset class|\\[cmdb\\_model\\_category\\]|Enables or disables bundling options based on the asset class of the category.|\n|Hide sections when needed|\\[cmdb\\_model\\]|Shows and hides sections according to what is relevant for a given model.|\n|model\\_category change|\\[cmdb\\_model\\]|Ensures compatibility of classes between the several categories referenced by the same model \\(client part\\).|\n|Populate downgrade from license|\\[cmdb\\_m2m\\_downgrade\\_model\\]|Sets the downgrade child to the software model on the referenced license when an upgrade is selected. Only sets the downgrade to the license if the license is not empty.|\n|Populate upgrade from license|\\[cmdb\\_m2m\\_downgrade\\_model\\]|Sets the upgrade parent to the software model on the referenced license when a downgrade is selected. Only sets the upgrade to the license if the license is not empty.|\n\n## Properties installed with Model Management\n\nModel Management includes the property **glide.cmdb\\_model.display\\_name.shorten**.\n\n<table id=\"table_nch_ns2_cp\"><thead><tr><th>\n\nName\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\n**glide.cmdb\\_model.display\\_name.shorten**\n\n</td><td>\n\nWhen set to **true**, generates shorter display names for models by eliminating duplication of the manufacturer name. Consider the following model, for which **Manufacturer** is set to **Spotify** and **Name** is set to **Spotify Premium**.The **Display name** field is set as follows, based on the property setting.\n\n-   false: Display name is Spotify Spotify Premium\n-   true: Display name is Spotify Premium\n\n For software models, the edition and version are also included in the name, if they are specified.\n\n-   Type: true \\| false\n-   Default value: false\n-   Location: System Properties \\[sys\\_properties\\] table\n\n</td></tr></tbody>\n</table>## Script includes installed with Model Management\n\nModel Management includes script includes.\n\n|Name|Description|\n|----|-----------|\n|ModelAndCategoryFilters|Refines reference qualifiers for models and model categories based on class.|\n|ModelCategoryCheck|Ensures compatibility of classes between the several categories referenced by the same model.|\n\n## Tables installed with Model Management\n\nModel Management includes numerous tables.\n\n|Table|Description|\n|-----|-----------|\n|Application Model \\[cmdb\\_application\\_product\\_model\\]|Stores models used to describe software application products.|\n|Consumable Model \\[cmdb\\_consumable\\_product\\_model\\]|Describes consumable product models.|\n|Contract Model \\[cmdb\\_contract\\_product\\_model\\]|Stores all contract models.|\n|Depreciation \\[cmdb\\_depreciation\\]|Stores asset depreciation patterns.|\n|Hardware Model \\[cmdb\\_hardware\\_product\\_model\\]|Describes hardware product models.|\n|Model Category \\[cmdb\\_model\\_category\\]|Defines groups of assets, consumables, product bundles, and configuration items.|\n|Model Compatibility \\[cmdb\\_m2m\\_model\\_compatibility\\]|Stores many-to-many relationship between two models signifying their compatibility with one another.|\n|Model Component \\[cmdb\\_m2m\\_model\\_component\\]|Stores many-to-many relationship between two models signifying that they form a bundle.|\n|Product model \\[cmdb\\_model\\]|Describes all kinds of product models.|\n|Software License Calculation \\[cmdb\\_sw\\_license\\_calculation\\]|Defines commonly used software licensing patterns.|\n|Software Model \\[cmdb\\_software\\_product\\_model\\]|Describes software product models.|\n|Software Suite \\[cmdb\\_m2m\\_suite\\_model|Stores many-to-many relationship between two models that defines elements of a software suite.|\n|Software Upgrade and Downgrades \\[cmdb\\_m2m\\_downgrade\\_model\\]|Stores many-to-many relationship between two models signifying that being licensed for one model grants rights to the other as well.|\n\n## UI policies installed with Model Management\n\nModel Management includes UI policies.\n\n<table id=\"table_mpc_vt2_cp\"><thead><tr><th>\n\nName\n\n</th><th>\n\nTable\n\n</th><th>\n\nDescription\n\n</th></tr></thead><tbody><tr><td>\n\nHide unverified\n\n</td><td>\n\nModel Category \\[cmdb\\_model\\_category\\]\n\n</td><td>\n\nShows the **Enforce CI verification** field if the **Asset class** and **CI class** fields are not empty.\n\n</td></tr><tr><td>\n\nLock fields for Contract and Work\n\n Lock fields for Contract\n\n</td><td>\n\nModel Category \\[cmdb\\_model\\_category\\]\n\n</td><td>\n\nSets all fields on the Model Category form to read-only if the **Name** is **Contract** or, **Work Order** or **Work Task**.\n\n</td></tr><tr><td>\n\nProtect model category\n\n</td><td>\n\nProduct Model \\[cmdb\\_model\\]\n\n</td><td>\n\nMakes the **Model categories** field mandatory and read-only if it contains any of the following values: **Software License**, **Contract**, **Work Order**, **Work Task**.\n\n</td></tr><tr><td>\n\nShow is an option if Oracle\n\n</td><td>\n\nSoftware Model \\[cmdb\\_software\\_product\\_model\\]\n\n</td><td>\n\nShows the **Is an option** field if the selected **Manufacturer** name starts with **Oracle**.\n\n</td></tr></tbody>\n</table>## User roles installed with Model Management\n\nModel Management includes user roles.\n\n|Role|Contains Roles|Description|\n|----|--------------|-----------|\n|category\\_manager|model manager|Can create, edit, and delete model categories.|\n|model\\_manager|none|Can create new CMDB models. The model manager role can control the base models and any model extensions that are not hardware, software, or consumables. Hardware and consumable models are controlled by the asset manager \\(asset\\) role. Software models are controlled by the software asset manager \\(sam\\) role.|\n\n"}}