Platform Team/Sugar Network/Implementation: Difference between revisions

Line 73: Line 73:


== sugar-network-client ==
== sugar-network-client ==
This is a client side application. The reasons to have such client application (instead of direct using of server API) are the following:
* Provide access to local Sugar Network data (providing [[Platform_Team/Sugar_Network/API|API]] from the localhost), it is useful if server is not accessible;
* Having locally provided API as a proxy to a server, it is the only way (for now) to be authenticated on the server;
* Provide features that can't served from a servers, e.g., launching activities;
* Keeping in mind two previous points, run [[Platform_Team/Sugar_Network/Web_UI|Web UI]] and [[Sugar_Network/Contributor_Hub|Contributor Hub]] clients locally.
The configuration occurs based on several sources (sorted by applied order):
* Command-line arguments (configuration names equal to command-line arguments),
* {{Code|/etc/sweets.conf}} system-wide configuration file,
* {{Code|~/.config/sweets/config}} user-wide configuration file,
* {{Code|~/.sugar/''current-profile''/sweets.conf}} configuration specific to a Sugar profile.
To get the current configuration, call:
sugar-network-client config
The major configuration options are:
[client]
# url to connect to Sugar Network server API
api-url = http://api-testing.network.sugarlabs.org
# port number to listen for incomming connections from IPC clients
ipc-port = 5001
# path to Contributor Hub site directory to serve from /hub location for IPC
# clients to workaround lack of CORS for SSE while using Hub from file:// url
hub-root = /usr/share/sugar-network/hub
[webui]
# start web application to serve Sugar Network content
webui = False
# hostname to bind
webui-host = 127.0.0.1
# address to listen for Web clients
webui-port = 5000
[[Sugar_Network/Contributor_Hub|Contributor Hub]] is a pure JavaScript application, i.e., it is possible to open it in a Web browser from local files system. But since Server-sent events doesn't support Cross-origin resource sharing, Contributor Hub has to be provided from the same locations as API, here, from {{Code|/hub}} path:
http://localhost:5000/hub


== Usage ==
== Usage ==