Karma/Bundle layout
Appearance
< Karma
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
assets/ ( 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 )
sounds/
AUTHORS ( Should include names of everyone that has contributed to Karma main package )
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 utils/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 )
kindex.html ( The starting page for accessing Karma lessons, should include links to the examples )
lessons/ ( this is the workspace for creating new Karma lessons )
NEWS ( List of important changes to this package indexed by version )
po/
README
utils/ ( The narwhal command-line interpreter for javascript and other utility scripts used by karma.js )
bin/
browser/ ( An html5-capable browser that can be used to create sugar .xo bundle )
karma.js ( The main utility script for karma, all it dependencies live in utils/ )
packages/
tests/
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
palettes.py
places.py
po/
promptservice.py
README
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/
activity text
lesson plan?
teachers note?
en/
images/
audio/