# Resource Management (cf.cplace.resourceManagement)

## Overview

The Resource Management app enables configuration and planning of resources across projects and teams. It provides a framework for defining resource types (like people, equipment, or budget), planning items (tasks, projects), and value types (allocations) that connect them. The app includes a Resource Planner widget for visualizing allocations and utilization over time.

**Key Capabilities:**
- Configure which types in your workspace represent resources (people, equipment, etc.)
- Configure which types represent planning items (tasks, projects, etc.)
- Define value types that connect resources to planning items (allocations)
- Visualize resource allocations and capacity utilization with the Resource Planner widget
- Custom tooltip scripts for detailed hover information

## Dependencies

| App | Qualified Name | Auto-Installed |
|-----|----------------|----------------|
| cplace Basis | `cf.cplace.platform` | Yes (always present) |

**Note:** This app has no additional dependencies beyond the base platform.

## Types Provided

### cf.cplace.resourceManagement.resourceTypeConfiguration

Configures which types in the workspace should be treated as **resources** (e.g., Person, Team, Machine).

| Attribute | Type | Required | Description |
|-----------|------|----------|-------------|
| `cf.cplace.resourceManagement.type` | Type Reference | Yes | The type to be used as a resource |
| `cf.cplace.resourceManagement.capacityAttribute` | Attribute Reference | No | Attribute defining the capacity of the resource |
| `cf.cplace.resourceManagement.actualAttribute` | Attribute Reference | No | Attribute defining the actual/used value |
| `cf.cplace.resourceManagement.responsibleAttribute` | Attribute Reference | No | Attribute defining responsible person(s) |
| `cf.cplace.resourceManagement.userReferenceAttribute` | Attribute Reference | No | Attribute for displaying user profile picture |
| `cf.cplace.resourceManagement.icon` | Text/Icon | No | Icon displayed in Resource Planner widget |

### cf.cplace.resourceManagement.planningItemTypeConfiguration

Configures which types in the workspace should be treated as **planning items** (e.g., Task, Project, Work Package).

| Attribute | Type | Required | Description |
|-----------|------|----------|-------------|
| `cf.cplace.resourceManagement.type` | Type Reference | Yes | The type to be used as a planning item |
| `cf.cplace.resourceManagement.demandAttribute` | Attribute Reference | No | Attribute defining the demand/need |
| `cf.cplace.resourceManagement.actualAttribute` | Attribute Reference | No | Attribute defining the actual value |
| `cf.cplace.resourceManagement.icon` | Text/Icon | No | Icon displayed in Resource Planner widget |

### cf.cplace.resourceManagement.valueTypeConfiguration

Configures which types represent **allocation values** that connect resources to planning items.

| Attribute | Type | Required | Description |
|-----------|------|----------|-------------|
| `cf.cplace.resourceManagement.type` | Type Reference | Yes | The type to be used as a value type |
| `cf.cplace.resourceManagement.resourceAttribute` | Attribute Reference | No | Attribute linking to the resource |
| `cf.cplace.resourceManagement.planningItemAttribute` | Attribute Reference | No | Attribute linking to the planning item |
| `cf.cplace.resourceManagement.icon` | Text/Icon | No | Icon displayed in Resource Management widgets |

### cf.cplace.resourceManagement.tooltip

Configures custom tooltips for the Resource Planner widget.

| Attribute | Type | Required | Description |
|-----------|------|----------|-------------|
| `cf.cplace.resourceManagement.isActive` | Boolean | Yes | Whether this tooltip is active |
| `cf.cplace.resourceManagement.isDefault` | Boolean | Yes | Whether this is the default tooltip for all types |
| `cf.cplace.resourceManagement.referencedTypes` | Type Reference | No | Specific types this tooltip applies to (multi-value) |
| `cf.cplace.resourceManagement.script` | Text/Script | No | cplaceJS script to generate custom tooltip content |

## Widgets Provided

| Widget | Widget Kind | Description |
|--------|-------------|-------------|
| Resource Planner | `cf.cplace.resourceManagement.resourcePlannerDefinition` | Visualizes resource allocations and utilization over time with a hierarchical tree view and time-phased grid with color-coded capacity indicators |

### Resource Planner Widget Details

The Resource Planner widget provides:
- **Hierarchical view**: Shows resources and their allocations in a tree structure
- **Time-phased grid**: Displays allocation values across configurable time periods
- **Capacity indicators**: Color-coded cells showing utilization (under/over capacity)
- **Custom tooltips**: Scriptable tooltips for detailed hover information
- **Icon support**: Configurable icons for resources and planning items

## Usage Notes

### When to Use This App

- **Resource Planning**: When you need to track who is assigned to what and their availability
- **Capacity Management**: When you need to visualize and manage resource capacity vs. demand
- **Portfolio Planning**: When allocating resources across multiple projects or initiatives
- **Team Workload**: When balancing work across team members

### Configuration Pattern

1. **Define your resource type** (e.g., Person, Team, Equipment)
2. **Define your planning item type** (e.g., Task, Project, Work Package)
3. **Define your value type** that connects them (e.g., Allocation, Assignment)
4. **Create configuration pages** for each type mapping
5. **Add the Resource Planner widget** to visualize allocations

### Related Apps

| App | Purpose |
|-----|---------|
| `cf.cplace.resourceManagement.resourceManagementChart` | Additional chart visualizations for resource data |
| `cf.cplace.projectPlanning.app.basic.basicScheduleManagement` | Schedule, Task, Milestone types that can be used as planning items |

### Prerequisites

Before using this app effectively, you need:
1. Types defined for your resources (e.g., a Person or Team type)
2. Types defined for your planning items (e.g., Task, Project)
3. A type that represents the allocation/assignment relationship
4. Appropriate number or time-series attributes for capacity, demand, and actual values

---

*Investigation performed: 2026-02-02*
*Workspace used: [App Investigation] cf.cplace.resourceManagement (7dtquyi33dyyklcunbx3w4iin)*
