Dec. 19, 2011
6:57 p.m.
Hi Ben. Some offtopic, but be aware that ConfigurationOfSqueakDBX is deprecated. The whole project has been renamed to DBXTalk and what was SqueakDBX is now DBXTalkOpenDBXDriver. You can find ConfigurationOfOpenDBXDriver in DBXTalk repo or MetacelloRepository. On Mon, Dec 19, 2011 at 6:11 PM, Stéphane Ducasse <stephane.ducasse@inria.fr > wrote: > > On Dec 19, 2011, at 5:04 PM, Ben Coman wrote: > > > Stéphane Ducasse wrote: > >> ben thanks for your feedback. > >> > >> Normally we should use the monticello repository browser and just click > on a ConfigurationOf > >> > > I've been lurking this mail list for 6 - 9 months and had not picked > that up. That is a big miss. I'm not usually so slow. Can you point me to > the documentation that describes that process? > > > The problem is that we did not push it to the point the repository for > 1.0, contains only 1.0 configuration. > We will check that when esteban will arrive. > > > > > In the meantime, I unzip a fresh Pharo-1.3-OneClick, open Monticello > Browser and look for ConfigurationOfSqueakDBX. I can't see it. I expected > to since you seemed to indicate it was that simple. > > > > So I GUESS* my way through. I <Open> the > http://www.squeaksource.com/MetacelloRepository repository > > (which actually requires a bit of fore knowledge about the url - which > not all newbies will have) > > This did show ConfigurationOfSqueakDBX but the are many versions and so > many buttons to choose from. A bit scary for a newbie. > > Anyhow, I'll ASSUME* to select the latest one > ConfigurationOfSqueakDBX-MarianoMartinezPeck.27 and click <Load>. > > > > I still can't see any SqueakDBX or OpenDBX classes in System Browser. > > Do I need to follow up manually doing "ConfigurationOfSqueakDBX project > latestVersion load." ? > > A mixed procedure part GUI and part non-GUI is not the best - and I've > not seen it documented anywhere. > > > > I would have liked to have loaded the package with "just a single click > on a ConfigurationOf" but there seems to be more to it than that. > > > > The following still seems easier: > > > Metacello package: 'SqueakDBX' load > > or perhaps some alternatives using existing tools... > > 1. To the Monticello Browser add a <Metacello> button that opens > http://www.squeaksource.com/MetacelloRepository. If Metacello is "THE" > package management tool then it should have a higher profile than just one > of the 23 listed repositories, of which two others have "Metacello" in > their title. > > 2. To the World Menu, add a <Metacello Browser> item that jumps straight > to the Monticello Repository Browser for > http://www.squeaksource.com/MetacelloRepository. > > 3. The Welcome Text of a fresh pharo-oneclick image should describe how > to do either 1. or 2. above. > > > > cheers, Ben > >> than did you read the forthcoming chapter? > >> https://gforge.inria.fr/frs/download.php/28462/Metacello.pdf (old > version) > >> > >> > > Yes I refer to it in point 4 below. Can you point me to where in that > pdf it specifically describes that loading procedure using Monticello > Browser. All the examples I can see are code b> below, except using > (Smalltalk at:.....) rather than the class itself. > > > > Further, the Pharo-1.3-OneClick opening documentation says to execute > the following line... > > > DEVImageWorkspaces openExternalProjectWorkspace. > > which shows several examples all of the same form as the code b> below. > > > > Also, from memory the examples given throughout this mail list tend to > be of the same form as code b> below - rather than directing people to the > GUI Monticello Browser - or I probably would have picked that up sooner. > > > >> Stef > >> > >> > >> > >> On Dec 19, 2011, at 5:15 AM, Ben Coman wrote: > >> > >> > >>> Some observations from the perspective of as a newbie on Pharo Package > Management. I'm likely to me missing in the philosophy of the design, but > from the narrow view of my own usage.... > >>> > >>> 1. When I read about Metacello being the package management system, I > expected there to be a "command"(*) Metacallo but instead I see Gopher > being used. This is a mixed message that lowers my comfort level feeling > I understand the system as I'm trying to pick up a bundle of new ideas. As > I now understand it Metacello is more about a system of backend > configuration than a front end user interface. I am now more comfortable > using Gopher direct - but I reflect on how I felt the first time. > >>> > >>> (*) While technically a "command" is like a verb, and Gopher is like > a noun rather than a verb - I can't yet completely disengage my prior > learning that considers the first part of the statement to be a "command" - > and I expect other newbies might find the same. > >>> > >>> 2. The strong convention of naming things ConfigurationOfXXXX is > somewhat redundant from a user perspective. > >>> > >>> 3. If copy-paste into the Workspace from a web site a sample package > load (for example b> below) and then highlight the whole thing and execute, > it tells me > >>> "Unknown variable: ConfigurationOfSqueakDBX, please correct, or > cancel" Duh! What? Oh, I need to execute it in two parts. No one wrote > that down anywhere.... > >>> The alternative "(Smalltalk at: #ConfigurationOfSqueakDBX)" adds > further complexity in the eyes of a newbie. > >>> > >>> Based on the above points, it would be nice to have... > >>> > >>> a> Metacello configuration: 'SqueakDBX' load > >>> > >>> rather than... > >>> > >>> b> Gofer new > >>> b> squeaksource: 'MetacelloRepository'; > >>> b> package: 'ConfigurationOfSqueakDBX'; > >>> b> load. > >>> b> ConfigurationOfSqueakDBX project latestVersion load. > >>> While only a small saving in typing, I think it significant for > newbies in terms of polish and the marketing message that Metacello really > is the chosen package management system. > >>> A very rough implementation (with much of the syntax likely wrong) > might be just... > >>> > >>> c> Metacello class >> package: aPackage > >>> c> | packageConfig | > >>> c> packageConfig := 'ConfigurationOf', aPackage; > >>> c> Gopher new c> squeaksource: > 'MetacelloRepository'; > >>> c> package: packageConfig > >>> c> load > >>> c> ^((Smalltalk at: (packageConfig asSymbol)) > >>> > >>> > >>> Now after I've written the above I contemplate that there must have > been an early design decision to not implement a separate Metacello class > to avoid duplication/overlap with Monticello. However perhaps now that the > system is implemented as it is, a thin shim can be put over the top to > assist getting the ConfigurationOfXXX files downloaded. Additional things > this Metacello class might later provide: a. Improved reliability by > downloading from a system of package repository mirrors. SqueakSource was > having some issues and I found [1] a fortunate backup. b. A GUI for > browsing package versions > >>> c. A GUI for browsing compatibility tables from a continuous > integration system that tries different permutations of Montecello packages > together. > >>> > >>> > >>> 4. It seems that every ConfigurationOfXXX has its own category in the > SystemBrowser. Each of these categories has only one class. This seems to > me like unneeded clutter of the System Browser. It would be neater if > Metacello specified its configurations to be grouped under a single > category "MetacelloConfigurations" or similar. > >>> > >>> 5. The sample Metacello PBE is very good in the detail for developers > to provide configurations. However there is not much directed clearly at a > 'mere' user. Even though Smalltalk makes us all developers, newbies all > start as mere users while exploring the system. [1] Gofer new url: ' > http://dsal.cl/squeaksource/MonticelloRedirect'; package: > 'MontiRedirect'; load. MRManager redirectFrom: ' > http://www.squeaksource.com/' to: 'http://dsal.cl/squeaksource/'. > >>> > >>> Cheers, Ben > >>> > >>> > >> > >> > >> > >> > > > > > > > -- Mariano http://marianopeck.wordpress.com