On 04/10/2015 05:35 AM, Tudor Girba wrote:
Hi,

The Gofer script does not solve the problem of triggering a special loading selector in the ConfigurationOfXYZ.

Frankly I have been saying for years that things like this should not be done and that folks should be prepared for the day when a configuration is no longer a class .... not quite there yet, but I guess this is the first shot across the bow ...

Sending messages to a configuration should no longer be used ... I will eventually deprecate that style of loading in favor of the "scripting api style" ... the new style of loading makes use of a registry that records the actual version of projects that were loaded. The old style relied upon a calculation of "currentVersion" and "currentVersion" besides being excruciatingly slow, was often inaccurate ... there is a whole class of bugs that are eliminated by the "scripting api" ... there are also a whole slug of new features that are available when using the "scripting api".

Configurations are SUPPOSED to be platform neutral, so including magical, arbitrary Smalltalk expressions as part of the required load sequence is just right out of bounds from the get go ...

I know that folks have done all kinds of "clever tricks" over the years with configurations taking advantage of the fact that they are classes and early on I did make noise whenever I saw someone doing that ... but I could only warn folks that it was not a good idea and since "boys will be boys" this practice has continued and my protests fell on deaf ears ...

With all of this said, I am curious as to is so special about these class-side selectors that they cannot be accomplished through the existing "scripting api" ... there are already facilities for execution "arbitrary code" within the configuration framework that does respect the platform boundaries, so I would imagine that most of the cases can be converted ...

Sooo if there are problem areas I would be interested in understanding the use cases ...

Dale






Reply via email to