Michael Stone | 1 Jul 01:07
Favicon
Gravatar

Re: Browse.xo -- preserving a downloaded filename?

Martin Langhoff wrote:
> > On Tue, Jun 30, 2009 at 7:25 PM, Bert Freudenberg<bert <at> freudenbergs.de> wrote:
> > What's your use case?
> 
> In the normal course of operation, the XOs will work with the XS over
> wireless, getting their individual leases. This is a fallback "rescue"
> leases.sig .

Here's a gentle suggestion on how to more quickly (but narrowly) implement this
use case: 

   why not use Pippy to write a minimal activity that downloads the leases.sig
   file [e.g. with urllib2, wget, or curl], tests for mounted USB sticks,
   prompts the user if they're missing, and that copies the leases.sig file to
   the USB stick?

I think this might be a good way to go because 

   * it'll be faster than figuring out how to solve file management,

   * it doesn't depend on anyone else making changes, and

   * it may be of some educational value to people who want to understand how
     the system actually works and how they might automate it for themselves. 

Regards,

Michael
Frederick Grose | 1 Jul 04:02
Favicon

[Updated Invitation] Sugar developers meeting @ Thu Jul 2 10am – 11am (sugar-devel <at> lists.sugarlabs.org)

Details for the following event have changed:

Sugar developers meeting

Thu Jul 2 10am – 11am
(Timezone: Eastern Time)
irc://irc.freenode.net#sugar-meeting (map)
Calendar: sugar-devel <at> lists.sugarlabs.org

Owner/Creator: walter.bender <at> gmail.com
Other attendees: tylerb <at> sugarlabs.org , wschaub <at> steubentech.com , wwdillingham <at> gmail.com , ericmallon <at> sugarlabs.org , jrgreen118 <at> gmail.com
Mail creator & attendees

Meeting of Sugar developers

This week we want to talk about the Journal and datastore [1]
improvements planned for 0.86. The Library activity [2] has shown some
interesting concepts as well. What are the common goals, how to move
forward, where to invest?

All the people involved - please attend, would be awesome if UI
designers would attend too.

Regards,
Simon

[1] http://wiki.sugarlabs.org/go/Version_support_for_datastore/Proposal
[2] http://wiki.sugarlabs.org/go/Activities/Library
More event details»

Will you attend?

 

You are receiving this courtesy email at the account sugar-devel <at> lists.sugarlabs.org because you are an attendee of this event.

To stop receiving future notifications for this event, decline this event. Alternatively you can sign up for a Google account at http://www.google.com/calendar/ and control your notification settings for your entire calendar.

Attachment (invite.ics): application/ics, 2860 bytes
_______________________________________________
Sugar-devel mailing list
Sugar-devel <at> lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
Bryan Berry | 1 Jul 07:26
Favicon
Gravatar

Re: Karma: quadrilaterals + Surf it works!

On Tue, 2009-06-30 at 13:17 -0500, Felipe López Toledo wrote:
> hi guys
> 
> I'm a little upset because during last week I was trying to optimize
> the Quadrilaterals activity:
> http://karma.sugarlabs.org/quadrilaterals/
> 
> Lucian recommend me (last week...or before) to try it using Surf,
> I was trying to compile it from source... mmm, no progress
> today Lucian gave me some links: 
> the xo bundle: http://dev.laptop.org/~bobbyp/surf/
> also read: http://wiki.laptop.org/go/Browse/WebKit
> 
> thanks Lucian
> 
> well, if you have a chance please test it, 
> it works really good (performance) there is some work to do (stuff
> related to css and scale), but it works a lot better than with
> firefox 
> 
> :)

awesome! i look forward to playing w/ surf

--

-- 
Bryan W. Berry
Technology Director
OLE Nepal, http://www.olenepal.org

_______________________________________________
Sugar-devel mailing list
Sugar-devel <at> lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
Tomeu Vizoso | 1 Jul 10:54
Favicon
Gravatar

Re: [GSoC] I need help for Webified - SSB activity favicons

