Skip to content

Collection Editor to support content types like Book, Collection, Course, Lesson Plan

License

Notifications You must be signed in to change notification settings

NandiniAV/sunbird-collection-editor

 
 

Repository files navigation

Build Status npm version

Collection Editor

Collection Editor which allows user to create a group of contents. It can be (ECML, Pdf, HTML, H5P, Epub, Youtube, Mp4/Webm)

How to configure

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();
        });
      }
    });

How to setup sunbird-collection-editor in local

  1. Clone the sunbird-collection-editor repo from here
  2. Clone the sunbird-content-plugins repo from here
  3. Go to the root directory sunbird-collection-editor.
  4. Run npm install to install node moduels.
  5. cd app and run bower install to install bower components
  6. Create a symlink to 'sunbird-content-plugins' (ln -s ../sunbird-content-plugins plugins)(Linx, mac) for windows: use mklink

ChangeLogs

For changes logs please refer here

For sunbird-collection-editor demo please visit here

License

This project is licensed under the MIT License - see the LICENSE file for details

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Any Issues?

We have an open and active issue tracker. Please report any issues.

About

Collection Editor to support content types like Book, Collection, Course, Lesson Plan

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CSS 81.3%
  • JavaScript 18.2%
  • Other 0.5%