<div dir="ltr"><div dir="ltr">On Sat, Aug 31, 2019 at 12:30 PM tim Rowledge <<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Outside the general discussion about HelpBrowser etc, I've just noticed the extremely clever parts of Installer that use the methods in the 'package-definitions' protocol. <br>
<br>
It's a whole parallel set of ways to load packages that wasn't mentioned in the pbwiki doc I was originally looking at and stealing from. It means of course, another tranche of stuff to try to describe ;-)<br>
<br>
Take a look at, for example, <br>
`Installer new merge: #osProcess`<br>
<br>
a) I'd say adding a class side #merge: to avoid the #new is worth it<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">b) way easier to tell someone to use than the whole open monticello, find the repository, click on... etc etc<br>
c) possibly easier to describe even than <br>
`Installer ss package: 'OSProcess'; install`<br>
and its relatives, since you don't need to know where packages live once they are specified. </blockquote><div><br></div><div>Yes, I like and use it too.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
d) it does make another place that needs checking as part of release to make sure the package definitions are up to date etc<br></blockquote><div><br></div><div>Not as part of the release process, but simply regular development of the packages affected by new dependency requirements.  These are logical package hierarchies (i.e., just the names and repositories, no notion of physical "versions" anywhere), so its only when a developer enhances a package to suddenly need an all-new dependent that they would update its package-definition in Installer.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
There are also a bunch of utilities that I suspect are primarily aimed at supporting PersonalSqueakSource usage and that manipulate repository connections and locality.</blockquote><div><br></div><div>Of which utilities do you speak?   There's no utilities specific to PersonalSqueakSource that I can recall.  PersonalSqueakSource is entirely its own external package.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> I have read the swiki page (<a href="http://wiki.squeak.org/squeak/6366" rel="noreferrer" target="_blank">http://wiki.squeak.org/squeak/6366</a>) but honestly it's just too succinct to  work for me. More explanation would certainly help!<br></blockquote><div><br></div><div>I just looked at it and it seems to all be there -- perhaps as the author it's hard for me to understand which parts need more explanation.  A lot of things which express a somewhat complex concept require more than one reading...</div><div><br></div><div> - Chris</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
This yet another example of how we collectively manage to hide so much stuff under bushels; there's loads of seriously cool things we ought to be using more and making more noise about.<br>
<br>
tim<br>
--<br>
tim Rowledge; <a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>; <a href="http://www.rowledge.org/tim" rel="noreferrer" target="_blank">http://www.rowledge.org/tim</a><br>
Useful Latin Phrases:- Fac ut gaudeam = Make my day.<br>
<br>
<br>
<br>
</blockquote></div></div>