Changes

Jump to navigation Jump to search
Revert missed text after broken connection
Line 73: Line 73:  
It is possible to search sweets among locally known ones and registered on http://obs.sugarlabs.org (not yet implemented). The search is based on [http://xapian.org/ Xapian] search engine. Thus, it is possible to use Xapian's [http://xapian.org/docs/queryparser.html query language].
 
It is possible to search sweets among locally known ones and registered on http://obs.sugarlabs.org (not yet implemented). The search is based on [http://xapian.org/ Xapian] search engine. Thus, it is possible to use Xapian's [http://xapian.org/docs/queryparser.html query language].
   −
Notice that [http://xapian.org/docs/queryparser.html#partially-entered-query-matching partial] search is enabled. So, the query {{Code|tele}} will be treated as {{Code|tele*}} to search all wor
+
Notice that [http://xapian.org/docs/queryparser.html#partially-entered-query-matching partial] search is enabled. So, the query {{Code|tele}} will be treated as {{Code|tele*}} to search all words that start from {{Code|tele}}.
 +
 
 +
Sweets supports following search [http://xapian.org/docs/queryparser.html#searching-within-a-probabilistic-field prefixes] basing of [[Platform_Team/Recipe_Specification|recipe options]]:
 +
 
 +
* '''interface''' interface url, e.g., {{Code|http://sweets.sugarlabs.org/sdk/sugar}};
 +
* '''sweet''' interface in short Sweets notations, e.g., {{Code|sdk/sugar}};
 +
* '''implement''' the list of implemented interfaces;
 +
* '''associate''' the list of associated interface;
 +
* '''name''' the short name of a sweet;
 +
* '''summary''' sweet's summary;
 +
* '''description''' long sweet's description;
 +
* '''category''' list of category names;
 +
* '''license''' list of licenses;
 +
* '''type''' sweet's type, might be {{Code|library}}, {{Code|application}} or {{Code|activity}};
 +
* '''keep''' if activity, that a sweet is representing, is favorited;
 +
* '''tags''' the list of sweet's tags;
 +
* '''mime_types''' the list of MIME types activity, that a sweet is representing, supports.
 +
 
 +
So, it possible to search only among particular sweet attributes, like {{Code|name:telepathy}} to search only among sweet names.
 +
 
 +
Sweets support additional notation for exact searching in form of {{Code|''prefix''<nowiki>:=</nowiki>''string''}}. For example the query {{Code|name<nowiki>:=</nowiki>sugar}} will find sweets only with exactly {{Code|sugar}} name and omit names like {{Code|sugar-base}}. If search string contains spaces, wrap it to double quotes, {{Code|name<nowiki>:=</nowiki>"Sugar Commander"}}. Note, wildcards does not work in exact search case and asterisks will be treated literally.
 +
 
 +
== Development workflow with sweets ==
 +
 
 +
During the first launch, sources will be auto-built and kept in internal storage. To make sweets useful for development, checkout developing project sources in sweets:
 +
 
 +
sweets checkout [''path-to-sources'']
 +
 
 +
The only thing that is required from sources is having a [[Platform Team/Recipe Specification|sweets.recipe]] spec file for non-activity projects or {{Code|activity/activity.info}} (that conforms to the same spec) for activities. All sweets for Glucose components are located in the http://git.sugarlabs.org/sdk project.
 +
 
 +
After being checked out, these sources might be launched using {{Code|<nowiki>http://</nowiki>sweets.sugarlabs.org/''sweet-value-from-sweets.recipe''}} or just mentioning a sweet value:
 +
 
 +
sweets ''sweet''
 +
 
 +
For glucose projects, you can find ready-to-use and always-rebased-to-upstream projects in the [http://git.sugarlabs.org/sdk SDK] http://git.sugarlabs.org project. For now, there are two branches: {{Code|master}} for recent trunk, and {{Code|master-0.88}} for 0.88 code based on Dextrose-2 patches.
 +
 
 +
Checked out projects will be built according to the {{Code|[Build]}} section commands in the {{Code|sweets.recipe}} files. In general, for autotools-based projects, there is no further need for the {{Code|sweets}} command, just run {{Code|make install}} to build current sources and {{Code|make install them}} them to the directory that was specified by {{Code|sweets}} in the configure stage. For glucose projects, there is no need even in calling the {{Code|make}} command (python code will be reused from its original place, see {{Code|binding}} options in [[Platform Team/Recipe Specification|sweets.recipe]] files), just change the code and restart sugar.
 +
 
 +
=== Run sweets from X session ===
 +
 
 +
Place sweets invocation into your {{Code|~/.xsession}} file:
 +
 
 +
PATH=$HOME/.local/bin:$PATH
 +
sweets sdk/sugar
 +
 
 +
and create a {{Code|/usr/share/xsessions/sweets.desktop}} desktop file:
 +
 
 +
[Desktop Entry]
 +
Encoding=UTF-8
 +
Name=Sweets
 +
GenericName=Sweets
 +
Exec=/etc/X11/Xsession
 +
Type=Application
 +
 
 +
== Current limitations ==
 +
 
 +
* For now, {{Code|sweets}} knowns only about the glucose dependencies to install them from native packages in Debian, Ubuntu, Fedora, Mandriva, openSUSE, and Gentoo.
 +
* Activities can't reuse sweets benefits.
 +
 
 +
== Feedback ==
 +
 
 +
* [http://bugs.sugarlabs.org/newticket?component=sweets Submit] your bug report.
 +
* Ask your question on IRC channels, [irc://irc.freenode.net/sugar #sugar] (not logged) or [irc://irc.freenode.net/sugar-newbies #sugar-newbies] (logged).

Navigation menu