The generic editor is used to create contents which can be uploaded as files(H5P, epub, PDF, HTML, Youtube, Video).
Download the content editor using the following command:
Run npm i @project-sunbird/generic-editorRequired configuration
window.context = {
user: {
id: "",
name: "",
orgIds: []
},
sid: "",
contentId: "do_2125953980374712321362",
pdata: {
id: "",
ver: "1.10.",
pid: ""
},
tags: [],
channel: "",
env: "genericeditor",
framework: "NCF",
uid: "",
etags: {
app: [],
partner: [],
dims: []
}
}window.config = {
baseURL: "",
apislug: "/action",
build_number: "",
pluginRepo: "/content-plugins",
aws_s3_urls: [],
plugins: [
{
id: "",
ver: "",
type: ""
}
],
corePluginsPackaged: true,
dispatcher: "local",
localDispatcherEndpoint: "/app/telemetry",
previewURL: "/content/preview/preview.html",
extContWhitelistedDomains: "youtube.com,youtu.be",
modalId: "genericEditor",
alertOnUnload: true,
headerLogo: "",
loadingImage: "",
previewConfig: {
repos: [],
plugins: [
{
id: "",
ver: "",
type: ""
}
],
splash: {
text: "",
icon: "",
bgImage: "",
webLink: ""
},
overlay: {
showUser: false
},
showEndPage: false
},
enableTelemetryValidation: false,
absURL: "",
genericeditorPlugins: [
{
id: "",
ver: "",
type: "plugin"
}
],
corePlugins: [],
corePluginMapping: {},
useProxyForURL: false,
cloudStorage: {}
}| Property Name | Description | Default Value | Example |
|---|---|---|---|
user |
It is a object, Which should contain the user details(userId, name) |
NA | |
sid |
It is a string, Session identifier |
NA | |
contentId |
It is a string, content identifier |
NA | |
pdata |
It is a object, producer information.It can have producer version, producer Id |
NA | |
tags |
It is a array, Encrypted dimension tags passed by respective channels |
NA | |
channel |
It is a string, Channel which has produced the event |
NA | |
framework |
It is a string, example:NCF, NCERT |
NA | |
baseURL |
It is a string, host url |
NA | |
corePluginsPackaged |
It is a boolean, Which enables the collection-editor to load the plugins from packaged script rather than individual |
true | |
pluginRepo |
It is a string, From which location plugins should load |
/plugins | |
dispatcher |
It is a string,Where the telemetry should log ex(console, piwik, library, local) |
console | |
plugins |
It is a array, Array of plugins ex:[{id:"org.sunbird.header",ver:"1.0",type:"plugin"}] |
NA | |
cloudStorage |
It is object and which defines cloud storage configuration which contains provider & presigned_headers for diff service provider for example: Azure, AWS |
cloudStorage: { provider: azure, presigned_headers: { 'x-ms-blob-type': 'BlockBlob' // This header is specific to azure storage provider. } } |
The default configuration can be overwrite by passing empty headers. For example: If you don't want to pass any headers for AWS than pass as empty headers as below: cloudStorage: { provider: azure, presigned_headers: { } } |
openGenericEditor() {
jQuery.fn.iziModal = iziModal;
jQuery('#genericEditor').iziModal({
title: '',
iframe: true,
iframeURL: 'url', // collection-editor node_modules index.html path
navigateArrows: false,
fullscreen: false,
openFullscreen: true,
closeOnEscape: false,
overlayClose: false,
overlay: false,
overlayColor: '',
history: false,
onClosing: () => {
this._zone.run(() => {
this.closeModal();
});
}
});- Clone this sunbird-generic-editor repo from here
- Clone the sunbird-content-plugins repo from here
- Go to the root directory sunbird-generic-editor.
- Run
npm installto install node modules. cd appand runbower installto install bower components- Create a symlink to 'sunbird-content-plugins' (
ln -s ../sunbird-content-plugins plugins)
On Windows: use
mklink
- Configure the genric editor here
- Run
node app - Open Chrome and visit this link: http://localhost:3000/app
For changes logs please refer [here](https://github.com/project-sunbird/sunbird-generic -editor/releases)
For sunbird-generic-editor demo please visit here
This project is licensed under the MIT License - see the LICENSE file for details
We use SemVer for versioning. For the versions available, see the tags on this repository.
We have an open and active issue tracker. Please report any issues.