Changes

108 bytes added ,  01:31, 19 December 2016
Line 6: Line 6:  
== The Karma Project ==
 
== The Karma Project ==
   −
Karma is a framework for creating educational software using JavaScript, html5, and SVG. The Karma team is primarily focused on developing Sugar activities but you can also Karma to create lessons that run in any web browser that supports html5. The best ways to get involved are to join the [http://groups.google.com/group/karmajs mailing list] and [http://git.sugarlabs.org/projects/karma/repos/mainline get the code]
+
Karma is a framework for creating educational software using JavaScript, html5, and SVG. The Karma team is primarily focused on developing Sugar activities but you can also Karma to create lessons that run in any web browser that supports html5. The best ways to get involved are to join the [http://groups.google.com/group/karmajs mailing list] and [http://git.olenepal.org/karma/karma get the code]
    
=== Rationale ===
 
=== Rationale ===
Line 14: Line 14:  
=== Status ===
 
=== Status ===
   −
Karma is a sub-project of Sugar Labs that is under active development as a part of a [[Karma#GSoC_Project| Google Summer of Code project]]. The latest examples can be seen at [http://karma.sugarlabs.org http://karma.sugarlabs.org]. You can also check out the [http://karmaproject.wordpress.com Karma Project blog] for updates.
+
Karma is a sub-project of Sugar Labs that is under active development. The latest examples can be seen at [http://karma.sugarlabs.org http://karma.sugarlabs.org]. You can also check out the [http://karmaproject.wordpress.com Karma Project blog] for updates.
    
To try out the karma examples you need to have an html5-capable browser. The Browse activity within Sugar does not currently support html5. To try out karma within Sugar you need to install [http://dev.laptop.org/~bobbyp/surf/Surf-106.xo Surf] and its webkit dependencies or run Firefox 3.5 from the command-line (yum install pywebkitgtk WebKit-gtk gnome-python2-gconf).
 
To try out the karma examples you need to have an html5-capable browser. The Browse activity within Sugar does not currently support html5. To try out karma within Sugar you need to install [http://dev.laptop.org/~bobbyp/surf/Surf-106.xo Surf] and its webkit dependencies or run Firefox 3.5 from the command-line (yum install pywebkitgtk WebKit-gtk gnome-python2-gconf).
    +
The current focus of development is to convert Nepal's set of lessons coded in Squeak smalltalk. You can find the list of lessons to be converted [http://spreadsheets.google.com/pub?key=tweUJyn1BkEciHqVtSvCYDA&output=html here]. This is a good place for new contributors to get started
    
=== What Karma Is ===
 
=== What Karma Is ===
Line 64: Line 65:  
* Moodle Integration -- method to be determined
 
* Moodle Integration -- method to be determined
 
* [[Karma/Bundle_layout|Repo and Bundle layout]]
 
* [[Karma/Bundle_layout|Repo and Bundle layout]]
 +
* UI Widgets
 +
** [[Scoreboard]]
 +
** Dialog -- use standard jQuery UI one?
    
=== Conventions ===
 
=== Conventions ===
Line 70: Line 74:  
* The [[Karma/Dictionary|Karma Dictionary]]
 
* The [[Karma/Dictionary|Karma Dictionary]]
 
* [[Karma/Specifications|Karma Specifications]] (early draft)
 
* [[Karma/Specifications|Karma Specifications]] (early draft)
* Source Code stored in http://git.sugarlabs.org/projects/karma
+
* [[Karma/Anti-conventions|Anti-Conventions]] -- coding no-nos
 +
* [[Karma/Layout_Converted_Squeak_Lessons|Layout for converted Squeak Lessons]]
 +
* Source Code stored in http://git.olenepal.org/karma/karma
 
* Each lesson must be in a folder named according to the schema "karma_Grade_Maths_title_WeekNo" where the week number is optional  
 
* Each lesson must be in a folder named according to the schema "karma_Grade_Maths_title_WeekNo" where the week number is optional  
 
   The following are valid names
 
   The following are valid names
Line 80: Line 86:  
* Project Documentation kept in the Sugar Labs wiki
 
* Project Documentation kept in the Sugar Labs wiki
 
* Coding conventions: Based on [http://www.dojotoolkit.org/developer/StyleGuide Dojo Style Guide]  
 
* Coding conventions: Based on [http://www.dojotoolkit.org/developer/StyleGuide Dojo Style Guide]  
** Use camel-case for function names and variables
+
** Use sadCamelCase for function names and variables
 
** Exception to above -- object constructors should start with a capital letter
 
** Exception to above -- object constructors should start with a capital letter
 
** boolean variables should be prefixed with "is", "has", "can", or "should"
 
** boolean variables should be prefixed with "is", "has", "can", or "should"
Line 86: Line 92:  
** Whenever possible, use [http://www.jslint.com/ jslint]
 
** Whenever possible, use [http://www.jslint.com/ jslint]
 
* File naming conventions: lowercase letters, underscore instead of spaces  (need to write more about it)
 
* File naming conventions: lowercase letters, underscore instead of spaces  (need to write more about it)
 +
* Coding Pattern - We generally try to follow this coding pattern as it makes it easier to browse your code
 +
Put code in following order
 +
1) variable declarations
 +
2) method declarations
 +
3) method calls
    
== Version Control ==  
 
== Version Control ==  
Currently all lessons are stored in the examples/ folder of [http://git.sugarlabs.org/projects/karma/repos/mainline main karma repository]
+
Currently all lessons are stored in the examples/ folder of [http://git.olenepal.org/karma/karma main karma repository]
 
  −
We plan to move all lessons into individual repositories at git.sugarlabs.org but only once we have a process to automatically build bundles.
  −
 
  −
When we do move to individual repos we shall use the [http://git.sugarlabs.org/projects/karma_lesson karma_lesson template] for each new lesson repository
         +
<strike>
 
Here is how you can use the karma_lesson template to create a new repository from scratch
 
Here is how you can use the karma_lesson template to create a new repository from scratch
   Line 116: Line 124:  
  $ git push origin master  # will sync your local tree w/ the server
 
  $ git push origin master  # will sync your local tree w/ the server
   −
''Tagging'' -- a karma lesson can be in only one of two states, stable or unstable. Any commit tagged 'stable' is the stable version of your code. Every other version of your code is unstable. We will not use numeric versioning such as 0.1, 1.0, 1.2, etc. for the foreseeable future.
+
'''Tagging''' -- a karma lesson can be in only one of two states, stable or unstable. Any commit tagged 'stable' is the stable version of your code. Every other version of your code is unstable. We will not use numeric versioning such as 0.1, 1.0, 1.2, etc. for the foreseeable future.
 +
</strike>
    
== Meetings ==
 
== Meetings ==
Line 141: Line 150:  
* [[Karma:Meeting 14 Sep 2009]]
 
* [[Karma:Meeting 14 Sep 2009]]
 
* [[Karma:Meeting 21 Sep 2009]]
 
* [[Karma:Meeting 21 Sep 2009]]
 +
* [[Karma:Meeting 21 December 2009]]
    
== Project Roadmap ==
 
== Project Roadmap ==
Line 157: Line 167:  
==== 0.2 "Gatito" ====
 
==== 0.2 "Gatito" ====
   −
Due mid-December 2009
+
Completed mid-December 2009
 
  −
This release is timed to coincide with Bryan's visit to Google HQ for the GSoC Mentor's Summit
     −
* unit testing added to karma.js using QUnit -- DONE
+
* unit testing added to karma.js using QUnit
 
* API documented w/ jsdoc-toolkit
 
* API documented w/ jsdoc-toolkit
* support for SVG and canvas animation -- DONE
+
* support for SVG and canvas animation  
 
* 3 working examples
 
* 3 working examples
** Adding_Up_to_10 using both SVG and canvas -- DONE
+
** Adding_Up_to_10 using both SVG and canvas
** Quadrilaterals -- 50% done
+
** Quadrilaterals  
 
** "Conozco A Uruguay" done with karma  -- 50% done
 
** "Conozco A Uruguay" done with karma  -- 50% done
         −
==== 0.4 "niño" ====
+
==== 0.3 "niño" ====
   −
Due 31 January 2010
+
Due 31 March 2010
    
* Full i18n support
 
* Full i18n support
 +
* All Squeak lessons converted to Karma
 
* Integrate all of the existing E-Paath lesson into chakra  
 
* Integrate all of the existing E-Paath lesson into chakra  
 
* narwhal build script to build one giant karma bundle w/ all the E-Paath lessons inside it and chakra
 
* narwhal build script to build one giant karma bundle w/ all the E-Paath lessons inside it and chakra
Line 181: Line 190:  
* Version 0.1 draft of karma specification done
 
* Version 0.1 draft of karma specification done
   −
==== 1.0 "Muchacho" ====
+
==== Future Direction of Karma ====
   −
This release may also be called "Karma 1000" and is a big wishlist
+
No schedule yet.
   −
* Full moodle integration
+
[[Karma/Future Direction|This page]] has more information.
* Offline storage and synchronization with moodle
  −
* Integration with the Sugar Journal
  −
* Integration with Telepathy on Sugar
  −
* fully functional "kpages"
      
=== Library ===
 
=== Library ===
132

edits