Karma/Bundle layout: Difference between revisions

BryanWB (talk | contribs)
No edit summary
BryanWB (talk | contribs)
 
(31 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, sounds, and text common to karma.html, examples, and the lessons )
     assets/                        ( images, audio, and text common to karma.html, examples, and the lessons for the launch page for all lessons )
           default/
           image/
                  images/
          audio/
                  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 )
                     sounds/
                     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 utils/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 )
    lessons/                        ( this is the workspace for creating new Karma lessons )
    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/
          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 ==
== 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/
 
* common jquery and css files in a single folder
* The '''karma''' utility script can be used to generate a lesson bundle with accompanying main menu and ''search'' (probably some sort of sitemap)
 
  bundle_name/
               assets/
               assets/
                       default/
                       {langCode}/         (files specific to langCode: en-US, en, es-MX, es, ....) and not the default locale
                              docs/
                      image/
                              images/
                      audio/
                              sounds/
                      svg/
                              default.po
                      video/
             
              kindex.html              ( Common gateway to access the lessons in the bundle)
              css/                    ( common css files (e.g. jquery.jgrowl.css and menu.css ) )
              js/                      ( common javascript / jquery files )
              lessons/                 ( directory for all the lessons )
                    lesson_name1/
                    lesson_name2/
                
                
              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:
# {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'


== Lesson ==
The following is out of date but kept for history
<strike>


''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/lesson_name.css     ( css files  -- specific to the lesson )
               css/{type}.css           ( css files  -- specific to the lesson )
               js/ lesson_name.js       ( javascript controlling logic for the lesson )        
               js/{type}.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/
                         sounds/
                         sounds/
                        videos/
                         docs/
                         docs/
                            activity text
                            lesson plan
                            teachers note
                     en/
                     en/
                         images/
                         images/
                         sounds/
                         sounds/
                        videos/
                        docs/
                    {langCode}/
                        images/
                        sounds/
                        videos/
                         docs/
                         docs/
* Notes
# {type} represents 'game' or 'exercise' or 'reading'
# does docs/ is used?
</stike>