[Pharo-project] [squeak-dev] Personalized systems with Treated
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?
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
>> - 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?
> 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