Jump to content

Karma/Bundle layout: Difference between revisions

From Sugar Labs
BryanWB (talk | contribs)
BryanWB (talk | contribs)
 
(34 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 )
    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 )
     AUTHORS                        ( Should include names of everyone that has contributed to Karma main package )
     ChangeLog                     
     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 )
     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 )
     docs/
     examples/                      ( working examples of karma lessons )
     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 )
     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 )
    kindex.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 )
    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/
    NEWS                            ( List of important changes to this package indexed by version )
    po/
     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
          bin/
          packages/
          platform/                       ( An html5-capable browser that can be used to create sugar .xo bundle )
          tests/


== Karma XO bundle ==
== Karma XO bundle ==
Line 43: Line 31:
* 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
* 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/
         activity.info                          (activity info file)
         activity.info                          (activity info file)
Line 52: Line 42:
         contents.sig                          (credentials for signed bundle)
         contents.sig                          (credentials for signed bundle)
         permissions.info                      (optional; '''not a stable API''')
         permissions.info                      (optional; '''not a stable API''')
  assets/
   AUTHORS
   AUTHORS
   bin/
   bin/
Line 60: Line 51:
   clickToView.xml
   clickToView.xml
   COPYING
   COPYING
  css/
   downloadmanager.py
   downloadmanager.py
   edittoolbar.py
   edittoolbar.py
   globalhistory.py
   globalhistory.py
   icons
   icons
  index.html
  js/
   linkbutton.py
   linkbutton.py
  karma
  karmaactivity.py
   lessons/
   lessons/
   locale
   locale
Line 80: Line 76:
   setup.py
   setup.py
   viewtoolbar.py
   viewtoolbar.py
   karmaactivity.py
   utils/
   webtoolbar.py
   webtoolbar.py
</strike>
== Lesson ==


== Karma lesson bundle ==
''consists of a single lesson''


''consists of multiple lesson in a single 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)
           


* common jquery and css files in a single folder
*Notes:
* preferably a script can be used to generate a lesson bundle with accompanying main menu and ''search'' (probably some sort of sitemap)
# {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'


  bundle_name/
The following is out of date but kept for history
              mainmenu.html
<strike>
              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''
== Reading, Game and Exercise ==
''consist of a single 'reading', 'game' or 'exercise' ''


  lesson_name/
{type}/
               index.html              ( valid html5 -- markup only includes visual elements and links in other resources, no inline code or styling )
               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 )
               css/{type}.css          ( css files  -- specific to the lesson )
                  karma.css            ( default stylesheet for Karma )
               js/{type}.js            ( javascript controlling logic for the lesson )
                  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 )
               po/                      ( translation files )
                   ne_NP.po            # example translation file for Nepal - Nepali
                   ne-NP.po            ( example translation file for Nepal - Nepali )
                   sp_ES.po            # example translation file for traditional Spanish
                   sp-ES.po            ( example translation file for traditional Spanish )
                  {langCode}.po        ( translation file )
               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/
                            activity text
                            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>