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
