Ga naar hoofdinhoud

Administration

Nextcloud admin panel for configuring Pipelinq, plus the foundational OpenRegister integration that stores all CRM data.

Specs

  • openspec/specs/admin-settings/spec.md
  • openspec/specs/openregister-integration/spec.md

Features

Nextcloud Admin Panel (MVP)

Pipelinq registers a settings section in Nextcloud's admin panel, accessible to administrators for configuration.

  • Register status display (shows OpenRegister connection health)
  • Re-import configuration action (reloads schemas from config file)

Pipeline Management (MVP)

Full CRUD for pipelines and their stages from the admin panel:

  • Create, edit, and delete pipelines
  • Add, reorder, and remove stages within pipelines
  • Set default pipeline (exactly one pipeline marked as default)
  • Drag-and-drop stage reordering

Default Pipelines on Installation (MVP)

Two default pipelines are created automatically during app installation via the repair step:

  • Sales Pipeline (default): New → Contacted → Qualified → Proposal → Negotiation → Won → Lost
  • Service Requests: New → In Progress → Completed → Rejected → Converted

Settings Persistence (MVP)

All configuration is stored in Nextcloud's IAppConfig and survives app updates and server restarts.

OpenRegister Integration (MVP)

Pipelinq owns no database tables. All data is stored as OpenRegister objects in the pipelinq register with 11 schemas:

  • client: Person or organization
  • contact: Contact person linked to a client
  • lead: Sales opportunity
  • request: Service/intake request
  • pipeline: Configurable workflow board with stages
  • product: Product or service catalog item
  • productCategory: Product category hierarchy
  • leadProduct: Product line items on leads
  • queue: Priority work queue for routing
  • skill: Skill/expertise definition for routing
  • agentProfile: Agent skill profile and routing configuration

Auto-Configuration on Install (MVP)

The repair step (InitializeSettings) automatically:

  1. Checks if OpenRegister is available (skips gracefully if not installed)
  2. Imports the register configuration from pipelinq_register.json
  3. Creates default pipelines
  4. Ensures system tags are set up

Pinia Store Pattern (MVP)

A generic object store (useObjectStore) manages all entity types through a single Pinia store. Features:

  • CRUD operations: fetchCollection, fetchObject, saveObject, deleteObject
  • Structured error objects with HTTP status distinction (404, 403, 422, 500)
  • 422 validation error parsing with field-level feedback
  • Batched reference resolution (resolveReferences) to avoid N+1 queries
  • Pagination support
  • Object caching

Error Handling (MVP)

Comprehensive error handling across the frontend:

  • Structured errors: { message, status, fields } instead of plain strings
  • List views: inline error display with retry button (NcNoteCard)
  • Detail views: error toasts on save/delete failures (showError)
  • Form preservation: form data stays intact when save fails
  • Network error detection and user-friendly messaging

RBAC Integration (MVP)

All data access respects OpenRegister's role-based access control. Dashboard data and entity lists are scoped to the user's permissions.

Audit Trail (MVP)

OpenRegister automatically tracks who created/modified objects and when, providing full audit trail without additional Pipelinq code.

Planned (V1)

  • Lead source value configuration (admin-customizable dropdown values)
  • Request channel value configuration
  • NL Design System theming support

Queue Management (Enterprise)

Admin section for managing work queues:

  • Queue CRUD with inline edit (title, description, categories, maxCapacity, active toggle)
  • Agent assignment to queues via user picker
  • Category tags input for routing configuration
  • Default queues created on install: Algemeen, Vergunningen, Klachten

Skill Management (Enterprise)

Admin section for managing skill definitions and agent profiles:

  • Skill CRUD with category mapping (title, description, categories, active toggle)
  • Agent profile management: assign/remove skills, set maxConcurrent, toggle availability
  • Default skills created on install: Algemene Dienstverlening, Vergunningen, Belastingen, WMO / Zorg, Klachten

Planned (Enterprise)

  • Priority label/color customization
  • Field-level access control