Configuration Reference

Complete reference for configuration.yml - the central configuration file for v5 apps.


Overview

configuration.yml is located in your app root folder (not in Resources/views/). It defines:

  • App metadata

  • Routes and navigation

  • Scripts and styles to load

  • Permission mappings

Location: /<Your App>/5.0/configuration.yml


Basic Structure (Sample from Location App)

# App Metadata (all fields are required)
appId: Location
bundleId: iviva-location-app
bundleJsonPath: /Resources/views/bundle.json
scripts:
  - "/Resources/views/dist/main.js"
baseRoute: /location

# Navigation Links
navigationLinks:
  - label: Dashboard
    icon: "dashboard"
    link: /dashboard
    pageId: ui/dashboard-view
    userGroups: []
    appRoles: []
    children: []

# Routes without navigation
otherRoutes:
  "/details/:locationKey":
    pageId: ui/details-view
    userGroups: []
    appRoles: []
    title: ":name"
Property
Type
Description

label

string

Display text (required)

icon

string

Icon name (optional)

link

string

Route path relative to baseRoute (required)

pageId

string

Component ID in format ui/<id> or widget/<id> (required)

userGroups

array

User groups allowed (empty = all)

appRoles

array

App roles allowed (empty = all)

children

array

Nested navigation links (optional)


Nested Navigation

Create hierarchical navigation:

Result: Creates dropdown menu in header navigation.


Other Routes

Routes that don't appear in navigation (e.g., details pages, edit forms).

Basic Route

Route Properties

Property
Type
Description

pageId

string

Component ID in format ui/<id> or widget/<id> (required)

userGroups

array

User groups allowed (empty = all)

appRoles

array

App roles allowed (empty = all)

title

string

Page title, can use :paramName for dynamic values

redirectTo

string

Redirect to another route


Dynamic Route Parameters

Use :paramName syntax:

Parameters are passed as props to components:


Route Redirects

Redirect one route to another:


Permissions

Control access with appRoles and userGroups.

User Groups

App Roles

Page ID Format

Reference registered components:

UI Components

Widget Components


Icons

Icons are optional. We have both FontAwesome and Phosphor icon support. you can use either:


URL Generation

Routes combine with baseRoute:

Final URL: https://account.lucy.com/view/location/portfolios


See Location 5.0 app (/Location/5.0/configuration.yml) for complete working example.

Validation Checklist

Before deploying, verify:


Best Practices

  1. Use descriptive route paths - /portfolios not /p

  2. Keep baseRoute simple - Usually app name (e.g., /location)

  3. Group related links - Use nested navigation

  4. Set appropriate permissions - Don't expose admin routes

  5. Use redirects for root - Redirect / to default page

  6. Consistent naming - Match pageId to component purpose

  7. Document permissions - Comment who should access each route


Next Steps

Let's check the components:

Last updated