Changes

no edit summary
Line 3: Line 3:  
Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each other, thus, they are assumed to be setup by Sugar distributors or experienced users.
 
Plugins are pluggable Sugar Shell code. By design, plugins are not isolated from the rest of shell code and each other, thus, they are assumed to be setup by Sugar distributors or experienced users.
   −
Plugins are Python modules placed in one of the following (sorted by searched order) directories. Only the first one directory will be used at the end to prevent unwanted code collisions between different installation level plugins.
+
Plugins are Python modules placed in one of the following (sorted by search order) directories. Only the first directory will be used in order to prevent unwanted code collisions between different installation level plugins.
    
* {{Code|~/.sugar/''PROFILE''/plugins/''PLUGIN_NAME''}}, user-wide plugins.
 
* {{Code|~/.sugar/''PROFILE''/plugins/''PLUGIN_NAME''}}, user-wide plugins.
 
* {{Code|''SHELL_INSTALL_PATH''/jarabe/plugins/''PLUGIN_NAME''}}, system-wide plugins;
 
* {{Code|''SHELL_INSTALL_PATH''/jarabe/plugins/''PLUGIN_NAME''}}, system-wide plugins;
   −
To be detected as a plugin sources, directory should conform the following policies:
+
To be detected as a plugin source, a directory should conform to the following policies:
   −
* directory should be a regular Python module;
+
* The directory should be a regular Python module;
* {{Code|__init__.py}} file from plugin directory should contain [https://git.sugarlabs.org/desktop/sugar/blobs/master/src/jarabe/plugins/README required declarations].
+
* the {{Code|__init__.py}} file from plugin directory should contain [https://git.sugarlabs.org/desktop/sugar/blobs/master/src/jarabe/plugins/README these required declarations].
    
Use [https://git.sugarlabs.org/desktop/sugar-example-plugin sugar-example-plugin] sources as a template for new plugins.
 
Use [https://git.sugarlabs.org/desktop/sugar-example-plugin sugar-example-plugin] sources as a template for new plugins.
   −
After installing, plugins should be enabled from ''Plugins'' Control Panel in the Sugar Shell, or, if this sections is [[#Configure_Shell_components|disabled]], add plugin name to {{Code|plugins}} setting in the [[Deployment_Platform/Client_Configuration|[shell]]] configuration section. If plugin has configuration UI, it will appear in the same ''Plugins'' section.
+
After installing, plugins should be enabled from the ''Plugins'' Control Panel in the Sugar Shell, or, if this section is [[#Configure_Shell_components|disabled]], add the plugin name to the {{Code|plugins}} setting in the [[Deployment_Platform/Client_Configuration|[shell]]] configuration section. If the plugin has a configuration UI, it will appear in the same ''Plugins'' section.
    
== Existing plugins ==
 
== Existing plugins ==
Line 25: Line 25:  
* [http://git.sugarlabs.org/desktop/sugar-proxy-plugin proxy] from the {{Code|sugar-plugin-proxy}} package<br>Internet proxy configuration.
 
* [http://git.sugarlabs.org/desktop/sugar-proxy-plugin proxy] from the {{Code|sugar-plugin-proxy}} package<br>Internet proxy configuration.
   −
* [http://git.sugarlabs.org/desktop/sugar-plugin-stats stats] from the {{Code|sugar-plugin-stats}} package<br>Plugin collects [[Deployment_Platform/Usage_Statistics|usage statistics]] and upload it a Sugar Network node.
+
* [http://git.sugarlabs.org/desktop/sugar-plugin-stats stats] from the {{Code|sugar-plugin-stats}} package<br>Plugin collects [[Deployment_Platform/Usage_Statistics|usage statistics]] and uploads them to a Sugar Network node.