On Thu, Jun 25, 2009 at 02:56, Lucian Branescu<lucian.branescu <at> gmail.com> wrote:
> In case you don't know what Webified is
> http://wiki.sugarlabs.org/go/Webified http://honeyweb.wordpress.com
>
> In short, I have added to Browse the ability to create SSB
> (http://en.wikipedia.org/wiki/Site-specific_browser) activities.
>
> Since I'm generating activities, they need to have icons. After some
> discussions, I have decided to use a .svg wrapper icon for all SSBs
> that includes the website favicon.
>
>
> I need to extract the favicon from a website and include it in the
> .svg icon. Any thoughts?

Can SVG images contain bitmaps? Because I guess that most sites will
be using a PNG or GIF.

> Right now, I'm doing
>
> <code>
> cls = components.classes['@mozilla.org/network/io-service;1']
> io_service = cls.getService(interfaces.nsIIOService)
> ns_uri = io_service.newURI(uri, None, None)
>
> cls = components.classes['@mozilla.org/browser/favicon-service;1']
> favicon_service = cls.getService(interfaces.nsIFaviconService)
>
> favicon_service.getFaviconData(ns_uri)
> </code>
>
> But the last line throws xpcom.Exception: -2147221231. I haven't been
> able to figure out what that error is.

At this point, I would debug the mozilla side of things. It may seems
like a pain, but may actually save you time when compared with trying
things randomly.

Another option is once you get the URI to download it (see nsChannel
components).

HTH,

Tomeu

> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel <at> lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
Tomeu Vizoso | 1 Jul 10:57
Favicon
Gravatar

Re: Sugar Presence Service and Resume Behavior

On Tue, Jun 30, 2009 at 06:01, Eben Eliason<eben <at> laptop.org> wrote:
> On Mon, Jun 29, 2009 at 11:03 PM, Benjamin M.
> Schwartz<bmschwar <at> fas.harvard.edu> wrote:
>> Eben Eliason wrote:
>>> On Mon, Jun 29, 2009 at 10:34 PM, Benjamin M.
>>> Schwartz<bmschwar <at> fas.harvard.edu> wrote:
>>>> Eben Eliason wrote:
>>>>> I know GroupThink does everything it can to prevent collisions, but
>>>>> with this we should also be thinking about the worst case. The
>>>>> intended baseline behavior (before we get into any fancy merging
>>>>> libraries) was to allow two instances with the same activity_id but
>>>>> different version_ids to run simultaneously, and be joined by any of
>>>>> their participants, thus allowing manual copy/paste merging. The
>>>>> instance left open last would then become, naturally, the most recent
>>>>> and therefore the "agreed upon" version moving forward.
>>>> Hmm.  This creates a bit of a dilemma.
>>>>
>>>> In Groupthink, there is no such thing as a collision.  You could say
>>>> "collisions are not supported".  Therefore, my model has been that
>>>> different versions of a document should always be launched into a single
>>>> shared session, where the data will be merged immediately and
>>>> automatically.  If the user wishes to create a separate branch not to be
>>>> automatically merged with the existing document, she should create a copy
>>>> of the journal entry with a new activity_id. (No, we don't seem to have a
>>>> UI for that.)
>>>
>>> The most basic UI for that, as I see it, is a "Keep a copy" secondary
>>> item under the Keep button.
>>
>> Yep.  This is what I expected the "Copy" option in the Journal to do, but
>> that copies to the clipboard.  Two options, "Copy to Clipboard" and "Copy
>> this Entry" would be necessary
>>
>>>
>>>> If the system is designed to prevent different versions from joining into
>>>> a single shared session, then perhaps this explains the observed behavior.
>>>>  It also entirely prevents automerging of offline work.
>>>
>>> I don't think they're incompatible at all.
>>
>> I think we agree that they are incompatible as currently implemented, and
>> that any implementation that permits this sort of automerging looks
>> substantially different from what we have now, as you detail.
>
> Yup.
>
>>> Hence, perhaps some need for asking an open activity instance if it
>>> can successfully "merge" (whatever that means to the activity) some
>>> other object handle its given. If success is returned, the merge
>>> happens; if failure is returned, the shell opens the requested
>>> activity normally.
>>
>> I do not think an "object-based" merge system is best for this purpose.
>> It seems to me that such a system would prevent any online "negotiation"
>> between the two sides.  Things get dramatically uglier if you consider
>> joining a session containing many members, but not the initiator.  Which
>> user gets to decide whether the new one can join, when all users are equal?
>
> The leaderless merge issue doesn't seem any harder than the basic
> leaderless collaboration issue. But I might be missing some obvious
> complications. The short of it seems to be that the activity would
> have to elect a given client to handle the merge.
>
>> It's not exactly a beautiful solution, but I'd prefer a toggle in
>> activity.info: automerge=True/False.  If automerge is False or
>> unspecified, then we retain the current behavior (for the sake of
>
> And because the current behavior is the "correct" thing to do if merge
> can't be automatic anyway!
>
>> compatibility).  If automerge is True, then different versions are always
>> combined into a single shared session.
>
> I'd carefully word this as "always attempted to be combined"...
>
>> To support "unreliable merge", we can use a self.unshare() method.  If the
>> local activity process, after negotiating with other group members,
>> decides that merge is impossible, then it may leave the shared session
>> shortly after joining and return to private scope.
>>
>> How does that sound?
>
> This sounds almost exactly like what I was suggesting, but in the
> opposite direction. I was proposing to ask the activity on the fly if
> it could perform a merge (this method would return false if
> unimplemented), returning false when it wasn't possible (after
> whatever negotiation was necessary...this method could be async).
> You're suggesting to first check a global constant defined by the
> activity to see if it will even try to merge at all, and a second
> fallback method to be called (by the activity) in the case of a
> failure. Actually, I guess if it's async, our two methods are
> basically the same, except that you suggest the addition of the flag
> in .info, which seems like a reasonable enough idea, though not
> strictly necessary.
>
> In any case, both seem roughly equivalent in terms of experience, in
> which case I don't really care. =)

