[GemStone-Smalltalk] GemStone-Smalltalk Digest, Vol 106, Issue 9

Greg Spehar spehargreg at gmail.com
Tue May 23 09:16:40 PDT 2023


All,

Thanks for the input…

I had a variable in the Class Instance that I needed to remove (Tab), rookie mistake!

(
BaseObject subclass: 'MasterAccount'
  instVarNames: #( A B C)
  classVars: #(Tab)
  classInstVars: #()
  poolDictionaries: #()
  inDictionary: BMT
  options: #()
) category: ‘Core'


Regarding the Process, think I need to use GsHostProcess (please confirm), does anyone have a simple framework to share?

Thanks for the help!

Regards,
Greg Spehar, MBA, PMP, ACP, DASM
Senior Program Manager
-------------------------------------------------------------------------------------------------------
P: 503.332.3663
E:  spehargreg at gmail.com <mailto:spehargreg at gmail.com>
W: http://www.linkedin.com/in/spehargreg <http://www.linkedin.com/in/spehar>
T: @spehargreg
C: https://calendly.com/spehargreg/30-minute-meeting-connect <https://calendly.com/spehargreg/30-minute-meeting-connect>

> On May 22, 2023, at 11:44 PM, gemstone-smalltalk-request at lists.gemtalksystems.com wrote:
> 
> Send GemStone-Smalltalk mailing list submissions to
> 	gemstone-smalltalk at lists.gemtalksystems.com
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
> or, via email, send a message with subject or body 'help' to
> 	gemstone-smalltalk-request at lists.gemtalksystems.com
> 
> You can reach the person managing the list at
> 	gemstone-smalltalk-owner at lists.gemtalksystems.com
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of GemStone-Smalltalk digest..."
> 
> 
> Today's Topics:
> 
>   1. 2 Rookie Requests for GemStone/S approaches (Greg Spehar)
>   2. Re: 2 Rookie Requests for GemStone/S approaches (Richard Sargent)
>   3. Re: 2 Rookie Requests for GemStone/S approaches (James Foster)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Mon, 22 May 2023 20:53:17 -0500
> From: Greg Spehar <spehargreg at gmail.com>
> To: gemstone-smalltalk at lists.gemtalksystems.com
> Subject: [GemStone-Smalltalk] 2 Rookie Requests for GemStone/S
> 	approaches
> Message-ID: <C6CC98A9-5A6F-4E7D-B601-EDF761226A21 at gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> GemStone Smalltalk Team,
> 
> Apologies for this request, I am building out a new system that will run on top of GS/S.
> I have run into two items that I was hoping to better understand:
> 
> 1) Class Structure in GemStone/S
> 2) Use of GsProcess
> 
> #1 - Class Structure
> 
> It would seem that I am not able to create a Subclass of a Class that I created. An example would be Object -> BaseObject -> Account.
> The BaseObject will hold a number of management items (DateCreated, UUID, DateModified, etc.) that I want for all of my Operational Objects (Accounts, Networks, Transactions, etc.).
> But for the life of me the GemStone/S product will not allow me to do the third level. I am not able to SubClass from BaseObject.
> (I am sure it is something that I am not doing right, I am able to Subclass from Object no problem) Could this be because I am using the Community Edition?
> Any recommendation would be great. At the moment I am stuffing an instance of the BaseClass into my object (Account) which is not ideal...
> 
> #2 - Use of GsProcess
> 
> Does someone have a good paper on the use of GsProcess? I am looking to have it run in a separate Gem on a timer clearing a bucket of Log Entries from my system.
> I have been able to setup the Log levels and get all that working, but when I launch the GsProcess and put a timer in there, it just sits there. And of course if I do an Abort or Commit, it complains or the Process disappears.
> Additionally, I am concerned about just dropping it on the floor and creating too many of these active sessions. (I suspect it will eventually destabilize the image.)
> So anyway, it should sit there and just run every 5 min, looking at the Rc Collection and doing it?s thing dumping the contents to the log file location I created? And ending gracefully once I tell it to shut down...
> 
> I know these are rookie questions? but have hit a wall on figuring it out. (Even ChatGPT has no idea what to do?)
> 
> Regards,
> Greg Spehar, MBA, PMP, ACP, DASM
> Senior Program Manager
> -------------------------------------------------------------------------------------------------------
> P: 503.332.3663
> E:  spehargreg at gmail.com <mailto:spehargreg at gmail.com>
> W: http://www.linkedin.com/in/spehargreg <http://www.linkedin.com/in/spehar>
> T: @spehargreg
> C: https://calendly.com/spehargreg/30-minute-meeting-connect <https://calendly.com/spehargreg/30-minute-meeting-connect>
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230522/4c1189a5/attachment-0001.htm>
> 
> ------------------------------
> 
> Message: 2
> Date: Mon, 22 May 2023 20:14:28 -0700
> From: Richard Sargent <richard.sargent at gemtalksystems.com>
> To: Greg Spehar <spehargreg at gmail.com>
> Cc: GemStone Smalltalk List
> 	<gemstone-smalltalk at lists.gemtalksystems.com>
> Subject: Re: [GemStone-Smalltalk] 2 Rookie Requests for GemStone/S
> 	approaches
> Message-ID:
> 	<CAGNapENmaz9A-kK6Kcc2eZLmRZLQKRmWdvwhb-WG928=WyQC5w at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Comments inline below.
> 
> On Mon, May 22, 2023, 18:53 Greg Spehar via GemStone-Smalltalk <
> gemstone-smalltalk at lists.gemtalksystems.com> wrote:
> 
>> GemStone Smalltalk Team,
>> 
>> Apologies for this request, I am building out a new system that will run
>> on top of GS/S.
>> I have run into two items that I was hoping to better understand:
>> 
>> 1) Class Structure in GemStone/S
>> 2) Use of GsProcess
>> 
>> #1 - Class Structure
>> 
>> It would seem that I am not able to create a Subclass of a Class that I
>> created. An example would be Object -> BaseObject -> Account.
>> The BaseObject will hold a number of management items (DateCreated, UUID,
>> DateModified, etc.) that I want for all of my Operational Objects
>> (Accounts, Networks, Transactions, etc.).
>> But for the life of me the GemStone/S product will not allow me to do the
>> third level. I am not able to SubClass from BaseObject.
>> (I am sure it is something that I am not doing right, I am able to
>> Subclass from Object no problem) Could this be because I am using the
>> Community Edition?
>> Any recommendation would be great. At the moment I am stuffing an instance
>> of the BaseClass into my object (Account) which is not ideal...
>> 
> 
> GemStone uses the same kind of class creation expression common to most, if
> not all, Smalltalk implementations.
> 
> There are no limitations like that in the community edition. Show us what
> you have tried.
> 
> 
>> #2 - Use of GsProcess
>> 
>> Does someone have a good paper on the use of GsProcess? I am looking to
>> have it run in a separate Gem on a timer clearing a bucket of Log Entries
>> from my system.
>> I have been able to setup the Log levels and get all that working, but
>> when I launch the GsProcess and put a timer in there, it just sits there.
>> And of course if I do an Abort or Commit, it complains or the Process
>> disappears.
>> Additionally, I am concerned about just dropping it on the floor and
>> creating too many of these active sessions. (I suspect it will eventually
>> destabilize the image.)
>> So anyway, it should sit there and just run every 5 min, looking at the Rc
>> Collection and doing it?s thing dumping the contents to the log file
>> location I created? And ending gracefully once I tell it to shut down...
>> 
> 
> GsProcess is not a good choice. The scheduler only runs processes in the
> gem while a request from the client is running.
> 
> Your description suggests GsExternalProcess would be the correct choice.
> I'm typing on my phone, so the exact class name may be slightly different
> than that. I've used that technique extensively for parallel work
> processing.
> 
> 
>> I know these are rookie questions? but have hit a wall on figuring it out.
>> (Even ChatGPT has no idea what to do?)
>> 
>> Regards,
>> *Greg Spehar, MBA, PMP, ACP, DASM*
>> *Senior Program Manager*
>> 
>> -------------------------------------------------------------------------------------------------------
>> *P:* 503.332.3663
>> *E:  *spehargreg at gmail.com
>> *W: *http://www.linkedin.com/in/spehargreg
>> <http://www.linkedin.com/in/spehar>
>> *T:* @spehargreg
>> *C:* https://calendly.com/spehargreg/30-minute-meeting-connect
>> 
>> _______________________________________________
>> GemStone-Smalltalk mailing list
>> GemStone-Smalltalk at lists.gemtalksystems.com
>> https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
>> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230522/ab64488b/attachment-0001.htm>
> 
> ------------------------------
> 
> Message: 3
> Date: Mon, 22 May 2023 21:36:06 -0700
> From: James Foster <Smalltalk at JGFoster.net>
> To: Greg Spehar <spehargreg at gmail.com>
> Cc: gemstone-smalltalk at lists.gemtalksystems.com
> Subject: Re: [GemStone-Smalltalk] 2 Rookie Requests for GemStone/S
> 	approaches
> Message-ID: <4EBBAB89-2916-448F-AB45-5A81871680D1 at JGFoster.net>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi Greg,
> 
> As Richard suggested, you can use a subclass creation expression to create a subclass. In Jade you can select the ?Add Subclass? context menu to get a template that shows your BaseObject as the superclass. Then in place of ?MyNewSubclass? enter your ?Account' class name.
> 
> ?
> 
> ?
> 
> Background tasks (MFC, backup, reports, cleanup) are typically run as cron jobs using Topaz. Let us know if you want some guidance on how that might be done.
> 
> James
> 
>> On May 22, 2023, at 6:53 PM, Greg Spehar via GemStone-Smalltalk <gemstone-smalltalk at lists.gemtalksystems.com> wrote:
>> 
>> GemStone Smalltalk Team,
>> 
>> Apologies for this request, I am building out a new system that will run on top of GS/S.
>> I have run into two items that I was hoping to better understand:
>> 
>> 1) Class Structure in GemStone/S
>> 2) Use of GsProcess
>> 
>> #1 - Class Structure
>> 
>> It would seem that I am not able to create a Subclass of a Class that I created. An example would be Object -> BaseObject -> Account.
>> The BaseObject will hold a number of management items (DateCreated, UUID, DateModified, etc.) that I want for all of my Operational Objects (Accounts, Networks, Transactions, etc.).
>> But for the life of me the GemStone/S product will not allow me to do the third level. I am not able to SubClass from BaseObject.
>> (I am sure it is something that I am not doing right, I am able to Subclass from Object no problem) Could this be because I am using the Community Edition?
>> Any recommendation would be great. At the moment I am stuffing an instance of the BaseClass into my object (Account) which is not ideal...
>> 
>> #2 - Use of GsProcess
>> 
>> Does someone have a good paper on the use of GsProcess? I am looking to have it run in a separate Gem on a timer clearing a bucket of Log Entries from my system.
>> I have been able to setup the Log levels and get all that working, but when I launch the GsProcess and put a timer in there, it just sits there. And of course if I do an Abort or Commit, it complains or the Process disappears.
>> Additionally, I am concerned about just dropping it on the floor and creating too many of these active sessions. (I suspect it will eventually destabilize the image.)
>> So anyway, it should sit there and just run every 5 min, looking at the Rc Collection and doing it?s thing dumping the contents to the log file location I created? And ending gracefully once I tell it to shut down...
>> 
>> I know these are rookie questions? but have hit a wall on figuring it out. (Even ChatGPT has no idea what to do?)
>> 
>> Regards,
>> Greg Spehar, MBA, PMP, ACP, DASM
>> Senior Program Manager
>> -------------------------------------------------------------------------------------------------------
>> P: 503.332.3663
>> E:  spehargreg at gmail.com <mailto:spehargreg at gmail.com>
>> W: http://www.linkedin.com/in/spehargreg <http://www.linkedin.com/in/spehar>
>> T: @spehargreg
>> C: https://calendly.com/spehargreg/30-minute-meeting-connect
>> 
>> _______________________________________________
>> GemStone-Smalltalk mailing list
>> GemStone-Smalltalk at lists.gemtalksystems.com
>> https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
> 
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230522/ea161c05/attachment.htm>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: Screenshot 2023-05-22 at 9.30.25 PM.png
> Type: image/png
> Size: 62174 bytes
> Desc: not available
> URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230522/ea161c05/attachment.png>
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: Screenshot 2023-05-22 at 9.30.51 PM.png
> Type: image/png
> Size: 57376 bytes
> Desc: not available
> URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230522/ea161c05/attachment-0001.png>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> GemStone-Smalltalk mailing list
> GemStone-Smalltalk at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
> 
> 
> ------------------------------
> 
> End of GemStone-Smalltalk Digest, Vol 106, Issue 9
> **************************************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230523/2662e7ba/attachment-0001.htm>


More information about the GemStone-Smalltalk mailing list