[aida] Metacello

Dale Henrichs dale.henrichs at gemstone.com
Thu Jan 28 07:02:14 CET 2010


Janko,

This isn't a waste of time:) 

I agree that there are problems with the Monticello naming convention. It _isn't_ enforced by anything but the tools and the sort order has changed over time even within the same tool set...

Part of the rationale behind Metacello is to break the link between the mcz file names and versions. In Metacello, there is an explicit version number class. I've taken the version numbers from your packages, converted them to metacello version numbers and sorted the list:

(#('5.4.1' '5.4' '5.6' '5.4-beta1' '6.0' '6.0-beta.1' '6.0-beta.2') 
  collect: [:str | str asMetacelloVersionNumber ]) sort: [:a :b | a <= b ] 

  5.4-beta1 
  5.4 
  5.4.1 
  5.6 
  6.0-beta.1 
  6.0-beta.2 
  6.0

Which I believe is the correct sort order for the versions. As an aside numbers are sorted in numeric order so 9.0 sorts before 10.0. Strings are sorted using string order so -alpha sorts before -beta. Finally 6.0-anything sorts before 6.0.

Gofer is used to load packages in Metacello and the Gofer sort order based on the package names is: 

  '5.4.1' '5.4' '5.6' '5.4-beta1' '6.0' '6.0-beta.1' '6.0-beta.2'

to top it off the name 'Aida6.0' looks like a package name and Gofer endeavors to load the latest version of the package which is 6.0-beta.2:(

I'm not sure that I can force Gofer to do things differently without breaking a lot of other behavior. I will look a little bit more tomorrow, but I think that we are caught between a rock and a hard place.

If you could create packages with mcz file names that conform to the packagename-author.pkgversionnumber, then the Metacello configuration could be used to represent each of the unique product versions and the package name would be less important a development artifact rather than a version artifact. I see from the package history the you use the "standard" naming convention for development so Metacello could point into your development repository...

As I said, I will look a little bit more tomorrow, but I'm not optimistic ... the computer has to have some algorithm for determining sort order and I think that the name Aida6.0 is too ambiguous (is it a base package name or an mcz file name)....

Hopefully we'll be able to figure something out.

Dale

----- "Janko Mivšek" <janko.mivsek at eranova.si> wrote:

| Hi Dale,
| 
| On 27. 01. 2010 19:12, Dale Henrichs wrote:
| 
| > I will check into to see what might be going on ... I think that the
| naming convention that you use for Aida, Swazoo and Sport doesn't
| quite fit the "standard" naming conventions which is confusing
| SqueakSource and Gofer (which is used as the loader for Metacello).
| 
| Thanks a lot and sorry for wasting your time due to naming convention.
| 
| Which is not enforced and I always regarded as unwritten rule, but not
| very handy specially for official released versions, where author
| certainly is not so important to be in the name. The MC package
| contains
| the author among its properties anway.
| 
| Also, from usability and newbies standpoint the released package name
| should be short and a new long-name author convention is direct
| oposite
| of that rule.  While for development ones it is good to have all three
| attributes in the name.
| 
| Just few thoughts
| Janko
| 
| 
| >
| > Dale
| > ----- "Janko Mivšek" <janko.mivsek at eranova.si> wrote:
| >
| > | Hi Dale,
| > |
| > | Thanks a lot for that configuration! I just tried it and it loads
| > | nicelly in Pharo RC2, just that it loads Aida6.0-beta.2 instead of
| > | final
| > | Aida6.0. From looking at class ConfigurationOfAida, method
| > | #version60:,
| > | I didn's see any problem. Is that Metacello wrongly determine the
| > | version to load?
| > |
| > | Ok, I just "released" and "blessed" Aida6.0.mcz on SqueakSource,
| > | maybe
| > | this will help... no, it still loads 6.0-beta.2 instead.
| > | http://www.squeaksource.com/Aida.html
| > |
| > | Funny thing is also that on SqueakSource 6.0 is now among Released
| > | and
| > | Blessed, but not among Versions, neither among Latest. What is
| wrong?
| > | I'm not very proficient with MC as you see :)
| > |
| > | Best regards
| > | Janko
| > |
| > |
| > | On 27. 01. 2010 04:20, Dale Henrichs wrote:
| > | >
| > | > ----- "Geert Claes" <geert.wl.claes at gmail.com> wrote:
| > | >
| > | > | Is there a metacello (ConfigurationOfAIDAWeb type of thing)
| > | install
| > | > | for AIDA
| > | > | Web?
| > | > | --
| > | > | View this message in context:
| > | > | http://n4.nabble.com/Metacello-tp997116p997116.html
| > | > | Sent from the AIDA/Web mailing list archive at Nabble.com.
| > | > | _______________________________________________
| > | > | Aida mailing list
| > | > | Aida at aidaweb.si
| > | > | http://lists.aidaweb.si/mailman/listinfo/aida
| > | >
| > | > Geert,
| > | >
| > | > I've just committed ConfigurationOfAida to the
| MetacelloRepository.
| > | >
| > | > "on Pharo"
| > | > Gofer new
| > | > 	squeaksource: 'MetacelloRepository';
| > | > 	package: 'ConfigurationOfAida';
| > | > 	load.
| > | >
| > | > ((Smalltalk at: #ConfigurationOfAida) project version: '6.0')
| load.
| > | >
| > | > "on Squeak trunk"
| > | > (Installer ss project: 'MetacelloRepository')
| > | >     install: 'ConfigurationOfAida'.
| > | > ((Smalltalk at: #ConfigurationOfAida) project version: '6.0')
| load.
| > | >
| > | > Adding GemStone to the configuration is on my todo list.
| > | >
| > | > Dale
| > | > _______________________________________________
| > | > Aida mailing list
| > | > Aida at aidaweb.si
| > | > http://lists.aidaweb.si/mailman/listinfo/aida
| > | >
| > |
| > | --
| > | Janko Mivšek
| > | AIDA/Web
| > | Smalltalk Web Application Server
| > | http://www.aidaweb.si
| >
| 
| --
| Janko Mivšek
| AIDA/Web
| Smalltalk Web Application Server
| http://www.aidaweb.si
| _______________________________________________
| Aida mailing list
| Aida at aidaweb.si
| http://lists.aidaweb.si/mailman/listinfo/aida


More information about the Aida mailing list