Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
August 2010
- 112 participants
- 1765 messages
[Pharo-project] Which options do we have to persist?
by Guillermo Polito
I want to document this a bit and I don't know if there's something written
somewhere.
I already know SqueakDBX, Magma, Omnibase. Is there something else?
What about ORMs? Glorp?
If you can provide me also links, metacello configs, and what's the status
of them for each version of pharo, it shoud be great! :D
Thanks!
Guille
Aug. 12, 2010
Re: [Pharo-project] Working on Pharo 1.2
by Carla F. Griggio
Hi!
I've downloaded a Pharo 1.2 core image yesterday from
https://gforge.inria.fr/frs/?group_id=1299 (it's the link that says 'file
server' in the pharo-download page).
On Thu, Aug 12, 2010 at 1:23 PM, James Foster <Smalltalk(a)jgfoster.net>wrote:
> All,
>
> I'm having trouble finding 1.2.
>
> http://pharo-project.org/home contains the following: 'If you want to use
> all the new features and improvements that have been added to Pharo lately,
> and you don't mind living on the bleeding edge, download the current Pharo
> 1.2.' Clicking on the 'download' link takes me to
> http://pharo-project.org/pharo-download, but I can't find any place to
> download 1.2.
>
> I've tried enabling the update menu in a 1.1 image, but there seem to be no
> updates.
>
> I've briefly searched the archives for a thread on 'How to contribute to
> 1.2' but haven't found anything.
>
> I've been to http://www.squeaksource.com/PharoInbox.html, but don't see
> any instructions beyond 'just publish it here.'
>
> I've been to http://hudson.lukas-renggli.ch/job/Pharo/, and see that there
> is a build of 1.1 on July 17, and another build on July 20, but that seems
> to be not exactly current, and does not describe itself as 1.2.
>
> Where do I go to get the current (unstable) 1.2 build? What do I need to do
> to contribute (beyond adding to the PharoInbox)? Send mail?
>
> James
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Aug. 12, 2010
[Pharo-project] Working on Pharo 1.2
by James Foster
All,
I'm having trouble finding 1.2.
http://pharo-project.org/home contains the following: 'If you want to use all the new features and improvements that have been added to Pharo lately, and you don't mind living on the bleeding edge, download the current Pharo 1.2.' Clicking on the 'download' link takes me to http://pharo-project.org/pharo-download, but I can't find any place to download 1.2.
I've tried enabling the update menu in a 1.1 image, but there seem to be no updates.
I've briefly searched the archives for a thread on 'How to contribute to 1.2' but haven't found anything.
I've been to http://www.squeaksource.com/PharoInbox.html, but don't see any instructions beyond 'just publish it here.'
I've been to http://hudson.lukas-renggli.ch/job/Pharo/, and see that there is a build of 1.1 on July 17, and another build on July 20, but that seems to be not exactly current, and does not describe itself as 1.2.
Where do I go to get the current (unstable) 1.2 build? What do I need to do to contribute (beyond adding to the PharoInbox)? Send mail?
James
Aug. 12, 2010
Re: [Pharo-project] A little of documentation?
by Guillermo Polito
Well I improved it a little more. I have expanded the categories and
provided Gofer Scripts for pharo 1.0 and pharo 1.1.
Next step is to document some tools that are not in the dev image (Pier,
mondrian, Squeakdbx...). I'll appreciate any help :).
http://book.pharo-project.org/book/table-of-contents/PharoTools/?_s=CAiNcfg…
On Tue, Aug 10, 2010 at 12:53 PM, Guillermo Polito <
guillermopolito(a)gmail.com> wrote:
> Hi! I've just written this in some free minutes at work :P :
> http://book.pharo-project.org/book/table-of-contents/PharoTools/?_s=V-EPbS3…
>
> But I want to improve it a little more, like add the status for the tool
> for each pharo version, a brief description of what it does or contains, and
> whatever that is useful. So, could you throw me some info or links or
> something that helps?
>
> Next step for me is inspect the metacello configurations to create gofer
> scripts for each pharo version.
>
> Here's the list I made. Feel free to add things to the lists, comments...
>
> - OmniBrowser
> - AutomaticMethodCategorizer
> - ScriptManager
> - Shout
> - OCompletion
> - PharoNonCorePackages
> - NewInspector
> - RefactoringBrowser
> - Nile
> - ProfStef
> - Metacello
>
>
> Cheers,
> Guille
>
Aug. 12, 2010
[Pharo-project] Process>>isTerminated
by Alexandre Bergel
Hi!
Time to time I experienced an error when I send #isTerminated to a process. Not really easy to reproduce.
Am i the only one to experience this?
I created http://code.google.com/p/pharo/issues/detail?id=2792
It contains a debug log
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Aug. 12, 2010
Re: [Pharo-project] [ANN] Pharo Metacello Universes
by Miguel Enrique Cobá MartÃnez
El jue, 12-08-2010 a las 16:05 +0200, Mariano Martinez Peck escribió:
> Hi Miguel. Sorry I was in a mini-holidays.
>
> thanks for the push :)
>
> Two weeks before (or similar) before this email, I've already created
> the repositories:
>
> http://www.squeaksource.com/Pharo10Metacello
Yes, I saw them after my announce. Although I prefer prefix convention
for repo an suffix for release, that way they list together in
SqueakSource.
MetaRepoForPharo10
MetaRepoForPharo11
etc
>
>
> and
>
> http://www.squeaksource.com/Pharo11Metacello
>
> I didn't send any email because I was not sure about certain points. I
> want to discuss them now:
>
> 1) Problem: know which project version must be used for a particular
> pharo version. There are two solutions:
>
> a) When a developer commites ConfigurationOf to a particular repo, it
> makes sure the #lastVersion answer the correct one.
> b) When a developer commites ConfigurationOf to a particular repo, it
> makes sure the #load will load the correct version.
I think that for Pharo 1.0 and Pharo 1.1 there is little we can do as
they are already outhere. The will continue referencing
MetacelloRepository forever. And in that repo there are all the possible
dependencies they need. So they need no change in the infrastructure.
Now, if we forget about 1.0 and 1.1 and concentrate in 1.2, then we can
make a big change. I propose:
1. Add to the image (maybe SystemVersion current metacelloRepository) a
getter that returns the standardized string pointing to the correct
metacello repository for the image:
SystemVersion>>metacelloRepository
^ 'MetaRepoForPharo12'
And then all the series of Pharo releases based on that PharoCore image
will point to MetaRepoPharo12 (PharoCore 1.2, PharoCore 1.2.1, PharoCore
1.2.2, Pharo 1.2, Pharo 1.2.1, Pharo 1.2.4, etc. They are the same
release family and supposedly "binary" compatible).
For PharoCore 1.3, that string should be changed to
SystemVersion>>metacelloRepository
^ 'MetaRepoForPharo13'
and so on.
That is the base image and derived images for Pharo.
Now to the tools, Gofer, GoferProjectLoader and Metacello.
Gofer
------
add a universe method (this name is overloaded so a better name is
wanted, maybe metacelloRepository or pharoRepository) so that we can do:
Gofer new
universe; "or metacelloRepository or pharoRepository"
project: 'ConfigurationOfMagma";
load.
The universe (or whatever its name be) just uses SystemVersion current
metacelloRepository to get everything from the correct repository.
GoferProjectLoader
------------------
This could be improved to get every package (that is, a metacello
configuration) from the correct repository by delegating to gofer new
universe and avoiding to resolve itself the repository for the image.
Also, if GoferProjectLoader is part of the core image, then maybe gofer
shouldn't have the universe functionality, but GoferProjectLoader should
have it, and only use gofer to fetch the monticello packages. This way I
think is cleaner, because Gofer is only used as a medium to get things
and knows nothing about universes and repositories depending on a given
image release.
Metacello
-------------
This is the most difficult part.
- Right now, Metacello hardcodes repository paths in the references to
other projects. This isn't bad, but an alternative should be provided.
That is, when referencing external projects like:
project: 'Refactoring-Core' with: [
spec
className: 'ConfigurationOfRefactoringBrowser';
loads: #('Refactoring-Core' );
file: 'ConfigurationOfRefactoringBrowser';
repository: 'http://www.squeaksource.com/MetacelloRepository' ];
it should understand the alternative:
project: 'Refactoring-Core' with: [
spec
universe; "Or metacelloRepository or whatever"
className: 'ConfigurationOfRefactoringBrowser';
loads: #('Refactoring-Core' );
file: 'ConfigurationOfRefactoringBrowser' ];
So that a configuration could resolve all their references from the same
pharo repository. This implies of course that the maintainer assures
that all the referenced ConfigurationOfXXX are actually available in the
repository referenced by SystemVersion current metacelloRepository.
Of course nothing prevents for a configuration to reference a project
outside the "universe" repository, but that is a decision of the
maintainer.
I think that this is the least disruptive way of integrating Metacello
Repositories to next Pharo release.
This preserves backwards compatibility and eases the way of installing
packages in future releases.
What do you think?
Cheers
--
Miguel Cobá
http://miguel.leugim.com.mx
Aug. 12, 2010
Re: [Pharo-project] Inter-image communication
by Noury Bouraqadi
On 12 août 2010, at 15:58, Ralph Boland wrote:
>
> Would RemoteSmalltalk be helpful in (be a foundation for) creating
> such a utility?
>
Yes. But, we need an appropriate set of tools. We (Douai's team) developed a few tools a while ago as part of the UbiquiTalk project. We had a remote-workspace working quite fine. We started an experiment with a remote browser based on omni-browser. But, it was a failure. Omnibrowser does a lot of computations resulting into a lot of network traffic. The browser was to slow to be usable. We started introducing caches, but there were too many things to cache so we gave up.
Noury
> Regards,
>
> Ralph Boland
>
>
> Le 11/08/2010 20:17, Sean P. DeNigris a ?crit :
>>
>>
>> St?phane Ducasse wrote:
>>>
>>> rst?
>>> RemoteSmalltalk?
>>>
>>
>> rst = RemoteSmalltalk = SO COOL!!!
>>
>> I easily shared objects from a Pharo 1.1 image with 4 other local images -
>> including a Squeak 4.1 image!
>>
>>
>> For a hoot:
>>
>> 1. In a Pharo 1.1 image with rST installed doit:
>> "Transcript open.
>> RSTSamples serverStartup"
>>
>> 2. In a Squeak 4.1 image with rST installed doit:
>> "RSTBroker
>> startOnPort: self clientPort
>> logging: false.
>>
>> remoteTranscript := ('Transcript@' , self serverBrokerID) asLocalObject.
>> remoteTranscript show: 'everything is ok! (from client side)';
>> cr"
>>
>> 3. Pick up jaw after you see that the squeak image has sent a message to the
>> Pharo image's Transcript, whose contents now appear as 'everything is ok!
>> (from client side)'
>>
>> n.b. According to the docs, in both images, doit: "RSTBroker stop"
>>
>>
>> How to load:
>> I have no write access to rST, so the required packages can be loaded as
>> follows:
>> "Gofer new
>> squeaksource: 'KomHttpServer';
>> package: 'DynamicBindings';
>> load.
>>
>> Gofer new
>> squeaksource: 'KomHttpServer';
>> package: 'KomServices';
>> load.
>>
>> Gofer new
>> squeaksource: 'SPDProjectUpdates';
>> package: 'rST';
>> load."
>>
>> Thanks for the pointer!
>>
>> 1. This seriously frees me to play with objects in different forks and
>> versions because I know I can beam the live objects to another image
>> whenever I want, and not have them stranded.
>> 2. This seems like it should be perfect for scripting an image, but what
>> shared object would allow arbitrary code to be run on the server? I played
>> with Workspace, but got lost down the delegation rabbit hole
>>
>> Sean
>>
>> p.s. I got it loading with minimal changes - just had to fix the underscore
>> assignments, and break the dependency to an old version of KomServices.
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 12, 2010
Re: [Pharo-project] Inter-image communication
by Noury Bouraqadi
Yes.
On 11 août 2010, at 21:04, Hilaire Fernandes wrote:
> Does it work over a LAN?
>
> Hilaire
>
> Le 11/08/2010 20:17, Sean P. DeNigris a écrit :
>>
>>
>> Stéphane Ducasse wrote:
>>>
>>> rst?
>>> RemoteSmalltalk?
>>>
>>
>> rst = RemoteSmalltalk = SO COOL!!!
>>
>> I easily shared objects from a Pharo 1.1 image with 4 other local images -
>> including a Squeak 4.1 image!
>>
>>
>> For a hoot:
>>
>> 1. In a Pharo 1.1 image with rST installed doit:
>> "Transcript open.
>> RSTSamples serverStartup"
>>
>> 2. In a Squeak 4.1 image with rST installed doit:
>> "RSTBroker
>> startOnPort: self clientPort
>> logging: false.
>>
>> remoteTranscript := ('Transcript@' , self serverBrokerID) asLocalObject.
>> remoteTranscript show: 'everything is ok! (from client side)';
>> cr"
>>
>> 3. Pick up jaw after you see that the squeak image has sent a message to the
>> Pharo image's Transcript, whose contents now appear as 'everything is ok!
>> (from client side)'
>>
>> n.b. According to the docs, in both images, doit: "RSTBroker stop"
>>
>>
>> How to load:
>> I have no write access to rST, so the required packages can be loaded as
>> follows:
>> "Gofer new
>> squeaksource: 'KomHttpServer';
>> package: 'DynamicBindings';
>> load.
>>
>> Gofer new
>> squeaksource: 'KomHttpServer';
>> package: 'KomServices';
>> load.
>>
>> Gofer new
>> squeaksource: 'SPDProjectUpdates';
>> package: 'rST';
>> load."
>>
>> Thanks for the pointer!
>>
>> 1. This seriously frees me to play with objects in different forks and
>> versions because I know I can beam the live objects to another image
>> whenever I want, and not have them stranded.
>> 2. This seems like it should be perfect for scripting an image, but what
>> shared object would allow arbitrary code to be run on the server? I played
>> with Workspace, but got lost down the delegation rabbit hole
>>
>> Sean
>>
>> p.s. I got it loading with minimal changes - just had to fix the underscore
>> assignments, and break the dependency to an old version of KomServices.
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Aug. 12, 2010
Re: [Pharo-project] [ANN] Pharo Metacello Universes
by Mariano Martinez Peck
2010/8/12 Guillermo Polito <guillermopolito(a)gmail.com>
> Before thinking how to store the configurations for the different versions
> of pharo(which I see as branches) we should think how to mantain different
> branches for each project with monticello in a comfortable way...
>
>
I think this is confortable: you, developer, ALWAYS work with only ONE
ConfiguratioOf that could be committed in the same repo where your code is.
In that Conf you have all the hsitpry. Everything.
Every X time, you think "mmmmm I will release 4.21 for Pharo 1.0". Perfect.
You then commit such version of the Configuration into the repository
Pharo10Metacello making that #load loads the 4.21 version. And that's all.
You never merge between those packages. You only maintain one, that is
commited in your own repo. Then, you just copy them (and change #load) to
specific Pharo verisons.
Here there is no need to merge and no problem. I am wrong ?
Maybe the solution is to have one repository for each project, but I don't
> know if that make us lose history...
>
> 2010/8/12 Mariano Martinez Peck <marianopeck(a)gmail.com>
>
> Hi Miguel. Sorry I was in a mini-holidays.
>>
>> thanks for the push :)
>>
>> Two weeks before (or similar) before this email, I've already created the
>> repositories:
>>
>> http://www.squeaksource.com/Pharo10Metacello
>>
>> and
>>
>> http://www.squeaksource.com/Pharo11Metacello
>>
>>
>> I didn't send any email because I was not sure about certain points. I
>> want to discuss them now:
>>
>> 1) Problem: know which project version must be used for a particular
>> pharo version. There are two solutions:
>>
>> a) When a developer commites ConfigurationOf to a particular repo, it
>> makes sure the #lastVersion answer the correct one.
>> b) When a developer commites ConfigurationOf to a particular repo, it
>> makes sure the #load will load the correct version.
>>
>> a) is more complicated and require more time for the developer. It means
>> you will have separate branches for each pharo version. The information is
>> spread.
>> with b) all the information is together in only one ConfOf in your own
>> repo. Once it is needed, you just commit it to a particular Pharo repository
>> and just change the #load
>> I think b) is muuuuch easier.
>> So...everybody knows how to install something "ConfigurationOf load".
>>
>> 2) Problem: projects may refer to other projects. And the referenced
>> projects can be anywhere (for example, metacello repository). Example of
>> ConfigurationOfOmniBrowser >> baseline11:
>>
>> project: 'Refactoring-Core' with: [
>> spec
>> className: 'ConfigurationOfRefactoringBrowser';
>> loads: #('Refactoring-Core' );
>> file: 'ConfigurationOfRefactoringBrowser';
>> repository: '
>> http://www.squeaksource.com/MetacelloRepository' ];
>>
>> So....ok., ConfigurationOfOmniBrowser will be in Pharo10Metacello
>> (example). But...it will load the ConfigurationOfRefactoringBrowser from
>> MonticelloRepository....WRONG!!!
>>
>> solution?
>> a) change everything by hand....crap
>> b) use repositoryOverride:
>>
>> b) can be used, but the problem (if I understood correclty) is that it
>> replaces ALL repositories. So, you need to have EVERYTHING in that repo in
>> order to work.
>>
>>
>> 3) Problem: people will start to submit, may not maintain anymore, etc. I
>> wouldn't make gloabl write such repositories. We should only give access to
>> those that need it
>>
>>
>> For me the most complicated problem is b). Ideas?
>>
>> Cheers
>>
>> Mariano
>>
>>
>>
>>
>> On Wed, Aug 4, 2010 at 7:29 PM, Stéphane Ducasse <
>> stephane.ducasse(a)inria.fr> wrote:
>>
>>> >>
>>> >
>>> > I have read the discussions and yes that would be good but some things
>>> > concern me:
>>> > - Repository size (maybe this is not a problem but the squeak source
>>> > downtime come to mind)
>>> memory disc is cheap
>>>
>>> > - Load in the squeak source when sync is being done.
>>> yes
>>>
>>> > - Who syncs the packages, Metacello when uploading¡ Some webmaster? A
>>> > cron?
>>> the commiter press a button: "archive" and as a side effect all
>>> the packages are recursively pulled up and save :)
>>>
>>> > - What about conflicting names in packages.
>>> I would not bother right now.
>>>
>>> > - Maybe RFB-MiguelCoba.25 in ConfigurationOfRFB ask it from lukas repo
>>> > and ConfigurationOfOtherPackage requires RFB-MiguelCoba.25 from
>>> > squeaksource RFB repository and for any reason the packages are
>>> distinct
>>> > (maybe a bug was found and republished in lukas repo with the same
>>> > version number, but squeaksource version was copied before the fix was
>>> > done)
>>>
>>> the one loaded by the config should be the one saved.
>>>
>>> > Maybe those problems never show. Anyway, the idea of having all
>>> > available is good, but maybe not a task of Metacello, but as an
>>> > independent effort. Metacello will just use the redundant repositories
>>> > when installing a package.
>>> >
>>> >
>>> > Cheers
>>> >
>>> >>
>>> >> Else this is great.
>>> >>
>>> >> Stef
>>> >>
>>> >>
>>> >> On Aug 4, 2010, at 11:41 AM, Adrian Lienhard wrote:
>>> >>
>>> >>> Hi Miguel,
>>> >>>
>>> >>> Thanks! It's great to see progress on this front!
>>> >>>
>>> >>> Cheers,
>>> >>> Adrian
>>> >>>
>>> >>> On Aug 4, 2010, at 10:21 , Miguel Enrique Cobá MartÃnez wrote:
>>> >>>
>>> >>>> Hi all,
>>> >>>>
>>> >>>> I have created three new repositories on squeaksource:
>>> >>>>
>>> >>>> http://www.squeaksource.com/UniverseForPharo10
>>> >>>> http://www.squeaksource.com/UniverseForPharo11
>>> >>>> http://www.squeaksource.com/UniverseForPharo12
>>> >>>>
>>> >>>> They are the repositories for the current versions of Pharo. The
>>> idea is
>>> >>>> that each new release add a new UniverseForXXX repository and
>>> populates
>>> >>>> it with the current UniverseForXXX packages of the stable release.
>>> >>>>
>>> >>>> Right now they are mostly empty, but should be populated by the
>>> >>>> community and the ConfigurationOfXXX maintainers.
>>> >>>>
>>> >>>> Most ConfigurationOfXXX packages in
>>> >>>>
>>> >>>> http://www.squeaksource.com/MetacelloRepository
>>> >>>>
>>> >>>> should be copied to UniverseForPharo10. Which versions? The last
>>> known
>>> >>>> version that is working correctly on Pharo 1.0. This will be the
>>> >>>> official universe for Pharo1.0. No ConfigurationOfXXX should be
>>> stored
>>> >>>> on UniverseForPharo10 if it is not working correctly on Pharo10.
>>> >>>>
>>> >>>> Then two things can follow:
>>> >>>>
>>> >>>> - If the package already has ConfigurationOfXXX package versions
>>> that
>>> >>>> work in Pharo 1.1, those versions should be copied to
>>> >>>> UniverseForPharo11.
>>> >>>>
>>> >>>> - If the ConfigurationOfXXX only works for Pharo1.0 and the
>>> maintainer
>>> >>>> want to create the configuration for Pharo 1.1, he/she must copy the
>>> >>>> last working configuration for the package from UniverseForPharo10
>>> to
>>> >>>> UniverseForPharo11. There he/she can start modifying the package
>>> until
>>> >>>> it works correctly in Pharo1.1 (use the blessing: tags wisely to
>>> avoid
>>> >>>> marking a broken configuration as released)
>>> >>>>
>>> >>>> This will permit to populate the UniverseForPharo11 based on the
>>> last
>>> >>>> working package versions from UniverseForPharo10. From that point
>>> they
>>> >>>> will likely diverge because of maintenance releases to the packages
>>> in
>>> >>>> any UniverseForXXX repository.
>>> >>>>
>>> >>>> The same will must be done to migrate from UniverseForPharo11 to
>>> >>>> UniverseForPharo12. You get the idea.
>>> >>>>
>>> >>>> With time, MetacelloRepository should be deprecated in favor of this
>>> >>>> UniverseForXXX repositories.
>>> >>>>
>>> >>>> Anyone is free to copy a working version from a previous Universe to
>>> a
>>> >>>> new Universe. They have read/write permissions to all.
>>> >>>>
>>> >>>> This setup will avoid the problems we are having right now with the
>>> >>>> in-image changes that are rendering the ConfigurationOfXXX unusable
>>> in
>>> >>>> distinct releases of Pharo.
>>> >>>>
>>> >>>> What this means to the end user:
>>> >>>>
>>> >>>> - For released version of Pharo
>>> >>>>
>>> >>>> They will have to use gofer this way:
>>> >>>>
>>> >>>> Gofer new
>>> >>>> squeaksource: 'UniverseForPharo10'; "Or UniverseForPharo11"
>>> >>>> project: 'ConfigurationOfMagma';
>>> >>>> load.
>>> >>>> ConfigurationOfMagma project latestVersion load.
>>> >>>>
>>> >>>> - For next releases of Pharo
>>> >>>>
>>> >>>> Gofer loadFromUniverse: 'Magma'. "Or with GoferProjectLoader"
>>> >>>> ConfigurationOfMagma project latestVersion load.
>>> >>>>
>>> >>>> All this depends on conventions to find the appropriate universe for
>>> >>>> each pharo release, and also in the support from tools (like gofer
>>> in
>>> >>>> this example or the GoferProjectLoader if it is part of the core
>>> image).
>>> >>>> The universe functionality of the tools right now rely on the
>>> >>>> SystemVersion current majorMinorVersion string for deciding which
>>> >>>> repository to connect to. This could be improved surely but for now
>>> it
>>> >>>> works.
>>> >>>>
>>> >>>> I'm loading a new version of Gofer to PharoInbox with this
>>> functionality
>>> >>>> added so if you want to load directly from the universes with gofer
>>> do:
>>> >>>>
>>> >>>> Gofer upgrade.
>>> >>>> Gofer loadFromUniverse: 'YourPackageAlreadyInAUniverse'.
>>> >>>>
>>> >>>> But wait to this change to be treated by Stephane or Lukas before
>>> >>>> attempt it.
>>> >>>>
>>> >>>> Right now there is only Magma in the three repositories, but it
>>> >>>> shouldn't be hard for the maintainers of the other Configurations to
>>> >>>> help populate the universes from Pharo1.0, Pharo1.1 and Pharo1.2.
>>> >>>>
>>> >>>> This will benefit us as a community because the universes for the
>>> >>>> released pharo versions will be mostly untouched (only maintenance
>>> >>>> releases) and people will have the freedom to modify the
>>> configuration
>>> >>>> in the unstable (currently UniverseForPharo12) universe without
>>> >>>> affecting the users of the stable versions.
>>> >>>>
>>> >>>> Also, this will avoid to have a lot of conditionals inside the
>>> >>>> ConfigurationOfXXX classes, because a given class will target a
>>> specific
>>> >>>> Pharo release (the version on the newest universes could even delete
>>> the
>>> >>>> methods for the old universe, because will likely won't work in the
>>> new
>>> >>>> universe, deleting unnecessary and legacy code from the
>>> configuration)
>>> >>>>
>>> >>>> Comments and improvements welcome
>>> >>>>
>>> >>>> --
>>> >>>> Miguel Cobá
>>> >>>> http://miguel.leugim.com.mx
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>> _______________________________________________
>>> >>>> Pharo-project mailing list
>>> >>>> Pharo-project(a)lists.gforge.inria.fr
>>> >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>> >>>
>>> >>>
>>> >>> _______________________________________________
>>> >>> Pharo-project mailing list
>>> >>> Pharo-project(a)lists.gforge.inria.fr
>>> >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> Pharo-project mailing list
>>> >> Pharo-project(a)lists.gforge.inria.fr
>>> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>> >
>>> > --
>>> > Miguel Cobá
>>> > http://miguel.leugim.com.mx
>>> >
>>> >
>>> > _______________________________________________
>>> > Pharo-project mailing list
>>> > Pharo-project(a)lists.gforge.inria.fr
>>> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project(a)lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Aug. 12, 2010
Re: [Pharo-project] [ANN] Pharo Metacello Universes
by Guillermo Polito
Before thinking how to store the configurations for the different versions
of pharo(which I see as branches) we should think how to mantain different
branches for each project with monticello in a comfortable way...
Maybe the solution is to have one repository for each project, but I don't
know if that make us lose history...
2010/8/12 Mariano Martinez Peck <marianopeck(a)gmail.com>
> Hi Miguel. Sorry I was in a mini-holidays.
>
> thanks for the push :)
>
> Two weeks before (or similar) before this email, I've already created the
> repositories:
>
> http://www.squeaksource.com/Pharo10Metacello
>
> and
>
> http://www.squeaksource.com/Pharo11Metacello
>
>
> I didn't send any email because I was not sure about certain points. I want
> to discuss them now:
>
> 1) Problem: know which project version must be used for a particular pharo
> version. There are two solutions:
>
> a) When a developer commites ConfigurationOf to a particular repo, it makes
> sure the #lastVersion answer the correct one.
> b) When a developer commites ConfigurationOf to a particular repo, it makes
> sure the #load will load the correct version.
>
> a) is more complicated and require more time for the developer. It means
> you will have separate branches for each pharo version. The information is
> spread.
> with b) all the information is together in only one ConfOf in your own
> repo. Once it is needed, you just commit it to a particular Pharo repository
> and just change the #load
> I think b) is muuuuch easier.
> So...everybody knows how to install something "ConfigurationOf load".
>
> 2) Problem: projects may refer to other projects. And the referenced
> projects can be anywhere (for example, metacello repository). Example of
> ConfigurationOfOmniBrowser >> baseline11:
>
> project: 'Refactoring-Core' with: [
> spec
> className: 'ConfigurationOfRefactoringBrowser';
> loads: #('Refactoring-Core' );
> file: 'ConfigurationOfRefactoringBrowser';
> repository: '
> http://www.squeaksource.com/MetacelloRepository' ];
>
> So....ok., ConfigurationOfOmniBrowser will be in Pharo10Metacello
> (example). But...it will load the ConfigurationOfRefactoringBrowser from
> MonticelloRepository....WRONG!!!
>
> solution?
> a) change everything by hand....crap
> b) use repositoryOverride:
>
> b) can be used, but the problem (if I understood correclty) is that it
> replaces ALL repositories. So, you need to have EVERYTHING in that repo in
> order to work.
>
>
> 3) Problem: people will start to submit, may not maintain anymore, etc. I
> wouldn't make gloabl write such repositories. We should only give access to
> those that need it
>
>
> For me the most complicated problem is b). Ideas?
>
> Cheers
>
> Mariano
>
>
>
>
> On Wed, Aug 4, 2010 at 7:29 PM, Stéphane Ducasse <
> stephane.ducasse(a)inria.fr> wrote:
>
>> >>
>> >
>> > I have read the discussions and yes that would be good but some things
>> > concern me:
>> > - Repository size (maybe this is not a problem but the squeak source
>> > downtime come to mind)
>> memory disc is cheap
>>
>> > - Load in the squeak source when sync is being done.
>> yes
>>
>> > - Who syncs the packages, Metacello when uploading¡ Some webmaster? A
>> > cron?
>> the commiter press a button: "archive" and as a side effect all
>> the packages are recursively pulled up and save :)
>>
>> > - What about conflicting names in packages.
>> I would not bother right now.
>>
>> > - Maybe RFB-MiguelCoba.25 in ConfigurationOfRFB ask it from lukas repo
>> > and ConfigurationOfOtherPackage requires RFB-MiguelCoba.25 from
>> > squeaksource RFB repository and for any reason the packages are distinct
>> > (maybe a bug was found and republished in lukas repo with the same
>> > version number, but squeaksource version was copied before the fix was
>> > done)
>>
>> the one loaded by the config should be the one saved.
>>
>> > Maybe those problems never show. Anyway, the idea of having all
>> > available is good, but maybe not a task of Metacello, but as an
>> > independent effort. Metacello will just use the redundant repositories
>> > when installing a package.
>> >
>> >
>> > Cheers
>> >
>> >>
>> >> Else this is great.
>> >>
>> >> Stef
>> >>
>> >>
>> >> On Aug 4, 2010, at 11:41 AM, Adrian Lienhard wrote:
>> >>
>> >>> Hi Miguel,
>> >>>
>> >>> Thanks! It's great to see progress on this front!
>> >>>
>> >>> Cheers,
>> >>> Adrian
>> >>>
>> >>> On Aug 4, 2010, at 10:21 , Miguel Enrique Cobá MartÃnez wrote:
>> >>>
>> >>>> Hi all,
>> >>>>
>> >>>> I have created three new repositories on squeaksource:
>> >>>>
>> >>>> http://www.squeaksource.com/UniverseForPharo10
>> >>>> http://www.squeaksource.com/UniverseForPharo11
>> >>>> http://www.squeaksource.com/UniverseForPharo12
>> >>>>
>> >>>> They are the repositories for the current versions of Pharo. The idea
>> is
>> >>>> that each new release add a new UniverseForXXX repository and
>> populates
>> >>>> it with the current UniverseForXXX packages of the stable release.
>> >>>>
>> >>>> Right now they are mostly empty, but should be populated by the
>> >>>> community and the ConfigurationOfXXX maintainers.
>> >>>>
>> >>>> Most ConfigurationOfXXX packages in
>> >>>>
>> >>>> http://www.squeaksource.com/MetacelloRepository
>> >>>>
>> >>>> should be copied to UniverseForPharo10. Which versions? The last
>> known
>> >>>> version that is working correctly on Pharo 1.0. This will be the
>> >>>> official universe for Pharo1.0. No ConfigurationOfXXX should be
>> stored
>> >>>> on UniverseForPharo10 if it is not working correctly on Pharo10.
>> >>>>
>> >>>> Then two things can follow:
>> >>>>
>> >>>> - If the package already has ConfigurationOfXXX package versions that
>> >>>> work in Pharo 1.1, those versions should be copied to
>> >>>> UniverseForPharo11.
>> >>>>
>> >>>> - If the ConfigurationOfXXX only works for Pharo1.0 and the
>> maintainer
>> >>>> want to create the configuration for Pharo 1.1, he/she must copy the
>> >>>> last working configuration for the package from UniverseForPharo10 to
>> >>>> UniverseForPharo11. There he/she can start modifying the package
>> until
>> >>>> it works correctly in Pharo1.1 (use the blessing: tags wisely to
>> avoid
>> >>>> marking a broken configuration as released)
>> >>>>
>> >>>> This will permit to populate the UniverseForPharo11 based on the last
>> >>>> working package versions from UniverseForPharo10. From that point
>> they
>> >>>> will likely diverge because of maintenance releases to the packages
>> in
>> >>>> any UniverseForXXX repository.
>> >>>>
>> >>>> The same will must be done to migrate from UniverseForPharo11 to
>> >>>> UniverseForPharo12. You get the idea.
>> >>>>
>> >>>> With time, MetacelloRepository should be deprecated in favor of this
>> >>>> UniverseForXXX repositories.
>> >>>>
>> >>>> Anyone is free to copy a working version from a previous Universe to
>> a
>> >>>> new Universe. They have read/write permissions to all.
>> >>>>
>> >>>> This setup will avoid the problems we are having right now with the
>> >>>> in-image changes that are rendering the ConfigurationOfXXX unusable
>> in
>> >>>> distinct releases of Pharo.
>> >>>>
>> >>>> What this means to the end user:
>> >>>>
>> >>>> - For released version of Pharo
>> >>>>
>> >>>> They will have to use gofer this way:
>> >>>>
>> >>>> Gofer new
>> >>>> squeaksource: 'UniverseForPharo10'; "Or UniverseForPharo11"
>> >>>> project: 'ConfigurationOfMagma';
>> >>>> load.
>> >>>> ConfigurationOfMagma project latestVersion load.
>> >>>>
>> >>>> - For next releases of Pharo
>> >>>>
>> >>>> Gofer loadFromUniverse: 'Magma'. "Or with GoferProjectLoader"
>> >>>> ConfigurationOfMagma project latestVersion load.
>> >>>>
>> >>>> All this depends on conventions to find the appropriate universe for
>> >>>> each pharo release, and also in the support from tools (like gofer in
>> >>>> this example or the GoferProjectLoader if it is part of the core
>> image).
>> >>>> The universe functionality of the tools right now rely on the
>> >>>> SystemVersion current majorMinorVersion string for deciding which
>> >>>> repository to connect to. This could be improved surely but for now
>> it
>> >>>> works.
>> >>>>
>> >>>> I'm loading a new version of Gofer to PharoInbox with this
>> functionality
>> >>>> added so if you want to load directly from the universes with gofer
>> do:
>> >>>>
>> >>>> Gofer upgrade.
>> >>>> Gofer loadFromUniverse: 'YourPackageAlreadyInAUniverse'.
>> >>>>
>> >>>> But wait to this change to be treated by Stephane or Lukas before
>> >>>> attempt it.
>> >>>>
>> >>>> Right now there is only Magma in the three repositories, but it
>> >>>> shouldn't be hard for the maintainers of the other Configurations to
>> >>>> help populate the universes from Pharo1.0, Pharo1.1 and Pharo1.2.
>> >>>>
>> >>>> This will benefit us as a community because the universes for the
>> >>>> released pharo versions will be mostly untouched (only maintenance
>> >>>> releases) and people will have the freedom to modify the
>> configuration
>> >>>> in the unstable (currently UniverseForPharo12) universe without
>> >>>> affecting the users of the stable versions.
>> >>>>
>> >>>> Also, this will avoid to have a lot of conditionals inside the
>> >>>> ConfigurationOfXXX classes, because a given class will target a
>> specific
>> >>>> Pharo release (the version on the newest universes could even delete
>> the
>> >>>> methods for the old universe, because will likely won't work in the
>> new
>> >>>> universe, deleting unnecessary and legacy code from the
>> configuration)
>> >>>>
>> >>>> Comments and improvements welcome
>> >>>>
>> >>>> --
>> >>>> Miguel Cobá
>> >>>> http://miguel.leugim.com.mx
>> >>>>
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> Pharo-project mailing list
>> >>>> Pharo-project(a)lists.gforge.inria.fr
>> >>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> Pharo-project mailing list
>> >>> Pharo-project(a)lists.gforge.inria.fr
>> >>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >>
>> >>
>> >> _______________________________________________
>> >> Pharo-project mailing list
>> >> Pharo-project(a)lists.gforge.inria.fr
>> >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>> >
>> > --
>> > Miguel Cobá
>> > http://miguel.leugim.com.mx
>> >
>> >
>> > _______________________________________________
>> > Pharo-project mailing list
>> > Pharo-project(a)lists.gforge.inria.fr
>> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project(a)lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project(a)lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
Aug. 12, 2010