Difference between revisions of "Karma/Bundle layout"

From Sugar Labs
Jump to navigation Jump to search
Line 9: Line 9:
  
 
   
 
   
     AUTHORS                        # Should include names of everyone that has contributed to KarmaBuilder
+
     AUTHORS                        ( Should include names of everyone that has contributed to Karma main package )
 
     ChangeLog                       
 
     ChangeLog                       
     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
+
     css/                            ( css/ and js/ contain the code common to all examples, lessons, and karma.html )
     examples/                      # working examples of karma lessons
+
     examples/                      ( working examples of karma lessons )
     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                         
 
     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  
+
     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
+
                                      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.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/
+
     karma.js                        ( The main utility script for karma, all it dependencies live in utils/ )
     lessons/                        # this is the workspace for creating new Karma lessons
+
     lessons/                        ( this is the workspace for creating new Karma lessons )
     locale/                        # images, sounds, and text common to karma.html, examples, and the lessons
+
     locale/                        ( images, sounds, and text common to karma.html, examples, and the lessons )
 
           default/
 
           default/
 
                   images/
 
                   images/
Line 27: Line 27:
 
           locale_name/
 
           locale_name/
 
                     images/             
 
                     images/             
                     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
 
 
                     sounds/
 
                     sounds/
     NEWS                            # List of important changes to this package indexed by version
+
     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
+
     platform/                        ( An html5-capable browser that can be used to create sugar .xo bundle )
 
     po/  
 
     po/  
 
     README
 
     README
     utils/                          # The [http://www.narwhaljs.org/ narwhal] command-line interpreter for javascript and other utility scripts used by karma.js
+
     utils/                          ( The [http://www.narwhaljs.org/ narwhal] command-line interpreter for javascript and other utility scripts used by karma.js )
  
 
== Karma XO bundle ==
 
== Karma XO bundle ==
Line 90: Line 89:
 
   bundle_name/
 
   bundle_name/
 
               mainmenu.html
 
               mainmenu.html
               css/                    # common css files (e.g. jquery.jgrowl.css and menu.css)
+
               css/                    ( common css files (e.g. jquery.jgrowl.css and menu.css )
               js/                      # common javascript / jquery files
+
               js/                      ( common javascript / jquery files )
               lessons/                # directory for all the lessons
+
               lessons/                ( directory for all the lessons )
 
                     lesson_name/
 
                     lesson_name/
 
                
 
                
Line 100: Line 99:
  
 
   lesson_name/
 
   lesson_name/
               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/                    ( css files  -- all control of presentation done in CSS )
                   karma.css            # default stylesheet for Karma
+
                   karma.css            ( default stylesheet for Karma )
                   lesson_name.css      # custom stylesheet for lesson
+
                   lesson_name.css      ( custom stylesheet for lesson )
               js/                      # javascript files
+
               js/                      ( javascript files )
                   karma.js            # common javascript functions for a Karma lesson
+
                   karma.js            ( common javascript functions for a Karma lesson )
                   jquery.js, jquery.growl.js    # utility functions from jQuery
+
                   jquery.js, jquery.growl.js    ( utility functions from jQuery )
                   lesson_name.js      # javascript controlling logic for the lesson        
+
                   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
Line 116: Line 115:
 
                         audio/
 
                         audio/
 
                         docs/
 
                         docs/
 +
                            activity text
 
                             lesson plan?
 
                             lesson plan?
 
                             teachers note?  
 
                             teachers note?  

Revision as of 19:35, 20 July 2009

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 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 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 )
                   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
 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/