Ben and Eben, do we have now a clear idea of where the problem lies
and which API needs to be added to solve it?

Thanks,

Tomeu

> Eben
>
>
>> --Ben
>>
>>
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel <at> lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
Tomeu Vizoso | 1 Jul 11:07
Favicon
Gravatar

Re: [Telepathy] Sugar Presence Service and Resume Behavior

On Tue, Jun 30, 2009 at 10:57, Guillaume
Desmottes<guillaume.desmottes <at> collabora.co.uk> wrote:
> Le lundi 29 juin 2009 à 22:12 -0400, Benjamin M. Schwartz a écrit :
>> My GSoC project involves getting "offline collaboration" working. My model
>> for this is that two users can join a shared session, then go offline,
>> resume the session from the journal, continue working, and then later
>> resume again when they are on the same network/server and have the two
>> instances merge.  In Groupthink, all of my algorithms are designed to
>> support this.  However, I have discovered that when two such instances are
>> resumed, they do not connect to each other.*
>>
>> I believe the problem lies in the interaction between the Presence Service
>> and the Datastore, and before I spend too many hours puzzling out how it
>> works, I wonder if anyone could tell me what changes are likely to be
>> necessary to achieve the desired behavior.  From my limited understanding
>> of the code, it seems that if an instance is resumed from the Journal, its
>> unique activity_id might change, and this might prevent it from being
>> correctly identified as an instance of an existing shared session.
>
> PS doesn't know anything about Journal or DS. He just allows you to
> create activity, share it (using the D-Bus API) and discover shared
> ones.
>
> I can't really tell you more as I never been involved in the Journal/DS
> bits.
>
>> I also wonder what the status of the Presence Service rewrite/removal is.
>
> Mission-Control 5 was finally released (!) so it would be good to start
> considering actually killing PS. Unfortunately, no body is working on
> this afaik.

Hmm, a crazy idea: how hard would be to cook a pygtk app that can run
both inside Sugar and inside GNOME and have collaboration working? Or
in other words: what would need to be changed in the Sugar shell,
toolkit and PS so that we can support current activities and also new
ones that don't use anything sugar-specific in their collaboration
code?

That could be a good step forward.

Thanks,

Tomeu
Tomeu Vizoso | 1 Jul 11:11
Favicon
Gravatar

Re: [API proposal] toolbox.get_toolbars()

On Tue, Jun 30, 2009 at 04:55, Lucian Branescu<lucian.branescu <at> gmail.com> wrote:
> While adding the bookmarklet functionality to Browse, I realised that
> the toolbox API is hard to work with if your toolbars change. For
> example, set_current_toolbar() takes the index of the toolbar as a
> parameter, something which you can't really know if your toolbars move
> around.
>
> Tomeu suggested I propose to extend the toolbox API with a
> get_toolbars() method. This method returns a list of the actual
> Toolbar objects, in the order they currently have in the gtk.Notebook.
> This method allows for things like if toolbar in
> toolbox.get_toolbars() or toolbar_index =
> toolbox.get_toolbars().index(toolbar), giving a lot more flexibility
> in manipulating toolbars.
> It could also kill off the ugly _TOOLBAR_FOO globals in Browse.
>
> I've made toolbox.toolbars a property for get_toolbars().
>
> I have attached a patch to toolbox.py, in the sugar.graphics package.

Could you please follow
http://wiki.sugarlabs.org/go/Development_Team/CodeReview#Patch_guidelines
?

I would also like to hear from the activity team (Gary?) if they have
any objection to this API addition (I would like to see sugar-toolkit
changes being driven by them at some point in the future).

Thanks!

Tomeu

> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel <at> lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
>
>
Aleksey Lim | 1 Jul 11:31
Picon

Re: [API proposal] toolbox.get_toolbars()

On Wed, Jul 01, 2009 at 11:11:30AM +0200, Tomeu Vizoso wrote:
> On Tue, Jun 30, 2009 at 04:55, Lucian Branescu<lucian.branescu <at> gmail.com> wrote:
> > While adding the bookmarklet functionality to Browse, I realised that
> > the toolbox API is hard to work with if your toolbars change. For
> > example, set_current_toolbar() takes the index of the toolbar as a
> > parameter, something which you can't really know if your toolbars move
> > around.
> >
> > Tomeu suggested I propose to extend the toolbox API with a
> > get_toolbars() method. This method returns a list of the actual
> > Toolbar objects, in the order they currently have in the gtk.Notebook.
> > This method allows for things like if toolbar in
> > toolbox.get_toolbars() or toolbar_index =
> > toolbox.get_toolbars().index(toolbar), giving a lot more flexibility
> > in manipulating toolbars.
> > It could also kill off the ugly _TOOLBAR_FOO globals in Browse.
> >
> > I've made toolbox.toolbars a property for get_toolbars().
> >
> > I have attached a patch to toolbox.py, in the sugar.graphics package.
> 
> Could you please follow
> http://wiki.sugarlabs.org/go/Development_Team/CodeReview#Patch_guidelines
> ?
> 
> I would also like to hear from the activity team (Gary?) if they have
> any objection to this API addition (I would like to see sugar-toolkit
> changes being driven by them at some point in the future).

In my case(writing activities for 0.82+) it doesn't make any sense to have
this patch in sugar-toolkit because its 0.86 feature.  Moreover I did
similar thing in sugar-port(and use sugar-port wrapper instead of using
sugar-toolkit directly)
http://git.sugarlabs.org/projects/sugar-port/repos/mainline/blobs/master/activity.py#line312

--

-- 
Aleksey
Tomeu Vizoso | 1 Jul 11:38
Favicon
Gravatar

Re: [API proposal] toolbox.get_toolbars()

