In this conceptual stage, let’s decide how each object type page should look.
For each object page, we’ll define its:
- Attributes = stored data
- Components = displayed features and visuals
By defining these details now, we create a clear blueprint for what needs to be implemented in the package later.
The table below outlines what each object type’s of our Recipe Manager application will need. For example, the Cuisine object type will include a description and a table of recipes.
| Object Type | Attributes | Components |
|---|---|---|
| Cuisine | Description | Table of Recipes |
| Recipe | Description Last Made | Table of similar recipe recommendations Diagram with recommendations |
| [Right-side panel] Recipe creator/Best cook selector Easy/Medium/Hard label selector | ||
| Ingredients List | Description | Table of Ingredients |
| Ingredient Type | Description Out of Stock | List of Recipes the ingredient is used in Diagram with relations |
| [Right-side panel] Ingredient season label selector |
Understanding Attributes and Components
For this tutorial, we’ll break down the table into two parts to examine attributes and components separately. This distinction is necessary because attributes and components are defined in different assets in the package.
Attributes
Seeing the attributes listed for each object type helps identify what needs to be defined in the package and what attribute types you need.
For example, if you want a “Last Made” attribute, configure a date selector for it. Similarly, if you want an “Out of Stock” checkbox, specify it as a boolean type attribute.
In other words, for our Recipe Manager, we’ll need five text attributes for descriptions, one date attribute for ‘Last Made,’ and one checkbox attribute for ‘Out of Stock.‘
| Object Type | Attributes | Attributes Type (Feature) |
|---|---|---|
| Space App Overview | Description | Textbox |
| Cuisine | Description | Textbox |
| Recipe | Description Last Made | Textbox Date selector |
| Ingredients List | Description | Textbox |
| Ingredient Type | Description Out of Stock | Textbox Checkbox |
Components
Components are the building blocks used to define the visual and functional aspects of pages, dashboards, and other UI elements in your Dawiso environment.
Although components are also used to display the attributes from the previous section, in this step, we’ll take a look at the components that dynamically pull data based on API endpoints or their placement within the app. When planning these components, you will need to determine:
- The component type (e.g., table, diagram).
- What kind of information it needs to display (e.g., what kind of columns, attributes, or relations).
Having a clear picture of how an object type’s page will look makes it easier to determine whether a component type can be reused.
For example, if two object types require a table with the same structure (e.g., columns for Object Name, Data Steward, and Parent Object), you can reuse the same component for both.
In our example, however, none of the components will be reusable. Each component will be tailored to its specific object type and purpose.
| Object Type | Component | Component Type |
|---|---|---|
| Space App Overview | List of all objects | Table 1 |
| Cuisine | Table of Recipes | Table 2 |
| Recipe | Table with recommendations | Relations table 1 (manually added relations) |
| Diagram with recommendations | Relations diagram 1 | |
| Right-side panel | ||
| Recipe owner and Best cook selectors | Select box with users | |
| Easy/Medium/Hard label | Select box 1 | |
| Ingredients | Select box 2 | |
| Ingredients List | Table of Ingredients | Table 3 |
| Ingredient Type | Description | Relations table 2 (manually added relations) |
| Relations Diagram | Relations diagram 2 | |
| Right-side panel | ||
| Spring/Summer/Autumn/Winter/Year-round label | Select box 3 |
Next Step: Add Functionality
Once the structure of your object types and pages is clear, you can further enhance your app’s functionality by adding custom assets like workflows, diagrams, and comments. These elements define how users interact with the data, visualize relations, and collaborate effectively.
<— Back to: Define Object Types and Their Relations Next: Decide on Custom Assets —>