The Main Karma Package
Consists of an HTML5 capable browser (activity), a lesson bundle, examples, and utilities to start working with Karma quickly
This is what is contained in the repository at http://git.sugarlabs.org/projects/karma/
- Includes script for Karma activity generation, xo bundle generation
- includes "platform" files, i.e. a basic html5-capable browser that can be used to create an xo bundle
AUTHORS # Should include names of everyone that has contributed to KarmaBuilder ChangeLog COPYING # Licensing information, should default to MIT License ? how distinguish b/w code licensing and content licensing css/ # css/ and js/ contain the code common to all examples, lessons, and karma.html examples/ # working examples of karma lessons js/ # css/ and js/ contain the code common to all examples, lessons, and karma.html INSTALL karma # This is a shell script that launches karma.js, it just checks if you have java installed so you can run karma.js # it is inspired partly by rails and django-admin administrative scripts karma.html # The starting page for accessing Karma lessons, should include links to the examples karma.js # The main utility script for karma, all it dependencies live in utils/ lessons/ # this is the workspace for creating new Karma lessons locale/ # images, sounds, and text common to karma.html, examples, and the lessons default/ images/ sounds/ locale_name/ images/ locale_name.json # karma actually needs the .po file to be converted to .json locale_name.po sounds/ NEWS # List of important changes to this package indexed by version platform/ # An html5-capable browser that can be used to create sugar .xo bundle po/ README utils/ # The narwhal command-line interpreter for javascript and other utility scripts used by karma.js
Karma XO bundle
- similar to E-Paath layout and uses the standard Sugar bundle structure
- It is still undecided whether karma will default to using Browse which is based on Firefox or Surf which based on webkit (Safari/Chrome). Surf requires that you install the rpms for pywebkitgtk and webkitgtk
activity/ activity.info (activity info file) activity-web.svg (icon for activity as specified in activity.info) mimetypes.xml (map documents to MIME types) text-plain.svg (icons for documents, e.g. "text-plain.svg" for "text/plain") text-html.svg contents (manifest for bundle contents) contents.sig (credentials for signed bundle) permissions.info (optional; not a stable API) AUTHORS bin/ launch.sh (launcher script) browser.dtd browser.py cert8.db clickToView.xml COPYING downloadmanager.py edittoolbar.py globalhistory.py icons linkbutton.py lessons/ locale MANIFEST messenger.py model.py NOTES palettes.py places.py po promptservice.py securitydialogs.py sessionhistory.py sessionstore.py setup.py viewtoolbar.py karmaactivity.py webtoolbar.py
Karma lesson bundle
consists of multiple lesson in a single bundle
- common jquery and css files in a single folder
- preferably a script can be used to generate a lesson bundle with accompanying main menu and search (probably some sort of sitemap)
bundle_name/ mainmenu.html css/ # common css files (e.g. jquery.jgrowl.css and menu.css) js/ # common javascript / jquery files lessons/ # directory for all the lessons lesson_name/
Lesson
consists of a single lesson
lesson_name/ index.html # valid html5 -- markup only includes visual elements and links in other resources, no inline code or styling css/ # css files -- all control of presentation done in CSS karma.css # default stylesheet for Karma lesson_name.css # custom stylesheet for lesson js/ # javascript files karma.js # common javascript functions for a Karma lesson jquery.js, jquery.growl.js # utility functions from jQuery lesson_name.js # javascript controlling logic for the lesson po/ # translation files ne_NP.po # example translation file for Nepal - Nepali sp_ES.po # example translation file for traditional Spanish assets/ ne/ images/ audio/ docs/ lesson plan? teachers note? en/ images/ audio/