Installed with catalog item designer
The catalog item designer adds or modifies tables, user roles, script includes, and other components.
Demo data is available with the catalog item designer.
Tables installed with catalog item designer
Tables are added with activation of the catalog item designer.
Tables
| Display Name [Table Name] | Description |
|---|---|
Requesting Item Designer Category Request
[sc_ic_category_request] |
Requests made by users for a new category. |
Item [sc_ic_item_staging] |
Item definitions, used when designing the item. |
Approval [sc_ic_aprvl_defn_staging] |
Approvals for items. |
Approval Definition [sc_ic_aprvl_defn] |
Approvals for catalog items. |
Approval Definition (Requested Item)
[sc_ic_req_item_aprvl_defn] |
Approvals for requested items. |
Approval Type [sc_ic_aprvl_type_defn_staging] |
Approval types for items. |
Approval Type Definition [sc_ic_aprvl_type_defn] |
Approval types for catalog items and requested items. |
Task Assignment [sc_ic_task_assign_defn_staging] |
Task assignment types for items. |
Task Assignment Definition [sc_ic_task_assign_defn] |
Task assignment types for catalog items and requested items. |
Task [sc_ic_task_defn_staging] |
Tasks for items. |
Task Definition [sc_ic_task_defn] |
Tasks for catalog items. |
Task Definition (Requested Item)
[sc_ic_req_item_task_defn] |
Tasks for requested items. |
Question [sc_ic_question] |
Questions
for items. Stored as Variables [sc_item_variables_task] records
for catalog items and requested items. |
Question Choice [sc_ic_question_choice] |
Choices if the question is a choice type (select box, multiple choice, or checkbox). |
Question Class [sc_ic_question_class] |
Base variable types to use as the class for a question type. |
Question Type [sc_ic_question_type] |
Question types for items. |
Question Type Choice [sc_ic_question_type_choice] |
Choices if the question type is a choice type (select box, multiple choice, or checkbox). |
Table relationships installed with catalog item designer
Some equivalent information is stored as records in different tables in creating, publishing, or requesting areas to provide a controlled environment for item design.
For example, catalog items are stored as Item [sc_ic_item_staging] records
in the creating area, as Catalog Item [sc_cat_item] records in the
publishing area, and as Requested item [sc_req_item] records in the
requesting area.
| Creating | Publishing | Requesting |
|---|---|---|
Task [sc_ic_task_defn_staging] |
Task Definition [sc_ic_task_defn] |
Task Definition (Requested Item)
[sc_ic_req_item_task_defn] |
Item [sc_ic_item_staging] |
Catalog item [sc_cat_item] |
Requested item [sc_req_item] |
Approval [sc_ic_aprvl_defn_staging] |
Approval Definition [sc_ic_aprvl_defn] |
Approval Definition (Requested Item)
[sc_ic_req_item_aprvl_defn] |
Approval Type [sc_ic_aprvl_type_defn_staging] |
Approval Type Definition
[sc_ic_aprvl_type_defn] |
|
Question [sc_ic_question] |
Variables
[sc_item_variables_task] |
|
Task Assignment [sc_ic_task_assign_defn_staging] |
Task Assignment Definition
[sc_ic_task_assign_defn] |
|
Roles installed with catalog item designer
Roles are added with activation of the catalog item designer.
| Role | Contains Roles | Description |
|---|---|---|
| catalog_editor | none | Can create, modify, and publish items within categories to which they are
assigned. Can also perform the following for items and categories to which they
are assigned:
|
| catalog_item_designer | none | Can view the status of category requests. |
| catalog_manager | none | Can request a category, view and assign catalog editors to their categories,
and create, modify, and publish items within their categories. Can also perform
the following for items and categories to which they are assigned:
|
UI policies installed with catalog item designer
UI policies are added with activation of the catalog item designer.
| UI Policy | Table | Description |
|---|---|---|
| Allow category entry | Item [sc_ic_item_staging] | Allow category entry only if a catalog is selected. |
| Show Mobile Image | Item [sc_ic_item_staging] | Make the mobile image field visible if availability is set to Both Desktop and Mobile or Mobile Only. |
| Show Desktop Image | Item [sc_ic_item_staging] | Make the desktop image field visible when availability set to Both Desktop and Mobile or Desktop Only. |
| Show Published Item | Item [sc_ic_item_staging] | Show the catalog item if the staged item is published. |
| Hide Item field on Item Designer - Approval view | Approval [sc_ic_aprvl_defn_staging] | Hide the catalog item field from the item designer approval view. |
| Show "User" field when Type=User | Approval [sc_ic_aprvl_defn_staging] | Make the user field visible and mandatory if a user approval is selected. |
| Show "Group" field when Type=Group | Approval [sc_ic_aprvl_defn_staging] | Make the group field visible and mandatory if a group approval is selected. |
| Show "Predefined approval" field when Type=predefined_approval | Approval [sc_ic_aprvl_defn_staging] | Make the Predefined approval field visible if a predefined approval is selected and the predefined type is selected. |
| Show Predefined approval description when appropriate | Approval [sc_ic_aprvl_defn_staging] | Make the predefined approval description visible and mandatory if a predefined approval is selected. |
| Show "User(s)" field when Type=User | Approval Type [sc_ic_aprvl_type_defn_staging] | Make the User(s) field visible and mandatory if a user approval is selected. |
| Show "Group(s)" field when Type=Group | Approval Type [sc_ic_aprvl_type_defn_staging] |
Make the Group(s) field visible and mandatory if a group approval is selected. |
| Show "Script" fields when Type=Script | Approval Type [sc_ic_aprvl_type_defn_staging] | Make the Script output and Approver script fields visible if a script approval is selected. |
| Show published information | Approval Type [sc_ic_aprvl_type_defn_staging] | Make the approval definition and approval definition version visible if the published definition is not empty. |
| Show assignment type fields | Task Assignment [sc_ic_task_assign_defn_staging] | Make the Assignment type field visible if it is a direct assignment. |
| Show published assignment definition | Task Assignment [sc_ic_task_assign_defn_staging] | Make the published assignment definition visible if the published definition is not empty. |
| Show custom assignment fields | Task [sc_ic_task_defn_staging] | Make the User(s) and Group(s) fields visible if the assignment has a user specified. |
| Hide Item field | Task [sc_ic_task_defn_staging] | Hide the Item field if the item is not empty. |
| Hide meta fields | Question [sc_ic_question] | Hide fields used by underlying logic, but not requiring user input. |
| Hide Mandatory | Question [sc_ic_question] | Hide field if type is checkbox or label. |
| Show default value | Question [sc_ic_question] | Show default values, depending on the type of variable selected. |
| Numeric Scale type fields | Question [sc_ic_question] | Show numeric scales: Maximum and Minimum if the preconfigured variable type Number is selected. |
| Show Choices related list when appropriate | Question [sc_ic_question] | Show the Choices related list if the variable type Multiple Choice or Select Box is selected. |
| Hide Read Only | Question [sc_ic_question] | Hide the Read only field if the variable type Label, Date, or Date/Time is selected. |
| Read only question type | Question [sc_ic_question] | Hide field if the variable type Read only is selected. |
| Hide Item field on Item Designer - Question view | Question [sc_ic_question] | Hide Staging item field if the item is selected. |
| Force preconfigured Reference type fields | Question [sc_ic_question] | Set the value of preconfigured field to true and read-only if the variable type reference is selected. |
| Show Choices related list when appropriate | Question [sc_ic_question] | Show Choices related list if the variable type Multiple Choice or Select Box is selected. |
| Preconfigured checkbox type fields | Question Type [sc_ic_question_type] | |
| Preconfigured Reference fields | Question Type [sc_ic_question_type] | Show reference and reference qualifier fields if the question type is preconfigured reference type. |
| Preconfigured Questions | Question Type [sc_ic_question_type] | Show question text, read only, help text, and default value fields if the preconfigured question type is selected. |
| Preconfigured Numeric Scale type fields | Question Type [sc_ic_question_type] | Show numeric scales: Maximum and Minimum if the preconfigured variable type Number is selected. |
| Show "Predefined Approval" field when Type=predefined_approval | Approval Definition [sc_ic_aprvl_defn] | Make the Predefined Approval field visible and mandatory if no type is selected. |
| Show "Group" field when Type=Group | Approval Definition [sc_ic_aprvl_defn] | Make the Group field visible and mandatory if no type is selected. |
| Show "User" field when Type=User | Approval Definition [sc_ic_aprvl_defn] | Make the User field visible and mandatory if the user type is selected. |
| Show "Script" fields when Type=Script | Approval Type Definition [sc_ic_aprvl_type_defn] | Make the Script field visible and mandatory if the script type is selected. |
| Show "User(s)" field when Type=User | Approval Type Definition [sc_ic_aprvl_type_defn] | Make User(s) field visible and mandatory if the user type is selected. |
| Show "Group(s)" field when Type=Group | Approval Type Definition [sc_ic_aprvl_type_defn] | Make Group(s) field visible and mandatory if the group type is selected. |
| Show assignment type fields | Task Assignment Definition [sc_ic_task_assign_defn] | Make the User(s) and Group(s) fields visible and hide the Script field if the direct assignment variable type is selected. |
| Custom task fields | Task Definition [sc_ic_task_defn] | Make the User(s) and Group(s) fields visible and hide the Assignment Definition field if variable type Create my own selected. |
Script includes installed with catalog item designer
Script includes are added with activation of the catalog item designer.
| Name | Description |
|---|---|
| sc_ic_Section | Wrapper class for item designer question layout sections. |
| sc_ic_Factory | Entry point for all customization of the service catalog item designer script. |
| sc_ic_ColumnSecurityManager | Security manager for the Column table [sc_ic_column]. |
| sc_ic_QuestionSecurityManager | Security manager for the Question table [sc_ic_question]. |
| sc_ic_CatalogItemRecordProducer | Wrapper class for Record Producer table [sc_cat_item_producer] for the item creator. |
| sc_ic_Base | Base class for all item designer wrapper classes. |
| sc_ic_QuestionClass | Wrapper class for the Question class table [sc_ic_question_class]. |
| sc_ic_TaskDefnStagingSecurityManage | Security manager for the Task table [sc_ic_task_defn_staging]. |
| sc_ic_SectionSecurityManager | Security manager for the Section table [sc_ic_section]. |
| sc_ic_CategoryRequest | Wrapper for the category request table. |
| sc_ic_ApprovalDefnStagingAJAX | Helper function which can be called from client scripts. |
| sc_ic_QuestionChoiceSecurityManager | Security manager for the Question Choice table [sc_ic_question_choice]. |
| sc_ic_ApprovalDefnStagingSecurityManager | Security manager for staged approval definitions. |
| sc_ic_TaskAssignDefnStaging | Wrapper class for sc_ic_task_type_definition_staging. |
| sc_ic_TaskDefnStaging | Wrapper class for staged task definitions. |
| sc_ic_Question | Wrapper class for item designer questions. Subclass to modify and inject using
sc_ic_Factory. See sc_ic_Factory for more
information. |
| sc_ic_SectionAJAX | Service dealing with sections that can be called from client scripts. |
| sc_ic_CatalogTask | Wrapper class for Catalog Task table [sc_task] for item designer functionality. |
| sc_ic_CatalogItem | Wrapper class for Catalog Item table [sc_cat_item] for the item designer. |
| sc_ic_QuestionChoice | Wrapper class for Question Choice table [sc_ic_question_choice]. |
| sc_ic_CatalogItemVariable | Wrapper for catalog item variables. |
| sc_ic_ApprovalDefnStaging | Wrapper for that approval definition staging table. |
| sc_ic_ReqItemApprovalDefn | Wrapper for requested item approval definitions. |
| sc_ic_Item | Subclasses, injected using sc_ic_Factory. For more
information, see sc_ic_Factory. |
| sc_ic_CatalogItemVariableChoice | Wrapper class for variable choices. |
| sc_ic_ReqItemTaskDefn | Wrapper for requested item approval definitions. |
| sc_ic_ItemStagingSecurityManager | Security manager for the Item table [sc_ic_item_staging]. |
| sc_ic_BaseTypeDefnStaging | Base class for all type definition staging classes |
| sc_ic_Column | Wrapper class for item designer question layout columns. |
| sc_ic_ApprovalTypeDefnStaging | Wrapper class for staged approval type definitions. |
| sc_ic_CatalogItemRecordProducerService | Wrapper class for Service table [sc_cat_item_producer_service] for the item designer. |
| sc_ic_QuestionAJAX | Service for item designer questions that can be called from the client. |
| sc_ic_QuestionType | Wrapper class for item designer question types. Subclass to modify and inject
using sc_ic_Factory. See sc_ic_Factory for more
information. |
| sc_ic_TaskDefnStagingAJAX | Service for staged task definitions that can be called from client scripts. |
| sc_ic_RequestedItem | Item creator wrapper class for the Requested Item table [sc_req_item]. |
| sc_ic_ApprovalTypeDefn | Wrapper class for the approval type definition table. |
| sc_ic_TaskAssignDefn | Wrapper class for task assignment definitions. |
| sc_ic_TaskDefn | Wrapper class for task definitions. |
| sc_ic_SecurityManager | Base security manager class for the item designer tables. |
| sc_ic_BaseFactory | Base factory class. Make all customizations in the
sc_ic_Factory class. See sc_ic_Factory for more
information on how to mount customizations. |
| sc_ic_ApprovalDefn | Wrapper for approval definitions. |
| sc_ic_getCategoriesForModule | Class that gets categories. |
Client scripts installed with catalog item designer
Client scripts are added with activation of the catalog item designer.
| Script | Table | Description |
|---|---|---|
| Get next order number | Approval [sc_ic_aprvl_defn_staging] | Populates the Order field by adding 100 to the biggest order on an approval definition defined against the item. |
| Get Approval Type Description | Approval [sc_ic_aprvl_defn_staging] sc_ic_aprvl_defn_design | Displays or hides the approval type description on change of the predefined field value. |
| Reload when an image is deleted true | Item [sc_ic_item_staging] | Reloads the Item designer form when a Desktop or Classic Mobile image is deleted. If it has been Published, sets the record back to state Draft. |
| Process Dialog action | Item [sc_ic_item_staging] | Prompts to make a decision about keeping the modifications to the item before completing the selected action which causes an update. Performs the prompt if the state of the item is set to Published and there are unsaved changes to the item record. |
| Dialog functions | Item [sc_ic_item_staging] | Defines available dialog functions for actions such as display, process, and refresh. |
| Force update of Column dropdown | Question [sc_ic_question] | Updates the Section choice list values on load of the Question dialog box. |
| Mandatory checked | Question [sc_ic_question] | Ensures read only is not true if the question is mandatory. |
| Read only checked | Question [sc_ic_question] | If the question is read only, ensures mandatory is not true. |
| Populate meta fields ["Type" changed] | Question [sc_ic_question] | Populates the meta field values on change of Type on the Add Question form. |
| Populate meta fields ["Option" changed] | Question [sc_ic_question] | Populates the meta field values on change of Option on the Add Question form. |
| Get Question Type Description | Question [sc_ic_question] | Displays the Question type description on change of the Option field value for the following Types: Multi-Line Text, Multiple Choice, Reference. |
| Update Order on Section change | Question [sc_ic_question] | Updates the Order value on the question record to the next question order number available for a selected Section on change. |
| Hide Question Type Choices related list | Question Type [sc_ic_question_type] | Controls the visibility of Question Type Choice related list for questions of type Select Box and Multiple Choice. |
| Adjust position for display | Section [sc_ic_section] | Adjusts the position value on a section record to determine the correct display order. |
| Validate and adjust Position | Section [sc_ic_section] | Validates that the position on a section record value is greater than 0 and displays a field message if not. |
| Get next position | Section [sc_ic_section] | Populates the position field by adding 1 to the biggest position number on a section defined against the item. |
| Get next order number | Task [sc_ic_task_defn_staging] | Populates the Order field by adding 100 to the biggest order on an approval definition defined against the item. |
Business rules installed with catalog item designer
Business rules are added with activation of the catalog item designer.
| Name | Table | When | Description |
|---|---|---|---|
| Validate Category | Item [sc_ic_item_staging] | BEFORE | Abort action if category is invalid. |
| Set Question for non-preconfigured types | Question Type [sc_ic_question_type] | BEFORE | For non-preconfigured question types, set the label using the class name. |
| Prevent multiple non-preconfigured | Question Type [sc_ic_question_type] | BEFORE | Abort the insert/update action and display an error message to the user if a non-preconfigured question type exists. |
| Set Name field | Section [sc_ic_section] | BEFORE | Set name field to label field and add additional message detail. |
| Set value if nil | Question Choice [sc_ic_question_choice] | BEFORE | Set text field to empty string when value is null. |
| Check for duplicate | Section [sc_ic_section] | BEFORE | Abort the insert/update action and display an error message to the user if a section exists. |
| Check for Questions before deleting | Section [sc_ic_section] | BEFORE | Prevent deletion of columns by aborting the delete action and display an error message to the user if the column contains questions. |
| Position must be between 0 or 1 | Column [sc_ic_column] | BEFORE | Show message to user. |
| Check for Questions before deleting | Column [sc_ic_column] | BEFORE | Show message to user. |
| Group/user required for user specified | Task [sc_ic_task_defn_staging] | BEFORE | Show message to user. |
The following business rules do not contain independent logic, but simply call methods in script includes, as indicated. To find out which business rules call which script includes, refer to the default class registrations within the sc_ic_BaseFactory script include.
| Name | Table | When |
|---|---|---|
| sc_ic: Copy Approval Definitions | Requested Item [sc_req_item] | AFTER |
| sc_ic: Copy Task Definitions | Requested Item [sc_req_item] | AFTER |
| Approval definition changed | Approval [sc_ic_aprvl_defn_staging] | AFTER |
| Update detail field | Approval [sc_ic_aprvl_defn_staging] | BEFORE |
| Set the item to draft | Approval Type [sc_ic_aprvl_type_defn_staging] | BEFORE |
| Check and update manager/editor roles | Item Designer Category Request [sc_ic_category_request] | AFTER |
| Copy changes to real Category | Item Designer Category Request [sc_ic_category_request] | AFTER |
| Add Item Designer role on insert | Item Designer Category Request [sc_ic_category_request] | AFTER |
| Column changed | Column [sc_ic_column] | AFTER |
| Set layout changed on delete | Column [sc_ic_column] | AFTER |
| Create default Section | Item [sc_ic_item_staging] | AFTER |
| Set draft if changed | Item [sc_ic_item_staging] | BEFORE |
| Check for Valid Name | Question [sc_ic_question] | BEFORE |
| Question definition changed | Question [sc_ic_question] | AFTER |
| Question meta changed | Question [sc_ic_question] | AFTER |
| Set definition changed on delete | Question [sc_ic_question] | AFTER |
| Set Question Type and Base Type | Question [sc_ic_question] | BEFORE |
| Set question name | Question [sc_ic_question] | BEFORE |
| Question Choice changed | Question Choice [sc_ic_question_choice] | AFTER |
| Set Order number | Question Choice [sc_ic_question_choice] | BEFORE |
| Set layout changed on delete | Section [sc_ic_section] | AFTER |
| Create default Columns | Section [sc_ic_section] | AFTER |
| Section changed | Section [sc_ic_section] | AFTER |
| Set Draft | Task Assignment [sc_ic_task_assign_defn_staging] | BEFORE |
| Set assignment details | Task Assignment [sc_ic_task_assign_defn_staging] | BEFORE |
| Set assignment details | Task [sc_ic_task_defn_staging] | BEFORE |
| Set task definition changed on item | Task [sc_ic_task_defn_staging] | AFTER |
Email notifications installed with catalog item designer
Email notifications are added with activation of the catalog item designer.
| Name | Table | Condition | Recipients |
|---|---|---|---|
| Item Designer Category Request Opened | Item Designer Category Request [sc_ic_category_request] | state EQUALS requested | manager |
| Item Designer Category Rejected | Item Designer Category Request [sc_ic_category_request] | state CHANGES TO rejected | manager |
| Item Designer Category Published | Item Designer Category Request [sc_ic_category_request] | state CHANGES TO created | manager, editors |