Kaltura Management Console HTML5 based application (a.k.a KMCng). Replaces the legacy KMC flash based application.
Thank you for your interest in the kmc-ng project.
If you find a bug in the source code, you can help us by submitting an issue.
- Ensure you have node.js installed, version 10.0.0 or above.
- Ensure you have git installed
- Ensure you have npm installed, version 6.0.0 or above.
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
ornpm run start
), a check is done to verify that filesrc/server-config.json
exists, if not it is being created automatically with the content ofconfiguration/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
.
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
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 |
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.
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.
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.
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.
- an example for IIS server.
- an example for Nginx server.
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)
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.
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.