# PlantUML Path Management in Web4

## Configuration File

1. Central Configuration:
   - All paths are defined in `config.puml`
   - Located at `/Documentation/ModelRepository/config.puml`
   - Contains all path macros and basic settings

## Path Macro Definitions

1. Basic Syntax:
```plantuml
' CORRECT - using macro definitions
!define BASE_PATH(aPath) /Users/Shared/aPath
!define EAMD_ROOT(aPath) BASE_PATH(EAMD.ucp)/aPath
!define MODEL_DIR(aPath) EAMD_ROOT(Documentation/ModelRepository)/aPath

' Usage
!include MODEL_DIR(Web4Theme.puml)
```

2. Organizing Paths:
   - Define base paths first
   - Build path hierarchy using macros
   - Use parameters for flexibility
   - Keep path structure consistent

3. Example Structure:
```plantuml
' Base definitions
!define BASE_PATH(aPath) /Users/Shared/aPath
!define EAMD_ROOT(aPath) BASE_PATH(EAMD.ucp)/aPath

' Component paths
!define COMPONENTS_DIR(aPath) EAMD_ROOT(Components)/aPath
!define MODEL_DIR(aPath) EAMD_ROOT(Documentation/ModelRepository)/aPath

' Common files
!define THEME_FILE MODEL_DIR(Web4Theme.puml)
!define ACTOR_FILE MODEL_DIR(Actor.puml)
```

## Best Practices

1. Include Order:
   - Theme files first
   - Local style overrides second
   - Model content last

2. File Organization:
   - Keep theme files in central location
   - Use consistent paths across diagrams
   - Document full paths in comments

3. Version Control:
   - Track all .puml files
   - Document required includes
   - Keep paths consistent per environment
