[Glass] Silly question: what is "GLASS"?
Dale Henrichs via Glass
glass at lists.gemtalksystems.com
Wed Feb 4 15:22:21 PST 2015
Sorry Pieter, your message ended up in my spam folder (thank you google)
and I didn't know there was a pending message until Richard and James
replied...
On 2/3/15 11:40 PM, Pieter Nagel via Glass wrote:
> There seems to be some ambiguity as to what the term GLASS refers to.
>
> On http://seaside.gemtalksystems.com/ it refers to GemStone, Linux,
> Apache, Seaside, and Smalltalk. In other words it just seems to be a
> catchy overarching name for the practice of providing web systems by
> running Seaside on GemStone (as opposed to, say, using Ruby on Rails). In
> that sense of the word, it seems to me when you've successfully loaded
> Seaside on some version of GemStone, you've got GLASS.
...and that was the genesis of the original name. Over time GLASS has
migrated from an acronym to just a name and not a very good one at that:)
>
> But then there's GLASS1, the Metacello project, published at
> github://glassdb/glass:master/repository, which is apparently something
> newer than GLASS,which is published elsewhere, even though GLASS1's
> repository is not called github://glassdb/glass1, somewhat confusingly.
GLASS1 was created because of a technicality in using Metacello. I
wanted to move the entire GLASS repository to github, but if I moved it
to github and retained the project name GLASS i would have to use the
same configuration: ConfigurationOfGLASS, but because a configuration
class has to be loaded before you can load the code from the
configuration and referencing a github repository from a configuration
requires that a new version of Metacello be loaded and because I insist
of supporting older versions of GemStone (like GemStone 2.4.4.1) with
the latest versions of GLASS, it was just easier to rename the project
ot GLASS1 and manage it with ConfigurationOfGLASS1 ...
I am in the process of re-branding GLASS/GLASS1 to GsDevKit and
eventually the BaselineOfGsDevKit will be used to load GsDevKit and I
will create a version of GsUpgrader that exunges the GLASS/GLASS1
configurations and baselines.
>
> I've always asssumed that GLASS/GLASS1 is just a collection of low-level
> dependencies needed to load Seaside on GemStone. But isn't that also what
> Grease is, in a way?
GLASS has actually turned into a compatibility layer between the base
GemStone class library and Pharo/Squeak. Grease is a compatibility layer
for Seaside, but GLASS goes farther than that. GLASS provides support
for Monticello and fairly big chunks of the Pharo/Squeak class library
above and beyond those required for Seaside.
>
> The GLASS readme says how to load it, but not what it *is*, or when you
> may want to load it.
I am a software developer, not a marketeer:)
>
> On the other hand, the Seaside 3.1 installation instructions say to use
> GsUpgrader to upgradeGrease, and no mention of using it to upgradeGLASS1.
>
> So if GLASS1 isn't needed for Seaside, what is it for?
The Seaside configurations now have a dependency upon GLASS1. So there
is no need to explicitly load GLASS1 before Seaside ... But Seaside
definitely depends upon GLASS1. All of the projects that have been
ported to GemStone should be using the latest version of GLASS1.
#upgradeGrease is needed because there were some issues with getting
Seaside to load the proper version of Grease ... at the end of the day,
the best{?} solution was to explicitly load the proper version of Grease
and then use 'lock' to ensure that the proper version continued to be used.
#upgradeGrease also loads the latest version of Metacello which is critical.
As I said earlier, I support GemStone 2.4.4.1 which dates back to
sometime in 2009, when Metacello was first invented and it is
particularly hard to use Metacello to upgrade Metacello especially when
the bug that you are trying to fix prevents Metacello from properly
loading ... so the whole GsUpgrader class is designed to allow me to
make sure that things are loaded in the proper sequence without exposing
the relatively complicated sequence to you guys ... The existence of
GsUpgrader has made it much simpler to write the load instructions:)
>
> Sorry for such a silly question by a member of a mailing list that is,
> after all, called "GLASS" ;-)
No problem ... over the years the marketing and technical material for
GLASS has migrated from my blog to google code and a website or two ...
The GsDevKit initiative is an attempt by me to pull all of the material
into one place[1], but as Richard pointed out, it is a work in progress:)
Dale
[1]
https://github.com/GsDevKit/gsDevKitHome#open-source-development-kit-for-gemstones-64-bit-
More information about the Glass
mailing list