## Overview

The Attributes widget shows all attributes of a page and allows you to edit them. It provides a comprehensive view of all attributes defined on a page's type, automatically discovering and displaying every attribute without requiring manual selection or layout configuration. This "convention over configuration" approach makes it the simplest way to show complete attribute information on any entity page.

The widget displays attributes in the order defined in the type definition and includes custom attributes, built-in system attributes, and inherited attributes from parent types.

Shows ALL attributes automatically with no control. **Use only for rapid prototyping, never for production layouts.**


## Use Cases

### Standard Page Attribute Display

Display all attributes on entity detail pages where complete attribute coverage is needed. This is common for:

- Entity detail pages where all information should be visible
- Admin or configuration pages showing complete data
- Forms where all attributes need to be filled out

### Rapid Prototyping

Build pages quickly without manually configuring individual attribute widgets. The widget automatically adapts when type definitions change, making it ideal for:

- Early development phases
- Proof-of-concept implementations
- Internal tools where UI polish is secondary

### Settings and Configuration Pages

Display all configuration options for system settings pages, entity configuration forms, or type definition pages showing available attributes.

### Full Edit Forms

Provide complete editable forms for entities when users need to edit multiple attributes at once, such as bulk data entry scenarios or entity creation workflows.

## Design Considerations

### Zero Configuration Philosophy

The widget intentionally has no user-configurable parameters. This design choice prioritizes:

- Immediate functionality without setup
- Automatic adaptation to type definition changes
- Consistent presentation across all entity types

### Permission-Aware Rendering

The widget respects entity-level permissions:

- Read permission is required to view the widget
- Edit permission is required to see the "Edit" button
- Individual attributes may have additional read/write restrictions

### Attribute Filtering

By default, the widget excludes attributes marked as "hidden in attributes widget" in the type definition. The order of attributes matches the type definition order.

## Alternatives

Consider these alternatives when the Attributes widget does not meet your requirements:

| Requirement | Recommended Alternative |
|-------------|------------------------|
| Custom layout with columns or grouping | Grouped Attributes of a Page (`cf.cplace.platform.attributesGroup`) |

### Decision Guide

**Use the Attributes widget when**:
- You need to show all attributes of a page
- Zero configuration setup is preferred
- Default ordering and layout is acceptable
- Building internal tools or prototypes quickly

**Consider alternatives when**:
- Custom attribute layout is required
- Only specific attributes should be visible
- Attributes need custom labels or conditional visibility
- Integration with table selections is needed

## Embedding Constraints

The widget can be embedded on:
- CustomEntity pages (standard entity pages with type definitions)
- Type definition pages

The widget cannot be embedded in:
- Spaces (workspace-level pages)
- Documents (file entities)
- Other widgets (it is not container-embeddable)
