[GemStone-Smalltalk] GemStone code management techniques

Mariano Martinez Peck via GemStone-Smalltalk gemstone-smalltalk at lists.gemtalksystems.com
Mon Dec 4 09:20:20 PST 2017

On Mon, Dec 4, 2017 at 11:47 AM, via GemStone-Smalltalk <
gemstone-smalltalk at lists.gemtalksystems.com> wrote:

> Hi,
> We're interested to know what techniques other GemStone users are using
> for their GS Smalltalk code management and deployment processes, hence a
> few very general questions to anybody inclined to answer:

Hi Martin,

At Debris Publishing, Inc. (www.DebrisPublishing.com) we have built Quuve,
a fully extensible investment management platform that deploys on Gemstone.
Authoring is done in the Pharo environment -- please see my inline answers
below for more information. Please also check out our Quuve overview video
[1] to see more. We are actively seeking a strategic partnership with a
firm like UBS — please reach out if you would like to discuss potential
partnership opportunities.

> 1)      What tools/editors do you use for writing GS Smalltalk code?

We develop on Pharo and deploy on GemStone. We can even write some GemStone
code in Pharo using the MockGemStone compatibility package.
When we really really need to develop *on* GemStone, we use tODE.

> 2)      What packaging system do you use for organising your code and
> separating out your extensions to core classes from GemTalk Systems' own
> code?

We use Monticello and Metacello. With Metacello we can define different
things to be loaded on different Smalltalks (for the things that are
For extensions we use a separate package. Actually, we have separate
packages for Pharo and from GemStone. We even had separate packages for
different Pharo/GemStone versions.
We also have a separate package for "overrides" which are usually fixes to
either GemStone/Pharo that are about to be fixed soon in future releases
but that for the moment we need it fix it.
Of course, via Metacello  we can then decide which packages are loaded in
which Smalltalk.

> 3)      Which version control system do you use, and in what kind of
> structure do you store your code (what does one file in your source code
> repository represent, if file-based)?  How do you extract a deployable set
> of changes from your version control system?

Currently we use Monticello, but we want to move soon to git. We will
continue using Metacello regardless.

4)      What mechanism do you use for uploading code to your production
> GemStone DB?
We have either bash scripts (using Topaz) as well as buttons / links to
trigger updates from within the very same running web application.
Obviously this button is properly secured, allowed only for admin users,
etc etc.
Sometimes... depending on the update (for example, upgrading to a new
GemStone release , or a heavy migration script), we must either shutdown
the stone for a while or do a much smarter approach.

If you would like more details, please let me know.


[1] https://www.youtube.com/watch?v=sraCv1VwJzQ&t=1s&index=1&list=

> Any feedback much appreciated!
> Thanks and regards,
> Martin
> Check out our new brand campaign: www.ubs.com/together
> Visit our website at http://www.ubs.com
> This message contains confidential information and is intended only
> for the individual named.  If you are not the named addressee you
> should not disseminate, distribute or copy this e-mail.  Please
> notify the sender immediately by e-mail if you have received this
> e-mail by mistake and delete this e-mail from your system.
> E-mails are not encrypted and cannot be guaranteed to be secure or
> error-free as information could be intercepted, corrupted, lost,
> destroyed, arrive late or incomplete, or contain viruses.  The sender
> therefore does not accept liability for any errors or omissions in the
> contents of this message which arise as a result of e-mail transmission.
> If verification is required please request a hard-copy version.  This
> message is provided for informational purposes and should not be
> construed as a solicitation or offer to buy or sell any securities
> or related financial instruments.
> UBS reserves the right to retain all messages. Messages are protected
> and accessed only in legally justified cases.
> _______________________________________________
> GemStone-Smalltalk mailing list
> GemStone-Smalltalk at lists.gemtalksystems.com
> http://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/private/gemstone-smalltalk/attachments/20171204/c8753f1a/attachment.html>

More information about the GemStone-Smalltalk mailing list