
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
@project-sunbird/collection-editor
Advanced tools
Collection Editor to support content types like Book, Collection, Course, Lesson Plan
Collection Editor which allows user to create a group of contents. It can be (ECML, Pdf, HTML, H5P, Epub, Youtube, Mp4/Webm)
Download collection editor
Run npm i @project-sunbird/collection-editor
Required configuration
Lesson Plan
[{"type":"TextBook","label":"Textbook","isRoot":true,"editable":true,"childrenTypes":["TextBookUnit"],"addType":"Editor","iconClass":"fa fa-book"},{"type":"TextBookUnit","label":"Textbook Unit","isRoot":false,"editable":true,"childrenTypes":["TextBookUnit","Collection","Content"],"addType":"Editor","iconClass":"fa fa-folder-o"},{"type":"Collection","label":"Collection","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"},{"type":"Content","label":"Content","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"}]
Textbook
[{"type":"TextBook","label":"Textbook","isRoot":true,"editable":true,"childrenTypes":["TextBookUnit"],"addType":"Editor","iconClass":"fa fa-book"},{"type":"TextBookUnit","label":"Textbook Unit","isRoot":false,"editable":true,"childrenTypes":["TextBookUnit","Collection","Content"],"addType":"Editor","iconClass":"fa fa-folder-o"},{"type":"Collection","label":"Collection","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"},{"type":"Content","label":"Content","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"}]
Course
[{"type":"TextBook","label":"Textbook","isRoot":true,"editable":true,"childrenTypes":["TextBookUnit"],"addType":"Editor","iconClass":"fa fa-book"},{"type":"TextBookUnit","label":"Textbook Unit","isRoot":false,"editable":true,"childrenTypes":["TextBookUnit","Collection","Content"],"addType":"Editor","iconClass":"fa fa-folder-o"},{"type":"Collection","label":"Collection","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"},{"type":"Content","label":"Content","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"}]
Collection
[{"type":"Collection","label":"Collection","isRoot":true,"editable":true,"childrenTypes":["Collection","Resource"],"addType":"Editor","iconClass":"fa fa-folder-o"},{"type":"Collection","label":"Collection","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"},{"type":"Resource","label":"Resource","isRoot":false,"editable":false,"childrenTypes":[],"addType":"Browser","iconClass":"fa fa-file-o"}]
window.context = {
user: {
id: "",
name: "",
},
sid: "",
contentId: "do_4325354353975347",
pdata: {
id: "",
ver: "build_number",
pid: 'sunbird-portal'
},
tags: [],
channel: "",
framework: "",
env: ""
};
window.config = {
baseURL: "",
corePluginsPackaged: true,
pluginRepo: "/plugins",
dispatcher: 'console',
apislug: '/action',
nodeDisplayCriterion: {
contentType: ['TextBook', 'TextBookUnit']
},
keywordsLimit: 500,
plugins:[],
editorConfig: {
"mode": "Edit",
"contentStatus": "draft",
"rules": {
"levels": 3,
"objectTypes": course/textbook/collection
},
"defaultTemplate": {}
}
}
Property Name | Description | Default Value |
---|---|---|
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) | console |
keywordsLimit | It is a number , Max response keyword size | 500 |
plugins | It is a array , Array of plugins ex:[{id:"org.sunbird.header",ver:"1.0",type:"plugin"}] | NA |
editorConfig | It is a object , editor config related to tree | NA |
mode | It is a string , View mode of the collection editor, either it can be read/edit | edit |
contentStatus | It is a string , content status | draft |
rules | It is a object , which defines the rules for the collection-tree | NA |
levels | It is a number , Which defines the Max level of nodes can be added to tree | 3 |
objectTypes | It is a object , It can be textbook, course, collection, lessonplan | NA |
openCollectionEditor() {
jQuery.fn.iziModal = iziModal;
jQuery('#collectionEditor').iziModal({
title: '',
iframe: true,
iframeURL: 'url', // collection-editor node_moduels index.html path
navigateArrows: false,
fullscreen: false,
openFullscreen: true,
closeOnEscape: false,
overlayClose: false,
overlay: false,
overlayColor: '',
history: false,
onClosing: () => {
this._zone.run(() => {
this.closeModal();
});
}
});
npm install
to install node moduels.cd app
and run bower install
to install bower componentsln -s ../sunbird-content-plugins plugins
)(Linx, mac)
for windows: use mklink
For changes logs please refer here
For sunbird-collection-editor demo please visit here
FAQs
Collection Editor to support content types like Book, Collection, Course, Lesson Plan
We found that @project-sunbird/collection-editor demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.