303: What Are Components?

Components are accessories designed with similar functionality to products but are designed to be add-ons for a product. While products and components are created the same way, they behave differently. Add-ons to your products typically do not stand alone, while products can stand alone and can contain several add-ons that are not automatically installed. With the implementation of components your team can have specialized products by its ability to add multiple accessories to your system.

The component structure can be seen in the following schematic. As the schematic implies, products are the top-level unit while components are considered lower-level. Please note that variables, tasks, and resources all flow from lower levels to higher levels but not the other way around. To elaborate, when a component is connected to a product, all of the components content will flow up towards the product. This means that all tasks, variables, and resources will be available in the product. However, this does not occur the opposite way, meaning that tasks, variables, and resources found in the product will not show up in the component. The only exception is variables that are shared between all connected products and components.

Once components are attached to the product, you can ask questions to the product about its components. This reduces jumping from GPT to GPT to get an inquiry about an issue that pertains to both.