<div dir="ltr">Hi Timothy,<div><br></div><div>It sounds like you're in an early ideation stage of your help system, which tends to be a good stage to just let your inhibitions loose and crank out a skeleton sketch of your vision, leaving details like Object or ProtoObject to be filled in later (though, I think I know what people will say).  I'm more curious how you plan to structure your packages -- some kind of HelpEngine core package into which additional packages can be loaded for plugging in different content or, content-types, or, even for different presentation outputs..  Customization via loadability and unloadability for servers..</div><div><br></div><div>So much to consider, it should be fun!</div><div><br></div><div> - Chris</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, May 18, 2020 at 2:43 PM gettimothy via Squeak-dev <<a href="mailto:squeak-dev@lists.squeakfoundation.org" target="_blank">squeak-dev@lists.squeakfoundation.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u><div><div style="font-family:Verdana,Arial,Helvetica,sans-serif;font-size:10pt"><div>Hi Foks,<br></div><div><br></div><div>TL;DR; is it a "BAD THING TO DO" to add a class side method to ProtoObject?<br></div><div><br></div><div><br></div><blockquote style="border:1px solid rgb(204,204,204);padding:7px;background-color:rgb(245,245,245)"><div><div>ProtoObject >> help<br></div><div><br></div><div>^'foo'<br></div><div><br></div></div></blockquote><div><br></div><div>Now every class A to Z in the system has a built in help message:<br></div><div><br></div><blockquote style="border:1px solid rgb(204,204,204);padding:7px;background-color:rgb(245,245,245)"><div><div>AColorSelectorMorph help --> 'foo'<br></div><div>ZoomMorph help --> 'foo'<br></div><div><br></div></div></blockquote><div><br></div><div>"Smalltalk" is not a class, so figure that out later..plus packages etc.<br></div><div><br></div><blockquote style="border:1px solid rgb(204,204,204);padding:7px;background-color:rgb(245,245,245)"><div><div>Smalltalk help<br></div><div>SmalltalkImage(Object)>>doesNotUnderstand: #help<br></div><div><br></div><div><br></div></div></blockquote><div>Longer version<br></div><div><br></div><div>I am going to dabble with my idea of re-working help in Smalltalk.<br></div><div><br></div><div><br></div><div>Each Class will respond to the "help" class side method , so I figured start at the top with ProtoObject<br></div><div><br></div><div>I am going to try a Visitor/Decorator pattern for every class in the system<br></div><blockquote style="border:1px solid rgb(204,204,204);padding:7px;background-color:rgb(245,245,245)"><div><div>ProtoObject >>  help<br></div><div><br></div><div>|help|<br></div><div><br></div><div>help := MySoonToBeCodedVisitorClass visit: self.<br></div><div><br></div><div>^help<br></div></div></blockquote><div>Initially, just return the Class Comments, but with the MySoonToBeCodedVisitorClass later decorating the class comment and returning information from other sources too.<br></div><div><br></div><div><br></div><div>BUT!!! I do not want to pollute ProtoObject if it is agains decorum.<br></div><div><br></div><div>Thanks for your time</div></div><br></div><br>
</blockquote></div>