GLORP seems to be the evolving gold standard for O/R Mapping frameworks across all Smalltalk dialects.
It is, however, massively under-documented. I was quite shocked to find out that even VisualWorks NC (which is the flagship Smalltalk of Cincom, Alan’s employer) in its latest version 7.7 comes completely without any documentation of GLORP. At least I haven’t found it.
So here is a list of documents that I could find so far. Most of these are quite old and only cover the basics.
- The GLORP project homepage is hopelessly outdated and unmaintained. Sorry to start with this one, but this is really a pity, because most of the times, the hoempage of an open source project is a valuable source of information. At least most of the documents I found were linked to from this page.
- The GLORP Tutorial by Roger Whitney was so far my best source (in fact it seems Instantiations also liked it so much they copied it into their Database Guide – including the typos ;-) ) of information together with
- Nevin Pratt’s Glorp User Guide
- and a lot of experimentation and intuition
- There is a somewhat active Google Group for GLORP
- A few really good articles on Ramon Leon’s blog “On Smalltalk” (search for GLORP)
My impression is that most GLORP experts have been users of TOPLink before and therefor know the concepts very well. Having worked with and on similar frameworks, I find it relatively easy to find my way with GLORP, but still sometimes there are cases in which I’d like to simply walk to my bookshelf and look something up.
I like GLORP and so far I got everything to work that I wanted to, sometimes it was a bit of a pain, but I like it very much. Maybe I should add that I am using the version that shipped with VA Smalltalk 8.0.2, which is not really close to the current version. VAST comes with Version 0.3.178 with some VAST-specific changes, and the GLORP homepage says: The current version (2006-08-10) is 0.4.43. To my knowledge, work on GLORP has continued since August 2006 ;-)
If you now have the impression that using GLORP is not a good idea, you are wrong. Cincom has moved all their version control stuff in Store over on GLORP and GLORP is the Basis for their WebVelocity product. GLORP is being maintained, but somewhat secretly. So even though it is a good framework and there’s quite some mission-critical code using it, there’s no current material on it. Depressing, isn’t it?
Are you aware of any more information or documentation on GLORP?
Let me know in the comments!