[Sugar-devel] Web activities on XO-4

Gonzalo Odiard gonzalo at laptop.org
Thu Sep 19 07:56:31 EDT 2013


A free port can be get using:

            # Get a free socket
            sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
            sock.bind(('', 0))
            sock.listen(socket.SOMAXCONN)
            _ipaddr, self.port = sock.getsockname()
            sock.shutdown(socket.SHUT_RDWR)
            logging.error('Using port %d', self.port)

Should be good use 0.0.0.0 as ip instead of localhost, to avoid [1]
To serve the files python already have HTTPServer.

 Gonzalo

[1] http://dev.laptop.org/ticket/12479


On Wed, Sep 18, 2013 at 9:39 PM, Daniel Narvaez <dwnarvaez at gmail.com> wrote:

> Just a directory. It needs to be one server per activity though, so that
> the different port gives us a different origin.
>
>
> On 18 September 2013 23:32, Gonzalo Odiard <gonzalo at laptop.org> wrote:
>
>> Ok. Thanks.
>> The web server need have something special or just serve a directory is
>> enough?
>>
>> Gonzalo
>>
>>
>> On Wed, Sep 18, 2013 at 6:22 PM, Daniel Narvaez <dwnarvaez at gmail.com>wrote:
>>
>>> Well, there are several html features which depend on each activity
>>> having their own origin, for example local storage.
>>>
>>>
>>> On Wednesday, 18 September 2013, Gonzalo Odiard wrote:
>>>
>>>> No, why is needed use a local web server instead of
>>>>  the use of the proposed solution (use 'enable-file-access-from-file-
>>>> uris' )
>>>>
>>>> Gonzalo
>>>>
>>>>
>>>> On Wed, Sep 18, 2013 at 6:06 PM, Daniel Narvaez <dwnarvaez at gmail.com>wrote:
>>>>
>>>>> You mean why the http server would be a problem?
>>>>>
>>>>>
>>>>> On Wednesday, 18 September 2013, Gonzalo Odiard wrote:
>>>>>
>>>>>>  This is for the potential security risk of opening files outside of
>>>>>> the activity directory,
>>>>>> or because can be a problem with different activities running at the
>>>>>> same time
>>>>>> or multiple instances of the same activity?
>>>>>>
>>>>>> Gonzalo
>>>>>>
>>>>>>
>>>>>> On Wed, Sep 18, 2013 at 5:46 PM, Daniel Narvaez <dwnarvaez at gmail.com>wrote:
>>>>>>
>>>>>>> You could put an http server in the activity... Sucks but I'm not
>>>>>>> sure there is a better way :/
>>>>>>>
>>>>>>>
>>>>>>> On Wednesday, 18 September 2013, Manuel Quiñones wrote:
>>>>>>>
>>>>>>>> I finally got web activities working on XO-4, in the AU build
>>>>>>>> published yesterday [1] .  I did it by modifying webactivities.py to
>>>>>>>> use WebKitGTK1 instead of v2.  The changes are:
>>>>>>>>
>>>>>>>>
>>>>>>>> https://github.com/manuq/sugar-toolkit-gtk3-1/compare/webacts-webkit1
>>>>>>>>
>>>>>>>> I tried it with Gears Activity v3, and is working.  It stores the
>>>>>>>> data
>>>>>>>> and the metadata.  So it is communicating with the shell just fine.
>>>>>>>>
>>>>>>>> The touchscreen is not responding very well, at least in this
>>>>>>>> activity.  I can tap buttons, but I can barely drag to move a gear
>>>>>>>> or
>>>>>>>> to draw one.  The dragging seems to be cancelled in the middle of
>>>>>>>> the
>>>>>>>> action.  Mouse input works fine.
>>>>>>>>
>>>>>>>> Also as expected, the icons look small in the XO screen because I
>>>>>>>> need
>>>>>>>> to adapt the theme.  But that is an easy one, just changing the
>>>>>>>> CEL_SIZE variable in the LESS file to create another CSS for the XO
>>>>>>>> screen DPI, and adding a CSS media query selector to the HTML.  I'll
>>>>>>>> provide a patch to sugar-web-template and will update my web
>>>>>>>> activities.
>>>>>>>>
>>>>>>>> The inspector is not working, it does not display.  It shoud display
>>>>>>>> by Ctrl+Shift+I or by right-click -> "Inspect element".  There is no
>>>>>>>> error in the logs and the API is there [2], but nothing is
>>>>>>>> happening.
>>>>>>>> Surprisingly, JavaScript console logs go to the activity log.  We
>>>>>>>> are
>>>>>>>> missing that in master.
>>>>>>>>
>>>>>>>> I managed to keep the activity:// scheme that we need for the
>>>>>>>> same-origin policy, but I still had to add the setting
>>>>>>>> 'enable-file-access-from-file-uris' to workaround the cross-site
>>>>>>>> requests.  I can't find a way to register the URI scheme in WK1, so
>>>>>>>> I
>>>>>>>> added a big FIXME.
>>>>>>>>
>>>>>>>> [1] http://build.laptop.org.au/xo/os/sugar-100/build-21/
>>>>>>>> [2]
>>>>>>>> http://webkitgtk.org/reference/webkitgtk/stable/WebKitWebInspector.html
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> .. manuq ..
>>>>>>>> _______________________________________________
>>>>>>>> Sugar-devel mailing list
>>>>>>>> Sugar-devel at lists.sugarlabs.org
>>>>>>>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Daniel Narvaez
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Sugar-devel mailing list
>>>>>>> Sugar-devel at lists.sugarlabs.org
>>>>>>> http://lists.sugarlabs.org/listinfo/sugar-devel
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Daniel Narvaez
>>>>>
>>>>>
>>>>
>>>
>>> --
>>> Daniel Narvaez
>>>
>>>
>>
>
>
> --
> Daniel Narvaez
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20130919/7eb93169/attachment.html>


More information about the Sugar-devel mailing list