small thoughts about shortcuts to Metacello repositories

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

small thoughts about shortcuts to Metacello repositories

Ben Coman-2
Dale,

I was just reading your Metacello Scripting API Documentation [1] and
had some passing thoughts I thought I'd share.
[1]
https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md

Under the "Listing" section you show two examples [Metacello image] and
[Metacello registry], which seems to establish a precedence that the
first message send to the Metacello class returns a "location" to
operate on.  I wonder if for well known repositories you might use
[Metacello squeaksource3] rather than [Metacello new squeaksource:]. In
this case a few less characters to type.

That is a bit mundane, but the real reason I post is... under the
"defaults" section you say "default repository is platform dependent" -
which is a good philosophy but maybe a problem sometime when on a blog
someone writes "you can load it with [Metacello new configuration:
'Sample' ; load]" intended for one audience (say Pharo) which has that
Configuration but is read by another audience (say Gemstone) which does
not.  I wonder if rather than an implicit platform-dependent default
repository, making it explicit using [Metacello pharo] or [Metacello
gemstone] might be just as easy.  The thing that caught my attention
with this is that I think it reads rather well...

Metacello pharo
    configuration: 'Sample';
    load.

If you still want to use the implicit platform-dependent default,
perhaps [Metacello platform] would be a nice choice.

Now of course with #squeaksource:  you specify a project folder as well,
and that would require another method like #project:.  However
[Metacello squeaksource3 project: 'XXX'] also has a nice ring to it.  I
do wonder how having a single the platform-specific default interacts
Pharo's ConfigurationBrowser has two tabs listing Vetted and Untrusted
configurations.  Perhaps having [Metacello pharo project: 'Untrusted']
could provide access to that while simple [Metacello pharo] defaults to
the vetted repository.

Anyway, just shooting the breeze
cheers -ben






Reply | Threaded
Open this post in threaded view
|

Re: small thoughts about shortcuts to Metacello repositories

Dale Henrichs
Ben,

I see what you're getting at. Not exactly the direction I was heading/thinking, but there are some interesting bits that I want to let percolate ...

I'll respond more fully later...

Thanks for the feedback,

Dale

----- Original Message -----
| From: "Ben Coman" <[hidden email]>
| To: [hidden email]
| Sent: Friday, August 10, 2012 10:28:39 AM
| Subject: [Metacello] small thoughts about shortcuts to Metacello repositories
|
| Dale,
|
| I was just reading your Metacello Scripting API Documentation [1] and
| had some passing thoughts I thought I'd share.
| [1]
| https://github.com/dalehenrich/metacello-work/blob/master/docs/MetacelloScriptingAPI.md
|
| Under the "Listing" section you show two examples [Metacello image]
| and
| [Metacello registry], which seems to establish a precedence that the
| first message send to the Metacello class returns a "location" to
| operate on.  I wonder if for well known repositories you might use
| [Metacello squeaksource3] rather than [Metacello new squeaksource:].
| In
| this case a few less characters to type.
|
| That is a bit mundane, but the real reason I post is... under the
| "defaults" section you say "default repository is platform dependent"
| -
| which is a good philosophy but maybe a problem sometime when on a
| blog
| someone writes "you can load it with [Metacello new configuration:
| 'Sample' ; load]" intended for one audience (say Pharo) which has
| that
| Configuration but is read by another audience (say Gemstone) which
| does
| not.  I wonder if rather than an implicit platform-dependent default
| repository, making it explicit using [Metacello pharo] or [Metacello
| gemstone] might be just as easy.  The thing that caught my attention
| with this is that I think it reads rather well...
|
| Metacello pharo
|     configuration: 'Sample';
|     load.
|
| If you still want to use the implicit platform-dependent default,
| perhaps [Metacello platform] would be a nice choice.
|
| Now of course with #squeaksource:  you specify a project folder as
| well,
| and that would require another method like #project:.  However
| [Metacello squeaksource3 project: 'XXX'] also has a nice ring to it.
|  I
| do wonder how having a single the platform-specific default interacts
| Pharo's ConfigurationBrowser has two tabs listing Vetted and
| Untrusted
| configurations.  Perhaps having [Metacello pharo project:
| 'Untrusted']
| could provide access to that while simple [Metacello pharo] defaults
| to
| the vetted repository.
|
| Anyway, just shooting the breeze
| cheers -ben
|
|
|
|
|
|
|