We need a UI for Metacello/Loader

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

We need a UI for Metacello/Loader

Mariano Martinez Peck
Hi folks. First of all let me clarify that all this email is though for new comers.

I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI:

http://code.google.com/p/metacello/wiki/MetacelloTools

I also know there is Metaceller done by Doru.

But I think that the features Esteban Lorenzano implemented in      GoferProjectLoader are a MUST for a new comer. You can read them here:

http://www.smallworks.com.ar/en/community/GoferProjectLoader

Now...he doesn't plan to do a UI for that. My question if it would be a good idea to "extend" Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore.

Cheers

Mariano

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] We need a UI for Metacello/Loader

Tudor Girba
Hi,

Could you detail a bit the requirements?

Cheers,
Doru


On 8 May 2010, at 16:53, Mariano Martinez Peck wrote:

> Hi folks. First of all let me clarify that all this email is though  
> for new comers.
>
> I think Metacello is a wonderful project and that's why we are  
> adopting it in Pharo. I know Metacello has it's own UI:
>
> http://code.google.com/p/metacello/wiki/MetacelloTools
>
> I also know there is Metaceller done by Doru.
>
> But I think that the features Esteban Lorenzano implemented in      
> GoferProjectLoader are a MUST for a new comer. You can read them here:
>
> http://www.smallworks.com.ar/en/community/GoferProjectLoader
>
> Now...he doesn't plan to do a UI for that. My question if it would  
> be a good idea to "extend" Metaceller or Metacello-OB so that to  
> uses GoferProjectLoader features. Not necessary for Metacello 1.0  
> but maybe for 1.1. I think this is important, at least for Pharo. We  
> don't have Universe neither SqueakMap anymore.
>
> Cheers
>
> Mariano

--
www.tudorgirba.com

"The coherence of a trip is given by the clearness of the goal."





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: We need a UI for Metacello/Loader

Stéphane Ducasse
In reply to this post by Mariano Martinez Peck
I really like that estaban used Gofer so like that we have only one entry point!
Excellent!

Stef

On May 8, 2010, at 4:53 PM, Mariano Martinez Peck wrote:

> Hi folks. First of all let me clarify that all this email is though for new comers.
>
> I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI:
>
> http://code.google.com/p/metacello/wiki/MetacelloTools
>
> I also know there is Metaceller done by Doru.
>
> But I think that the features Esteban Lorenzano implemented in      GoferProjectLoader are a MUST for a new comer. You can read them here:
>
> http://www.smallworks.com.ar/en/community/GoferProjectLoader
>
> Now...he doesn't plan to do a UI for that. My question if it would be a good idea to "extend" Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore.
>
> Cheers
>
> Mariano
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] We need a UI for Metacello/Loader

Schwab,Wilhelm K
In reply to this post by Tudor Girba
A GUI is fine, but Esteban appears (IMHO - only he can speak for himself and his plans) to be tackling the void of a scriptable package system.  By analogy to my evolving home away from Redmond, a graphical package manager is great when I want one thing; it starts to break down when somebody is telling me how to install all the packages I need to compile something from source, in which case I want a shell script with a bunch of apt-get lines.

Esteban's code is probably going to be of greatest value to someone who begins to use Pharo and then is faced with the need to load many external packages into future images.

One of the few things that Microsoft has gotten right over the years is COM versioning; it supports versioning by pointedly not supporting it.  Want a new version?  Make a new interface.  That is exactly how I approach my own code.  The only time I ever have to mess with it is to periodically make sure I have a loadable copy of my work, and (the big one) when it comes time to build a new image.

The things that need to be done are:

(1) find all code that I appear to have touched, so I won't loose work;
(2) save all of my work in ONE STEP (maybe fewer<g>)
(3) provide ONE THING that I load into my next image, and it
    loads everything else in ONE STEP, with the ability to
    break it down if things go wrong.

I don't care about version of my code; I just need to save its current state and load that into the next image.  For external packages, I hope not to care much about versions.  I might want to specify a given verion of Seaside, and after that, I will typically want the latest of a given list of packages.  When somebody lets me down, I will want to override that version in specific cases.  My evolving solution is in the form of Migrate, which I hope to be able to simplify over time thanks to Loader.

GUI tools usually make it easy to spend a long time doing a bunch of small steps, such that what could be a simple task turns into an error prone nightmare.  In general, GUIs are great for tinkering, and command lines and scripting are good for automation.  We can have all the GUIs we want, but please note the importance of scripting.

Bill



-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Tudor Girba
Sent: Saturday, May 08, 2010 10:48 AM
To: [hidden email]
Cc: Pharo Development
Subject: Re: [Pharo-project] [Metacello] We need a UI for Metacello/Loader

