[Pharo-project] [squeak-dev] Personalized systems with Treated

Chris Muller ma.chris.m at gmail.com
Thu May 5 21:17:09 CEST 2011

>> I'm more interested to know the answers to these questions:
>>   - How does one deploy an application on Pharo that requires a
>> one-line change to a core system method that is not acceptable to the
>> Pharo gods?
> The same tha squeak for changes that aren't accepted/belongs to/are too
> specific to an application. You include them as an *mypackage extension
> in some package of yours and then when the mcz is installed, the
> extension is installed too. That is just monticello as always.

I'm talking about an override not an extension.

>>   - How does one deploy an application on Pharo that loads code from
>> external web-sites?
> Using doIts if necessary.

Right, dropping down into straight load-script and doing it.  Got it!  :)

>>   - How does one deploy an application on Pharo that requires external
>> graphics, videos, XML or other resources?
> Idem.

Often specific _versions_ of resources go with each specific version
of an application.  Now I am maintaining those separately, in separate
places using separate tools.

I want something to expand the metaphor of an object being
"encapsulated behavior + state" into my deployment system, so it will
be "encapsulated behaviors + resources".  Thankfully, even Pharo 1.3
still supports .SAR files, but no nice GUI to load them, just the
file-manager.  :(

>>   - How does one deploy an application on Pharo that requires an
>> object-graph to be loaded internally into the image that was pre-built
>> using another tool (e.g., NOT generated via code)?
> Don't understand the example

A better example.  What if I just want something that strips my image
down of lots of code and objects, without leaving any new code loaded?

It's a rhetorical question, I already know the answer:  Create a
Metacello config to host only a load-script (doIt).  But I wonder
whether said doIt would be able to "unload itself" when it was done?
Probably could.

> I think it does those things, maybe a second look at the existings
> configurations can clear a lot of doubts.

The picture seems to be, as long as my app is all just "clean-loading
MC packages", then I can use Metacello within its normal bounds. (OR,
I could just use the standard "lighter-weight" SCM tools; Monticello +
MonticelloConfigurations + Gofer).

However, if an application requires anything additional:  overrides,
resources or special-configurations, then I drop down to the "ultimate
flexbility" afforded by doIt's - which is just load-scripting.  Even
then, the resources are not encapsulated as I already said.

SqueakMap is a repository that hosts load-scripts encasulated with or
without resources.  It's perfectly complimentary to all of the other

I'm exhausted of talking about this..


More information about the Pharo-project mailing list