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