Hi,

Could you detail a bit the requirements?

Cheers,
Doru


On 8 May 2010, at 16:53, Mariano Martinez Peck wrote:

> Hi folks. First of all let me clarify that all this email is though
> for new comers.
>
> I think Metacello is a wonderful project and that's why we are
> adopting it in Pharo. I know Metacello has it's own UI:
>
> http://code.google.com/p/metacello/wiki/MetacelloTools
>
> I also know there is Metaceller done by Doru.
>
> But I think that the features Esteban Lorenzano implemented in      
> GoferProjectLoader are a MUST for a new comer. You can read them here:
>
> http://www.smallworks.com.ar/en/community/GoferProjectLoader
>
> Now...he doesn't plan to do a UI for that. My question if it would be
> a good idea to "extend" Metaceller or Metacello-OB so that to uses
> GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe
> for 1.1. I think this is important, at least for Pharo. We don't have
> Universe neither SqueakMap anymore.
>
> Cheers
>
> Mariano

--
www.tudorgirba.com

"The coherence of a trip is given by the clearness of the goal."





_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] We need a UI for Metacello/Loader

Mariano Martinez Peck
In reply to this post by Tudor Girba


On Sat, May 8, 2010 at 5:48 PM, Tudor Girba <[hidden email]> wrote:
Hi,

Could you detail a bit the requirements?

Hi Doru. Basically, you should be able to use the GoferProjectLoader actions from a UI. In this link you can see all the actions:

http://www.smallworks.com.ar/en/community/GoferProjectLoader

Look where it says "Usage". I past here them just in case:

list Answers a collection with all available projects on configured repositories
search: Answers a collection of projects matching the string
managed Answers a collection of currently managed project names
availableVersionsOf:Answers a collection of available versions of project. WARNING: this command actually installs the configuration package if not present
versionOf: Answer current version of project
attributesOf: Answer current attributes of project. The answer is a Dictionary with following keys: Author, Timestamp, Description
repository: Adds a repository to current list of repositories, this repostory works just for this instance of GoferProjectLoader
repository:username:password: Same to #repository:, but also adds user identification
rememberRepository: Adds a persistent repository to current list of repositories
rememberRepository:username:password: Same to #rememberRepository:, but also adds user identification
removeRepository: Removes a persistent repository
load: load a project
load:group: load latest stable version of project, just the selected groups. A group can be a string (e.g. ’default’) or a collection of strings (e.g. #(’Core’ ’Test’)
load:version: load a specified version of project
load:version:group: load a specified version and group(s) of project
update Updates all configuration files for managed projects, and answers a list of new versions available for each project (if there is new versions)
update: Update the configuration for specified project
upgrade Upgrade all managed projects with new versions if any available. Be careful, this option can lead to a unusable image
upgrade: Upgrade specified project with latest stable version if it is newer than the version installed
upgrade:version: Upgrade specified project with specified version
upgrade:version:group: Upgrade specified project with specified version and group(s)

 
Of course, we can release a first version with the most important actions and then a second or third with the rest.

Cheers

Mariano




Cheers,
Doru



On 8 May 2010, at 16:53, Mariano Martinez Peck wrote:

Hi folks. First of all let me clarify that all this email is though for new comers.

I think Metacello is a wonderful project and that's why we are adopting it in Pharo. I know Metacello has it's own UI:

http://code.google.com/p/metacello/wiki/MetacelloTools

I also know there is Metaceller done by Doru.

But I think that the features Esteban Lorenzano implemented in      GoferProjectLoader are a MUST for a new comer. You can read them here:

http://www.smallworks.com.ar/en/community/GoferProjectLoader

Now...he doesn't plan to do a UI for that. My question if it would be a good idea to "extend" Metaceller or Metacello-OB so that to uses GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for 1.1. I think this is important, at least for Pharo. We don't have Universe neither SqueakMap anymore.

Cheers

Mariano

--
www.tudorgirba.com

"The coherence of a trip is given by the clearness of the goal."






_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] We need a UI for Metacello/Loader

Adrian Lienhard
I don't think a graphical user interface is what is important now. If you look at other package management systems, APT or RubyGems, they work very well just from the command line. With GoferProjectLoader we basically have this command line interface.

What is much more important is a process. We need universes for the different Pharo versions and for the different maturity/compatibility states of packages (e.g., unstable, testing, and stable). We need somebody who sets up a process and keeps it running, and we also need package maintainers.

We can list packages on a website (like packages.debian.org). This should make it possible for anybody to find the desired package and install it.

