Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-29 Thread Bernie Innocenti
On Thu, 2010-07-29 at 00:23 -0400, C. Scott Ananian wrote:
 On Wed, Jul 28, 2010 at 12:06 PM, Bernie Innocenti ber...@codewiz.org wrote:
  There's no reason to have both a filename and a dbus-like name for the
  same thing. The former must already be unique on both distribution sites
  and in the Activities directory.
 
 I claim we should be using the dbus-like name for both distribution
 sites and in the Activities directory.

Then activity bundle files should be named like so?

   org.laptop.Browse-42.xo
   org.sugarlabs.Browse-666.xo


And their installed counterparts would look like these, correct?

   ~/Activities/org.laptop.Browse.activity
   ~/Activities/org.sugarlabs.Browse.activity

No version number, since we don't seem to allow parallel installation of
multiple instances of the very same activity, right?

If a developer takes over development of, say, org.laptop.Measure,
should the developer rename the bundle to org.codewiz.Measure or leave
it alone? In case of a rename, how do they ensure a smooth upgrade path?

Sorry to ask so many questions, but global uniqueness is a worthwhile
feature to have only if with well-defined semantics and a clear purpose.

-- 
   // Bernie Innocenti - http://codewiz.org/
 \X/  Sugar Labs   - http://sugarlabs.org/

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-28 Thread Lucian Branescu
On 27 July 2010 23:57, Bernie Innocenti ber...@codewiz.org wrote:
 On Tue, 2010-07-27 at 18:21 -0400, C. Scott Ananian wrote:

 This is a nicely decentralized mechanism for choosing identifiers
 which are guaranteed by construction never to conflict.

 It is indeed a simple and nice scheme, but why is such uniqueness a
 desiderable feature when developers can--and in fact *do*--often
 distribute forks of existing activities?

 Lucian has just created a fork of Browse and ParaguayEduca has a fork of
 XoIRC and VncLauncher on its wiki. In all cases, the bundle_id was
 intentionally left unmodified to ensure upgrades would work.

Actually, after careful consideration I've rebranded Browse-webkit to Surf.

 (if the bundle_id were instead changed, funny things would happen when a
 user tries to install both bundles on the same machine).


 If sugarlabs is willing to maintain a mechanism for ensuring
 uniqueness, feel free to prepend org.sugarlabs to whatever activities
 you have registered.

 A good surrogate could be that no two activities with the same name can
 be uploaded to ASLO.

 Without a fancy scheme for signed bundles, nothing forbids people from
 distributing bundles with conflicting names from other sites, regardless
 of what uniqueness scheme gets chosen.


  For all other purposes, the bundle_id is just a string which could
  contain anything. The bundle_id org.tuxpaint.sugar-is-lame worked
  flawlessly for all this time.

 Yes, this identifier is childish, but conforms precisely to the rules
 outlined above, which ensure its uniqueness.

 It's not actually conforming, it has hyphens! ;-)

 --
   // Bernie Innocenti - http://codewiz.org/
  \X/  Sugar Labs       - http://sugarlabs.org/


___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-28 Thread Bert Freudenberg

On 27.07.2010, at 18:57, Bernie Innocenti wrote:

 On Tue, 2010-07-27 at 18:21 -0400, C. Scott Ananian wrote:
 
 This is a nicely decentralized mechanism for choosing identifiers
 which are guaranteed by construction never to conflict.
 
 It is indeed a simple and nice scheme, but why is such uniqueness a
 desiderable feature

I thought because the laptops are connected, and this scheme ensures that a 
local and a remote activity use the same id.

- Bert -


___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-28 Thread Bernie Innocenti
On Tue, 2010-07-27 at 19:57 -0400, C. Scott Ananian wrote:

  A good surrogate could be that no two activities with the same name can
  be uploaded to ASLO.
 
 Translated name?  English name?  No Spanish name may conflict with a
 Portuguese or English name?  Seems a bit strange to me.

Filesystem name. Which is often the same of the English name, but not
always (Oficina - Paint).

There's no reason to have both a filename and a dbus-like name for the
same thing. The former must already be unique on both distribution sites
and in the Activities directory.

-- 
   // Bernie Innocenti - http://codewiz.org/
 \X/  Sugar Labs   - http://sugarlabs.org/

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-28 Thread C. Scott Ananian
On Wed, Jul 28, 2010 at 12:06 PM, Bernie Innocenti ber...@codewiz.org wrote:
 There's no reason to have both a filename and a dbus-like name for the
 same thing. The former must already be unique on both distribution sites
 and in the Activities directory.

I claim we should be using the dbus-like name for both distribution
sites and in the Activities directory.
  --scott

