Skip to content
Kaltura Management Console HTML5 based application (a.k.a KMCng).
TypeScript JavaScript HTML CSS Python
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github feat: add permissions base infrastructure (#464) Mar 14, 2018
deploy chore: update version of deployed assets Sep 19, 2019
dev chore: move all icons to base64 encoding within sass files Feb 10, 2019
docs chore: update contextual help May 22, 2019
libs feat: Support SSO login (#866) Sep 8, 2019
scripts
src chore: update version of deployed assets Sep 19, 2019
.editorconfig chore: set editorconfig indent size to 4 Apr 11, 2018
.gitignore refactor: use npm@5 instead of yarn to manage dependencies (#212) Sep 26, 2017
.npmrc feat(entry/clips): load entry clips Mar 6, 2017
CHANGELOG.md chore: update version of deployed assets Sep 19, 2019
CONTRIBUTING.md docs: udpate contributing guide and remove upgrade angular stack guide Jul 11, 2018
LICENSE kmc-ng shell scaffold with webpack, typescript, bootstrap and some mo… Aug 2, 2016
README.md
angular.json devop: copy __local_machine_only__ folder to dist when in development… Jul 11, 2018
kaltura-ws.json chore: update standalone commit Sep 19, 2019
package-lock.json chore: update version of deployed assets Sep 19, 2019
package.json chore: update version of deployed assets Sep 19, 2019
tsconfig.json chore: Update Angular and Primeng to v7 (#811) Feb 7, 2019
tslint.json restore point Jun 17, 2018

README.md

KMCng Application

Current phase Gitter chat

Kaltura Management Console HTML5 based application (a.k.a KMCng). Should replace the existing KMC flash based application.

Thank you for your interest in the kmc-ng project. The project is currently under Heavy Development. Every month we add many features and bug fixes, part of them break previous versions code.

In the coming months we plan to complete adding all the features we have in the legacy kmc as well as some new shiny features.

The following list contains some major features in our road-map:

  • upgrade to Angular 5
  • embed permission support across views
  • add multi language translations
  • add missing views like content > distribution, transcoding profile etc
  • add missing tools like create crop from thumbnail, entry flavor > replace media

Got a question or found an Issue?

If you find a bug in the source code, you can help us by submitting an issue.

Getting started

Prerequisites

Run the application

To run KMC-ng application, do the following:

# clone our repo
git clone https://github.com/kaltura/kmc-ng.git

# change directory to your app
cd kmc-ng

# checkout latest standalone code
npm run standalone

# sync dependencies to the new branch
npm install

# run the application in the browser (port 4200)
npm run start -- -o

Note: By default, the src/configuration/server-config-example.json file is configured against the Kaltura production server. We advice you to check that the application works as expected using the default configuration before customizing it against your own server.

when building for development purposes (npm run build, npm start or npm run start), a check is done to verify that file src/server-config.json exists, if not it is being created automatically with the content of configuration/kmc-config-example.json. This file is being removed when building to production.

For CI and on-prem server integrations, you can use the template file src/configuration/server-config.template.json.

KMC-ng Configuration

The configuration of the kmc-ng application is split into several files. Each file serves different area of the application. A list of configuration files can be found below:

Purpose File Path import Statement Can be used by Load phase
Server configuration src/configuration/server-config.ts import { serverConfig } from 'config/server'; All source base runtime configuration (1)(2)
General configuration src/configuration/global-config.ts import { globalConfig } from 'config/global'; All source base transpile into the app bundle (3)
Sub-applications configuration src/applications/sub-applications-config.ts import { subApplicationsConfig } from 'config/sub-applications'; folder 'applications' transpile into the app bundle (3)
Shared modules configuration src/shared/modules-config.ts import { modulesConfig } from 'config/modules'; folder 'shared' transpile into the app bundle (3)
KMC application configuration src/kmc-app/kmc-app-config.ts import { kmcAppConfig } from '../../kmc-app-config'; (4) folder 'kmc-app' transpile into the app bundle (3)
remarks:
  • (1) a matching configuration file server-config.json is loaded by the browser. By default the file is configured against the Kaltura production server. We advice you to check that the application works as expected using the default configuration before customizing it against your own server.
  • (2) for CI and on-prem server integrations, you can use the template file server-config.template.json.
  • (3) this configuration file can be modified only before building the application
  • (4) the path is relative to the file that contains the import statement

External application supported versions

KMC-ng launches various external applications. The following application versions are supported by the current KMC-ng version:

Application Version
Studio V2 v2.2.1
Studio V3 v3.1.1
Live Dashboard v1.4.1
Kava N/A
Live Analytics v2.5
Usage Dashboard v1.0.0
KEA v2.22.5

Contributing

KKC-ng solution is comprised of many packages; The KMC-ng application is developed along-side the kaltura-ng packages. To simplify local development we created a tool that automagically bind them together as-if they where part of the same repository.

To contribute to this project please refer to CONTRIBUTING.md file.

Deploy standalone application

To create a standalone application, do the following:

# make sure you are working with latest standalone code
$ npm run standalone

# re-fetch all dependencies. this is a mandatory step
$ rm -rf node_modules
$ npm install

# create a deployable version
$ npm run build -- --prod

A distributed standalone application will be created in the dist/ folder.

External (standalone) applications integrations

The KMC integrates several standalone applications using iFrames. It contains a dedicated bridge component responsible for the communication with between the KMC shell and standalone application. External applications are not part of the KMC deployment process, they are configured at runtime by the server as part of the configuration file server-config.json. Read local_machine_only/README.md to learn more about standalone applications integration.

Configuring the server

Angular applications are considered as Single page applications (a.k.a SPA). This requires the server to be configured correctly. Each technology has its own configuration set.

You will also need to setup <base href="/"> in the index.html file to match the relative path this application will be hosted at.

  • You can do it manually after you created the deployed application
  • You can do it as part of the build command as shown below:
npm run build -- --prod --baseHref /your-app-path/

Important Make sure you wrap the value with / (both as a suffix and as a prefix)

FAQ

Where can I create a kaltura account to access the application?

If you already have a Kaltura account you can use its' credentials to login to the kmc-ng application.

Note that any changes to the data will affect your production account. Keep in mind that we are currently under heavy development.

If you don't have an account yet, you can sign-up to a free trial.

License and Copyright Information

All code in this project is released under the AGPLv3 license unless a different license for a particular library is specified in the applicable library path.

Copyright © Kaltura Inc. All rights reserved.

You can’t perform that action at this time.