IndoorMedia

Music Rights Management Portal

A content management and royalty tracking portal for music authors, built by repurposing Terrasoft BPM Online — an enterprise CRM platform — into a client-facing media asset management system.


Overview

Industry: Music Publishing / Digital Rights Management
Product Type: B2B/B2C Content Management Portal
Architecture: Terrasoft BPM Online (C# backend, ExtJS frontend) with custom BPMN workflows, external service integrations, and a white-label client portal layer

The portal allowed music authors to register, upload compositions, sign royalty agreements online, and track download and listening statistics. The system handled the full lifecycle of a music asset: upload → content validation → contract generation → distribution tracking. Integration with ESign enabled legally binding digital contracts, while a secondary integration exposed playlist and radio channel management to end users via a companion site.


Architecture Context

Environment

  • Terrasoft BPM Online v7 (upgrade to v9 mid-project) — base platform
  • C# application server — discovered during integration phase (not documented at project start)
  • ESign — external electronic document signing service
  • Companion buyer-side portal and public website — integrated via API
  • Production-first deployment enforced by management — no staging environment used

Stack

  • Backend: C# (Terrasoft BPM Online server layer)
  • Frontend: JavaScript, ExtJS (Terrasoft native UI framework), jQuery, AJAX
  • Markup: HTML5, CSS, Bootstrap (custom pages outside BPM shell)
  • Process modeling: BPMN (Terrasoft built-in workflow engine)
  • Integrations: ESign API, companion site API, buyer portal API

Features

  • External user registration and authentication within a system not designed for public access
  • Multi-file audio upload on a single page with progress tracking
  • BPMN-driven workflows for client onboarding, content moderation, and contract lifecycle
  • Auto-generated royalty agreements with ESign integration for digital signing
  • Playlist and radio channel management exposed via companion portal
  • Custom widgets and object management pages built on top of Terrasoft’s ExtJS layer

My Contribution

  • Implemented external user registration and auth flows within Terrasoft BPM — a platform architecturally oriented toward internal enterprise users
  • Built multi-file audio upload interface on a single page using ExtJS and AJAX, handling chunked upload and server-side validation
  • Designed and implemented BPMN business processes for: client registration with email confirmation, audio content submission and moderation, royalty agreement auto-generation
  • Integrated ESign API for legally binding digital contract signing within the content upload flow
  • Developed integration layer connecting the BPM portal with the public website and buyer-side platform
  • Delivered custom ExtJS widgets and management pages for audio content, playlists, and client object management
  • Led platform recovery after v7→v9 production upgrade failure: audited all custom pages and objects, resolved breaking changes, restored service over a four-month remediation effort
  • Headed the development team from spring 2017: 2 developers, 1 tech lead, 1 sysadmin, 1 analyst

Engineering Highlights

Platform misuse as a design constraint. Terrasoft BPM Online is an enterprise process automation tool — warehouse management, contracts, procurement. Adapting it into a public-facing content portal with external user registration, media asset workflows, and third-party integrations required working entirely within the platform’s extension model: custom BPMN processes, ExtJS UI overrides, and server-side C# hooks. There was no supported path for most of what the product required — every feature was an edge case of the platform’s intended use.

Undocumented C# backend — discovered at integration stage. Three months into the project, integrating external services revealed that the application server was C# — a fact absent from any initial project documentation. This required rapid cross-layer diagnostics: tracing the integration surface through ExtJS client calls into the BPM server layer, then mapping C# extension points available for service connectors. Production-first mindset here meant no room for extended investigation — integration had to proceed without halting ongoing frontend work.

v7 → v9 upgrade failure and recovery. Management forced a direct production upgrade from BPM v7 to v9, bypassing any staging validation. The platform version delta introduced breaking changes across all custom objects, pages, and BPMN process definitions — a predictable outcome of upgrading a heavily customized non-standard deployment. Root-cause analysis identified ~4 months of remediation scope: page-by-page audit, object schema migration, workflow process reconstruction, and regression testing in a live production environment. The incident is a textbook case of the cost of skipping environment parity and ignoring engineering risk assessment.


Technologies

C#, JavaScript, ExtJS, jQuery, AJAX, HTML5, CSS, Bootstrap, BPMN

Indoormedia - ExpertMusic
Indoormedia – ExpertMusic