-- 
                         ( http://cscott.net/ )
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-27 Thread C. Scott Ananian
On Tue, Jul 27, 2010 at 5:14 PM, Bernie Innocenti ber...@codewiz.org wrote:
 The bundle base name (e.g Record) should be unique by itself, because
 you can't have two directories named Record.activity in your
 activities directory.

This is, IMO, a bug.  The directory should really be named after the bundle id.

The bundle ID is not a dbus name, it just conforms to the character
rules for dbus names.  To quote
http://wiki.laptop.org/go/Activity_bundles :

-- begin quote --
This is the activity bundle identifier. It is required. The name
should conform to the D-Bus spec - in particular, hyphens are not
allowed (although this wasn't enforced in earlier builds, see Trac
6226). It is recommended that Java package naming conventions are used
when chosing bundle identifiers, to ensure uniqueness. Briefly, your
name should begin with the reversed domain name of an organization you
belong to.

The reversed domain name part is supposed to be rooted in some actual
DNS-rooted namespace. You don't need to own this domain; you just need
to have a reasonable claim on some unique name at that domain. There
are several ways to derive one:

If your email address is yourn...@somemailhost.com, then you could use
com.somemailhost.yourname.YourActivity.

You could set up a web page on a free hosting service with information
about your activity, and use a name derived from its URL. For example,
if you create a page at http://www.geocities.com/xotumusica for your
activity, then com.geocities.www.xotumusica is a reasonable bundle_id.

If nothing else is available, even
org.laptop.wiki.YourActivityPageTitle is probably a reasonable
bundle_id, provided that you create the YourActivityPageTitle page.
Remember, bundle_ids should be unique, so you should double check that
the YourActivityPageTitle page doesn't already exist (and then create
it) before using this as your bundle_id.
 end quote 


This is a nicely decentralized mechanism for choosing identifiers
which are guaranteed by construction never to conflict.

 Even if it were possible to install org.sugarlabs.Record and
 com.microsoft.Record in parallel, having two different activities with
 the same name would be confusing and almost never what the user
 expected.