On Wed, Jul 1, 2009 at 11:31, Aleksey Lim<alsroot <at> member.fsf.org> wrote:
> On Wed, Jul 01, 2009 at 11:11:30AM +0200, Tomeu Vizoso wrote:
>> On Tue, Jun 30, 2009 at 04:55, Lucian Branescu<lucian.branescu <at> gmail.com> wrote:
>> > While adding the bookmarklet functionality to Browse, I realised that
>> > the toolbox API is hard to work with if your toolbars change. For
>> > example, set_current_toolbar() takes the index of the toolbar as a
>> > parameter, something which you can't really know if your toolbars move
>> > around.
>> >
>> > Tomeu suggested I propose to extend the toolbox API with a
>> > get_toolbars() method. This method returns a list of the actual
>> > Toolbar objects, in the order they currently have in the gtk.Notebook.
>> > This method allows for things like if toolbar in
>> > toolbox.get_toolbars() or toolbar_index =
>> > toolbox.get_toolbars().index(toolbar), giving a lot more flexibility
>> > in manipulating toolbars.
>> > It could also kill off the ugly _TOOLBAR_FOO globals in Browse.
>> >
>> > I've made toolbox.toolbars a property for get_toolbars().
>> >
>> > I have attached a patch to toolbox.py, in the sugar.graphics package.
>>
>> Could you please follow
>> http://wiki.sugarlabs.org/go/Development_Team/CodeReview#Patch_guidelines
>> ?
>>
>> I would also like to hear from the activity team (Gary?) if they have
>> any objection to this API addition (I would like to see sugar-toolkit
>> changes being driven by them at some point in the future).
>
> In my case(writing activities for 0.82+) it doesn't make any sense to have
> this patch in sugar-toolkit because its 0.86 feature.  Moreover I did
> similar thing in sugar-port(and use sugar-port wrapper instead of using
> sugar-toolkit directly)
> http://git.sugarlabs.org/projects/sugar-port/repos/mainline/blobs/master/activity.py#line312

How that line of code relates to the toolbar patch?

Tomeu

> --
> Aleksey
>
Aleksey Lim | 1 Jul 11:44
Picon

Re: [API proposal] toolbox.get_toolbars()

On Wed, Jul 01, 2009 at 11:38:51AM +0200, Tomeu Vizoso wrote:
> On Wed, Jul 1, 2009 at 11:31, Aleksey Lim<alsroot <at> member.fsf.org> wrote:
> > On Wed, Jul 01, 2009 at 11:11:30AM +0200, Tomeu Vizoso wrote:
> >> On Tue, Jun 30, 2009 at 04:55, Lucian Branescu<lucian.branescu <at> gmail.com> wrote:
> >> > While adding the bookmarklet functionality to Browse, I realised that
> >> > the toolbox API is hard to work with if your toolbars change. For
> >> > example, set_current_toolbar() takes the index of the toolbar as a
> >> > parameter, something which you can't really know if your toolbars move
> >> > around.
> >> >
> >> > Tomeu suggested I propose to extend the toolbox API with a
> >> > get_toolbars() method. This method returns a list of the actual
> >> > Toolbar objects, in the order they currently have in the gtk.Notebook.
> >> > This method allows for things like if toolbar in
> >> > toolbox.get_toolbars() or toolbar_index =
> >> > toolbox.get_toolbars().index(toolbar), giving a lot more flexibility
> >> > in manipulating toolbars.
> >> > It could also kill off the ugly _TOOLBAR_FOO globals in Browse.
> >> >
> >> > I've made toolbox.toolbars a property for get_toolbars().
> >> >
> >> > I have attached a patch to toolbox.py, in the sugar.graphics package.
> >>
> >> Could you please follow
> >> http://wiki.sugarlabs.org/go/Development_Team/CodeReview#Patch_guidelines
> >> ?
> >>
> >> I would also like to hear from the activity team (Gary?) if they have
> >> any objection to this API addition (I would like to see sugar-toolkit
> >> changes being driven by them at some point in the future).
> >
> > In my case(writing activities for 0.82+) it doesn't make any sense to have
> > this patch in sugar-toolkit because its 0.86 feature.  Moreover I did
> > similar thing in sugar-port(and use sugar-port wrapper instead of using
> > sugar-toolkit directly)
> > http://git.sugarlabs.org/projects/sugar-port/repos/mainline/blobs/master/activity.py#line312
> 
> How that line of code relates to the toolbar patch?

It was just an example, the idea is - adding new features to
sugar-toolkit API leads activity developers to write 0.86+ code
but having these features in libraries like sugar-port let them write
0.82+ code.

--

-- 
Aleksey

Gmane