Of course, a GUI would be nice to have. But without a high-quality package repository, it will be only of little use.

I don't have much time left at the moment, but I can assist somebody who wants to get such a system up and running. I believe its going to be a very important step for Pharo.

Cheers,
Adrian


On May 8, 2010, at 18:54 , Mariano Martinez Peck wrote:

> On Sat, May 8, 2010 at 5:48 PM, Tudor Girba <[hidden email]> wrote:
>
>> Hi,
>>
>> Could you detail a bit the requirements?
>>
>
> Hi Doru. Basically, you should be able to use the GoferProjectLoader actions
> from a UI. In this link you can see all the actions:
>
> http://www.smallworks.com.ar/en/community/GoferProjectLoader
>
> Look where it says "Usage". I past here them just in case:
>
> list Answers a collection with all available projects on configured
> repositories
> search: Answers a collection of projects matching the string
> managed Answers a collection of currently managed project names
> availableVersionsOf:Answers a collection of available versions of project.
> WARNING: this command actually installs the configuration package if not
> present
> versionOf: Answer current version of project
> attributesOf: Answer current attributes of project. The answer is a
> Dictionary with following keys: Author, Timestamp, Description
> repository: Adds a repository to current list of repositories, this
> repostory works just for this instance of GoferProjectLoader
> repository:username:password: Same to #repository:, but also adds user
> identification
> rememberRepository: Adds a persistent repository to current list of
> repositories
> rememberRepository:username:password: Same to #rememberRepository:, but also
> adds user identification
> removeRepository: Removes a persistent repository
> load: load a project
> load:group: load latest stable version of project, just the selected groups.
> A group can be a string (e.g. ’default’) or a collection of strings (e.g.
> #(’Core’ ’Test’)
> load:version: load a specified version of project
> load:version:group: load a specified version and group(s) of project
> update Updates all configuration files for managed projects, and answers a
> list of new versions available for each project (if there is new versions)
> update: Update the configuration for specified project
> upgrade Upgrade all managed projects with new versions if any available. *Be
> careful, this option can lead to a unusable image*
> upgrade: Upgrade specified project with latest stable version if it is newer
> than the version installed
> upgrade:version: Upgrade specified project with specified version
> upgrade:version:group: Upgrade specified project with specified version and
> group(s)
>
> Of course, we can release a first version with the most important actions
> and then a second or third with the rest.
>
> Cheers
>
> Mariano
>
>
>
>
>> Cheers,
>> Doru
>>
>>
>>
>> On 8 May 2010, at 16:53, Mariano Martinez Peck wrote:
>>
>> Hi folks. First of all let me clarify that all this email is though for
>>> new comers.
>>>
>>> I think Metacello is a wonderful project and that's why we are adopting it
>>> in Pharo. I know Metacello has it's own UI:
>>>
>>> http://code.google.com/p/metacello/wiki/MetacelloTools
>>>
>>> I also know there is Metaceller done by Doru.
>>>
>>> But I think that the features Esteban Lorenzano implemented in
>>> GoferProjectLoader are a MUST for a new comer. You can read them here:
>>>
>>> http://www.smallworks.com.ar/en/community/GoferProjectLoader
>>>
>>> Now...he doesn't plan to do a UI for that. My question if it would be a
>>> good idea to "extend" Metaceller or Metacello-OB so that to uses
>>> GoferProjectLoader features. Not necessary for Metacello 1.0 but maybe for
>>> 1.1. I think this is important, at least for Pharo. We don't have Universe
>>> neither SqueakMap anymore.
>>>
>>> Cheers
>>>
>>> Mariano
>>>
>>
>> --
>> www.tudorgirba.com
>>
>> "The coherence of a trip is given by the clearness of the goal."
>>
>>
>>
>>
>>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: [Metacello] We need a UI for Metacello/Loader

Stéphane Ducasse
+1


> I don't think a graphical user interface is what is important now. If you look at other package management systems, APT or RubyGems, they work very well just from the command line. With GoferProjectLoader we basically have this command line interface.
>
> What is much more important is a process. We need universes for the different Pharo versions and for the different maturity/compatibility states of packages (e.g., unstable, testing, and stable). We need somebody who sets up a process and keeps it running, and we also need package maintainers.
>
> We can list packages on a website (like packages.debian.org). This should make it possible for anybody to find the desired package and install it.
>
> Of course, a GUI would be nice to have. But without a high-quality package repository, it will be only of little use.
>
> I don't have much time left at the moment, but I can assist somebody who wants to get such a system up and running. I believe its going to be a very important step for Pharo.


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project