You're neglecting localization issues here.

 Perhaps there's still something we could do to simplify the design
 without breaking backwards compatibility: if an activity doesn't specify
 a bundle_id, its dbus name could be derived from the bundle name by
 pre-pending org.sugarlabs. (or  org.laptop., it doesn't matter) to it.

If sugarlabs is willing to maintain a mechanism for ensuring
uniqueness, feel free to prepend org.sugarlabs to whatever activities
you have registered.

 For all other purposes, the bundle_id is just a string which could
 contain anything. The bundle_id org.tuxpaint.sugar-is-lame worked
 flawlessly for all this time.

Yes, this identifier is childish, but conforms precisely to the rules
outlined above, which ensure its uniqueness.
  --scott

-- 
                         ( http://cscott.net/ )
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-27 Thread Bernie Innocenti
On Tue, 2010-07-27 at 18:21 -0400, C. Scott Ananian wrote:

 This is a nicely decentralized mechanism for choosing identifiers
 which are guaranteed by construction never to conflict.

It is indeed a simple and nice scheme, but why is such uniqueness a
desiderable feature when developers can--and in fact *do*--often
distribute forks of existing activities?

Lucian has just created a fork of Browse and ParaguayEduca has a fork of
XoIRC and VncLauncher on its wiki. In all cases, the bundle_id was
intentionally left unmodified to ensure upgrades would work.

(if the bundle_id were instead changed, funny things would happen when a
user tries to install both bundles on the same machine).


 If sugarlabs is willing to maintain a mechanism for ensuring
 uniqueness, feel free to prepend org.sugarlabs to whatever activities
 you have registered.

A good surrogate could be that no two activities with the same name can
be uploaded to ASLO.

Without a fancy scheme for signed bundles, nothing forbids people from
distributing bundles with conflicting names from other sites, regardless
of what uniqueness scheme gets chosen.


  For all other purposes, the bundle_id is just a string which could
  contain anything. The bundle_id org.tuxpaint.sugar-is-lame worked
  flawlessly for all this time.
 
 Yes, this identifier is childish, but conforms precisely to the rules
 outlined above, which ensure its uniqueness.

It's not actually conforming, it has hyphens! ;-)

-- 
   // Bernie Innocenti - http://codewiz.org/
 \X/  Sugar Labs   - http://sugarlabs.org/

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-27 Thread C. Scott Ananian
On Tue, Jul 27, 2010 at 6:57 PM, Bernie Innocenti ber...@codewiz.org wrote:

 On Tue, 2010-07-27 at 18:21 -0400, C. Scott Ananian wrote:

  This is a nicely decentralized mechanism for choosing identifiers
  which are guaranteed by construction never to conflict.

 It is indeed a simple and nice scheme, but why is such uniqueness a
 desiderable feature when developers can--and in fact *do*--often
 distribute forks of existing activities?

I think this is an orthogonal problem.  I'm sure that some disagree.

 (if the bundle_id were instead changed, funny things would happen when a
 user tries to install both bundles on the same machine).

Bug.

  If sugarlabs is willing to maintain a mechanism for ensuring
  uniqueness, feel free to prepend org.sugarlabs to whatever activities
  you have registered.

 A good surrogate could be that no two activities with the same name can
 be uploaded to ASLO.

Translated name?  English name?  No Spanish name may conflict with a
Portuguese or English name?  Seems a bit strange to me.

   For all other purposes, the bundle_id is just a string which could
   contain anything. The bundle_id org.tuxpaint.sugar-is-lame worked
   flawlessly for all this time.
 
  Yes, this identifier is childish, but conforms precisely to the rules
  outlined above, which ensure its uniqueness.

 It's not actually conforming, it has hyphens! ;-)

Oh, that's right, I *did* have a legit reason to dislike the name! ;-)
 --scott

--
                         ( http://cscott.net/ )
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


[Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-22 Thread Bert Freudenberg
On 22.07.2010, at 12:18, Lucian Branescu wrote:

 I was thinking of changing
 the bundle_id of Browse-webkit from 'org.laptop.WebActivity' to
 'org.sugarlabs.WebActivity', to allow both Browse to be installed and
 working at the same time. However, this might confuse users yet again,
 since they'd have their good old Browse along with a possibly broken
 one.

I have a similar problem. The bundle_id for Etoys is org.vpri.Etoys because the 
activity was initially developed at VPRI. Now that VPRI is not involved anymore 
we should change it to e.g. org.squeak.Etoys to reflect the new organization.

Also, for some time I wanted to change the versioning scheme. I used to 
increment the version number and release a new activity bundle whenever 
something in the base system's etoys changed, even if there was no change to 
the activity itself (the bundle is just a thin wrapper). That doesn't really 
make sense. I was hoping Sugar's new dotted-version scheme would arrive in 
time for this, but has it?

But what about existing Journal entries? They would still be tagged with the 
old bundle id, though the mime type would identify them as Etoys projects. If 
the old activity was uninstalled, would the new one automatically open those 
entries?

- Bert -


___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-22 Thread Walter Bender
On Thu, Jul 22, 2010 at 12:49 PM, Bert Freudenberg b...@freudenbergs.de wrote:
 On 22.07.2010, at 12:18, Lucian Branescu wrote:

 I was thinking of changing
 the bundle_id of Browse-webkit from 'org.laptop.WebActivity' to
 'org.sugarlabs.WebActivity', to allow both Browse to be installed and
 working at the same time. However, this might confuse users yet again,
 since they'd have their good old Browse along with a possibly broken
 one.

 I have a similar problem. The bundle_id for Etoys is org.vpri.Etoys because 
 the activity was initially developed at VPRI. Now that VPRI is not involved 
 anymore we should change it to e.g. org.squeak.Etoys to reflect the new 
 organization.

 Also, for some time I wanted to change the versioning scheme. I used to 
 increment the version number and release a new activity bundle whenever 
 something in the base system's etoys changed, even if there was no change to 
 the activity itself (the bundle is just a thin wrapper). That doesn't really 
 make sense. I was hoping Sugar's new dotted-version scheme would arrive in 
 time for this, but has it?

 But what about existing Journal entries? They would still be tagged with the 
 old bundle id, though the mime type would identify them as Etoys projects. If 
 the old activity was uninstalled, would the new one automatically open those 
 entries?''

I don't know of a solution to this problem except that mimetypes will
mitigate some of the problem. Updating is another problem... AFAIK,
the updater uses the bundle_id.

-walter


 - Bert -


 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel




-- 
Walter Bender
Sugar Labs
http://www.sugarlabs.org
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] Changing bundle_id and version scheme for Etoys

2010-07-22 Thread Lucian Branescu
On 22 July 2010 17:49, Bert Freudenberg b...@freudenbergs.de wrote:
 On 22.07.2010, at 12:18, Lucian Branescu wrote:

 I was thinking of changing
 the bundle_id of Browse-webkit from 'org.laptop.WebActivity' to
 'org.sugarlabs.WebActivity', to allow both Browse to be installed and
 working at the same time. However, this might confuse users yet again,
 since they'd have their good old Browse along with a possibly broken
 one.

 I have a similar problem. The bundle_id for Etoys is org.vpri.Etoys because 
 the activity was initially developed at VPRI. Now that VPRI is not involved 
 anymore we should change it to e.g. org.squeak.Etoys to reflect the new 
 organization.

If it doesn't bother you that vpri is in the bundle name and VPRI
themselves don't have a problem with it, I don't think you should
bother changing it. For example many activities are org.laptop.*, even
though they're now developed under Sugar Labs.

 Also, for some time I wanted to change the versioning scheme. I used to 
 increment the version number and release a new activity bundle whenever 
 something in the base system's etoys changed, even if there was no change to 
 the activity itself (the bundle is just a thin wrapper). That doesn't really 
 make sense. I was hoping Sugar's new dotted-version scheme would arrive in 
 time for this, but has it?

Then you could just not bump the activity version if it doesn't
change. Don't know about dotted versions.

 But what about existing Journal entries? They would still be tagged with the 
 old bundle id, though the mime type would identify them as Etoys projects. If 
 the old activity was uninstalled, would the new one automatically open those 
 entries?

Yes, it would open those entries if the mime types are correct. But
the updater would probably not update etoys if it had a different
bundle_id.

 - Bert -


 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel