Onboarding
Overview
This article supports project teams in collecting information to develop an OTT solution based on AXIS 10. Each paragraph is a list of questions to answer to progress.
Video workflow
Questions:
- How does video content move from source to playback?
- What types of video content are supported, such as live, VOD, …?
- Which systems are involved in preparing, managing, publishing, and delivering video?
- Where are video assets created, encoded, packaged, stored, and distributed?
- How are metadata, playback URLs, images, subtitles, audio tracks, close captions, and availability windows managed?
- How is EPG managed?
- How do entitlement, DRM, and access rules affect the workflow?
- What are the key states of a video asset during its lifecycle?
Advertisement integration
Questions:
- What are the advertisement sources?
- What are the advertisement behaviors?
Data contract
Questions:
- What is the data contract between AXIS 10 and third-party sources?
- What entities are defined by the contract, such as videos, series, seasons, playlists, live events, pages, rows, or users?
- Which fields are mandatory, optional, derived, or deprecated?
- What rules govern naming, identifiers, localization, dates, availability, images, and relationships between entities?
- How is versioning handled when the contract changes?
- Who owns the contract and who approves changes?
- How can teams validate that incoming or outgoing data respects the contract?
Ingestion
Questions:
- Which legacy systems are the source of the ingested data?
- What types of data are migrated or synchronized, such as video metadata, editorial content, images, taxonomies, availability windows, entitlement rules, user data, playback references, or configuration data?
- Is ingestion a one-time migration, a recurring synchronization, or a temporary bridge during the transition period?
- What is the expected ingestion flow from the legacy system to AXIS 10?
- Which data formats or interfaces are used, such as APIs, feeds, exports, files, queues, or manual imports?
- Which legacy entities map directly to new entities, and which require interpretation or transformation?
- How are identifiers handled between legacy and new systems?
- How are relationships preserved, such as series to seasons, seasons to episodes, playlists to videos, or pages to content modules?
- How are media assets, images, subtitles, audio tracks, thumbnails, and playback references migrated or linked?
- How are availability, publication status, regional restrictions, entitlement, and gating rules preserved?
- How are data conflicts handled when the same item exists in both systems?
- How are incomplete, inconsistent, duplicated, or invalid legacy records handled?
- What validation checks confirm that ingested data is usable in the new solution?
- What happens when ingestion fails partially or completely?
- Are failed records retried automatically, corrected manually, or excluded from migration?
- Where can teams check ingestion status, errors, warnings, retries, and completion?
- Who owns ingestion issues: the legacy platform team, the new platform team, the migration team, or the customer?
- What is the cutover strategy from legacy ingestion to native ingestion in the new solution?
- What data reconciliation is required after ingestion?
- What evidence confirms that the migration is complete and reliable?
Third-party integration
Questions:
- Does data flowing from AXIS Front-end API to the front-end implementation require transformation, enrichment, or filtering?
- What API entities are transformed or enriched into front-end view models, components, routes, pages, rails, cards, or player-ready objects?
- Which API fields are mapped directly, renamed, grouped, flattened, enriched, filtered, or ignored?
- How are content relationships transformed, such as series to seasons, seasons to episodes, playlists to rails, or live events to playback cards?
- How are layout and editorial configuration translated into front-end components?
- How are images, labels, calls to action, badges, availability states, and entitlement states adapted for display?
- How are platform-specific differences handled across web, mobile, TV, and other supported devices?
- How does the transformation or enrichment handle missing, unexpected, deprecated, or invalid API fields?
- What fallback behaviors should the front-end apply when required data is unavailable?
- How does the transformation or enrichment maintain the meaning of business rules, such as availability, gating, subscription status, or regional restrictions?
- Who owns the mapping rules between API data and front-end implementation?
- How are mapping changes versioned, documented, and coordinated between API and front-end teams?
Entitlement and subscriptions
Questions:
- How do entitlement and subscriptions work? Is there an integrated third-party?
- How to configure and manage subscriptions per asset?
- How to configure and manage the payment gateway?
- How to configure and manage the geo-blocking?
Analytics
Questions:
- What analytics are collected across the OTT solution?
- Which business, product, technical, and QoE questions should analytics answer?
- Which events are tracked, such as app launch, page view, item click, playback start, playback error, buffering, ad events, login, registration, or subscription? This includes understanding event types, configuring SDKs (e.g., Firebase), and aligning on data ingestion frequency and metadata needs.
- Which platforms are covered, such as web, mobile, TV, and connected devices?
- Which tools or vendors receive analytics data?
- What user consent, privacy, and data protection rules apply?
- How are event names, parameters, user identifiers, and session identifiers standardized?
- How do teams validate that analytics events are firing correctly?
- Who consumes analytics data, and how is it used?
Front-end
Questions:
- What front-end applications or platforms are part of the solution?
- Which channels are supported, such as web, mobile, TV, WebTV, or native apps?
- How does the front-end consume content, configuration, user data, and playback information?
- Which components are configurable and which require development?
- How are pages, rails, modules, navigation, search, and content detail screens assembled?
- How does the front end handle authentication, entitlement, personalization, and playback?
- What is the relationship between the front-end, player SDK, APIs, CMS, and orchestration layer?
- What are the main integration points for front-end developers?
- What are the main debugging areas for front-end issues, such as API responses, layout configuration, player errors, analytics, or device-specific behavior?