Jump to content

Karma/Bundle layout: Difference between revisions

From Sugar Labs
BryanWB (talk | contribs)
No edit summary
BryanWB (talk | contribs)
 
(45 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== The Main Karma Package ==
== The Main Karma Package ==


''Consists of an HTML5 capable browser (activity), a lesson bundle, examples, and utilities to start working with Karma quickly''
''A set of tools that will help you start working with Karma quickly''


This is what is contained in the repository at http://git.sugarlabs.org/projects/karma/
This is what is contained in the repository at http://git.sugarlabs.org/projects/karma/
Line 8: Line 8:
* includes "platform" files, i.e. a basic html5-capable browser that can be used to create an xo bundle
* includes "platform" files, i.e. a basic html5-capable browser that can be used to create an xo bundle


   
  ROOT/                             ( ROOT is not actually a directory name, it just labels the top-level of this package )
    AUTHORS                        # Should include names of everyone that has contributed to KarmaBuilder
     assets/                        ( images, audio, and text common to karma.html, examples, and the lessons for the launch page for all lessons )
    ChangeLog                     
           image/
    COPYING                        # Licensing information, should default to MIT License  ? how distinguish b/w code licensing and content licensing
          audio/
    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 [http://docs.djangoproject.com/en/dev/ref/django-admin/ 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/
                  karma.pot       
                  sounds/
           locale_name/
           locale_name/
                     images/             
                     image/             
                     locale_name.json  # karma actually needs the .po file to be converted to .json
                     locale_name.json  ( karma actually needs the .po file to be converted to .json )
                     locale_name.po
                     audio/
                    sounds/
    AUTHORS                        ( Should include names of everyone that has contributed to Karma main package )
     NEWS                            # List of important changes to this package indexed by version
    css/                          ( css/ and js/ contain the code common to all examples, lessons )
     platform/                       # An html5-capable browser that can be used to create sugar .xo bundle
    COPYING                        ( Licensing information, should default to MIT License  ? how distinguish b/w code licensing and content licensing )
    docs/
     examples/                      ( working examples of karma lessons )
    index.html                    ( The starting page for accessing Karma lessons, should include links to the examples, known as the CHAKRA )
     js/                            ( css/ and js/ contain the code common to all examples, lessons, and karma.html )
     README
     README
     utils/                           # The [http://www.narwhaljs.org/ narwhal] command-line interpreter for javascript and other utility scripts used by karma.js
     tests/                         unit tests


== Karma XO bundle ==
== Karma XO bundle ==


* similar to E-Paath layout and uses the standard sugar [http://wiki.laptop.org/go/Activity_bundles#Bundle_structure XO bundle structure]
* similar to E-Paath layout and uses the standard [[Development_Team/Almanac/Activity_Bundles|Sugar bundle structure]]
* It is still undecided whether karma will default to using Browse which is based on Firefox or [http://dev.laptop.org/~bobbyp/surf/Surf-106.xo Surf] which based on webkit (Safari/Chrome). Surf requires that you install the rpms for pywebkitgtk and webkitgtk


The '''Below information is out-of-date'''
<strike>
  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''')
  assets/
  AUTHORS
  bin/
        launch.sh                          (launcher script)
  browser.dtd
  browser.py
  cert8.db
  clickToView.xml
  COPYING
  css/
  downloadmanager.py
  edittoolbar.py
  globalhistory.py
  icons
  index.html
  js/
  linkbutton.py
  karma
  karmaactivity.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
  utils/
  webtoolbar.py
</strike>
== Lesson ==


''consists of a single lesson''


== Karma lesson bundle ==
  lesson_name/
              assets/
                      {langCode}/        (files specific to langCode: en-US, en, es-MX, es, ....) and not the default locale
                      image/
                      audio/
                      svg/
                      video/
             
              css/
                    lesson.css
              index.html           
              js/
                  lesson.js      main logic of program
              kDoc.html  (viewer for lesson plan and teacher's Note)
              lessonPlan.html
              teachersNote.html
              start.html    (start page)
           


''consists of multiple lesson in a single bundle''
*Notes:
# {langCode} represents the lang code and country code
# which will be the template language for assets/docs/* ?, English suggested
# suggestion: rename assets/{langCode}/docs/ to docs/{langCode}/ . This is based that at this moment there are no other kind of files under assets/ than 'docs'


* common jquery and css files in a single folder
The following is out of date but kept for history
* preferably a script can be used to generate a lesson bundle with accompanying main menu and ''search'' (probably some sort of sitemap)
<strike>


  bundle_name/
== Reading, Game and Exercise ==
              mainmenu.html
''consist of a single 'reading', 'game' or 'exercise' ''
              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''
{type}/
 
               index.html              (valid html5 -- markup only includes visual elements and links in other resources, no inline code or styling )
  lesson_name/
               css/{type}.css          ( css files  -- specific to the lesson )
               index.html              # valid html5 -- markup only includes visual elements and links in other resources, no inline code or styling
               js/{type}.js            ( javascript controlling logic for the lesson )
               css/                     # css files  -- all control of presentation done in CSS
               po/                      ( translation files )
                  karma.css            # default stylesheet for Karma
                   ne-NP.po            ( example translation file for Nepal - Nepali )
                  lesson_name.css      # custom stylesheet for lesson
                   sp-ES.po            ( example translation file for traditional Spanish )
               js/                     # javascript files
                  {langCode}.po        ( translation file )
                  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/
               assets/
                    generic/          ( for language independent assets (e.g. arrows, background images, etc.) )
                        images/
                            preview.jpg  ( screenshot for Chakra  )
                        sounds/
                        videos/
                        docs/
                     ne/
                     ne/
                         images/
                         images/
                         audio/
                         sounds/
                        videos/
                         docs/
                         docs/
                            lesson plan?
                            teachers note?
                     en/
                     en/
                         images/
                         images/
                         audio/
                         sounds/
                        videos/
                        docs/
                    {langCode}/
                        images/
                        sounds/
                        videos/
                        docs/
* Notes
# {type} represents 'game' or 'exercise' or 'reading'
# does docs/ is used?
</stike>

Latest revision as of 23:55, 9 March 2010

The Main Karma Package

A set of tools that will help you 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
ROOT/                              ( ROOT is not actually a directory name, it just labels the top-level of this package )
   assets/                         ( images, audio, and text common to karma.html, examples, and the lessons for the launch page for all lessons )
          image/
          audio/
          locale_name/
                   image/            
                   locale_name.json   ( karma actually needs the .po file to be converted to .json )
                   audio/
   AUTHORS                         ( Should include names of everyone that has contributed to Karma main package )
   css/                           ( css/ and js/ contain the code common to all examples, lessons )
   COPYING                         ( Licensing information, should default to MIT License   ? how distinguish b/w code licensing and content licensing )
   docs/
   examples/                       ( working examples of karma lessons )
   index.html                     ( The starting page for accessing Karma lessons, should include links to the examples, known as the CHAKRA )
   js/                             ( css/ and js/ contain the code common to all examples, lessons, and karma.html )
   README
   tests/                          unit 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

The Below information is out-of-date

 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)
 assets/
 AUTHORS
 bin/
        launch.sh                           (launcher script)
 browser.dtd
 browser.py
 cert8.db
 clickToView.xml
 COPYING
 css/
 downloadmanager.py
 edittoolbar.py
 globalhistory.py
 icons
 index.html
 js/
 linkbutton.py
 karma
 karmaactivity.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
 utils/
 webtoolbar.py

Lesson

consists of a single lesson

  lesson_name/
             assets/
                     {langCode}/         (files specific to langCode: en-US, en, es-MX, es, ....) and not the default locale
                     image/
                     audio/
                     svg/
                     video/
             
             css/
                    lesson.css
             index.html             
             js/
                 lesson.js      main logic of program
             kDoc.html   (viewer for lesson plan and teacher's Note)
             lessonPlan.html
             teachersNote.html
             start.html     (start page)
            
  • Notes:
  1. {langCode} represents the lang code and country code
  2. which will be the template language for assets/docs/* ?, English suggested
  3. suggestion: rename assets/{langCode}/docs/ to docs/{langCode}/ . This is based that at this moment there are no other kind of files under assets/ than 'docs'

The following is out of date but kept for history

Reading, Game and Exercise

consist of a single 'reading', 'game' or 'exercise'

{type}/
             index.html               (valid html5 -- markup only includes visual elements and links in other resources, no inline code or styling )
             css/{type}.css           ( css files   -- specific to the lesson )
             js/{type}.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 )
                 {langCode}.po        ( translation file )
             assets/
                    generic/          ( for language independent assets (e.g. arrows, background images, etc.) )
                       images/
                           preview.jpg  ( screenshot for Chakra  )
                       sounds/
                       videos/
                       docs/
                    ne/
                       images/
                       sounds/
                       videos/
                       docs/
                    en/
                       images/
                       sounds/
                       videos/
                       docs/
                    {langCode}/
                       images/
                       sounds/
                       videos/
                       docs/
  • Notes
  1. {type} represents 'game' or 'exercise' or 'reading'
  2. does docs/ is used?

</stike>