James Foster describes a very clever technique for getting a report on the contents of your GemStone data base. Originally written for GemStone/S 6.x, he has recently updated the code to support the 64-bit product.

You can load the code from the ScanBackup GemSource project.

Photo by MorBCN (Creative Commons).

James Foster posted several videos covering the development of iBizLog presented by José F. Bretti M. and Esteban Lorenzano at Smalltalks 2009. James has added subtitles to overcome the poor sound quality and embedded the slides from the presentation in the video …. nice job, James:

  1. Presentation slides (pdf)
  2. iBizLog Presentation at Smalltalks 2009 (part 1) (video)
  3. iBizLog Presentation at Smalltalks 2009 (part 2) (video)
  4. iBizLog Presentation at Smalltalks 2009 (part 3) (video)
  5. iBizLog Presentation at Smalltalks 2009 (part 4) (video)

iBizLog is a Seaside application that is developed in Pharo and deployed in GLASS. Esteban spends a fair amount of time talking about their use of Pharo and GLASS, so the videos are worth viewing.

Here’s a recent review of iBizLog from AppAppeal.

[1]

Version 1.0-beta.22 of Metacello was released today with the following bugfixes:

  • fix Issue 36 “Use ConfigurationOfOB for Metacello”
  • fix Issue 49 “occassional load of older versions of projects”
  • fix Issue 52 “preload/postload for projects”

See the 1.0-beta Version Descriptions for additional release details.

Changes were also made to the downloads, API reference, and tutorial pages on the Metacello wiki.

Finally, be sure to check out the ProfStef-based tutorial with step by step instructions for creating your very own Metacello configuration (after installing Metacello):

ConfigurationOfMetacello project latestVersion load: #('Tutorial').
ProfStef goOn: MetacelloCreateConfigurationTutorial.

1.0-beta.22 has been tested on:

  • Pharo1.0-10508-rc2dev10.01.2
  • PharoCore-1.0-10508rc2
  • Squeak3.10.2-Trunk-090912 (ProfStef has not been ported to Squeak yet)

—–
[1]http://www.flickr.com/photos/re_verse/ / CC BY-NC-ND 2.0

[1]

GemTools 1.0-beta.3 features:

  • improve ”Show Object log” output format
  • add ”List backup files” command
  • add some missing icon definitions for Squeak
  • load OB/Shout if not present
  • ProfStef tutorials (Pharo only for the moment)

The major change with this version is that the installation instructions are included as part of GemTools release. The last statement in install expression opens an interactive tutorial (created with ProfStef) in the Smalltalk image to guide you through the necessary steps to finish the GemTools install. The tutorial provides guidance for several different tasks from installing GemStone/S to opening the GemTools Launcher. A How To… button has been added to the GemTools Launcher with step by step tutorials for the following topics (so far):

  • How to finish the GemTools installation
  • How to define a GemTools session to log into your GemStone server
  • How to update your GemStone server code (GLASS.230-dkh.164 through GLASS.230-dkh.231)
  • How to open GemTools Launcher
  • How to install and start a GemStone Server
  • How to build a custom extent (GLASS 1.0-beta.4 and later)
  • How to update your GLASS software after building a custom extent (GLASS 1.0-beta.4 and later)
  • How to update your GemTools client software

Here’s a sample screen from the ‘How to finish the GemTools installation’:

What this means for you is that the installation instructions will match the version of GemTools that you are installing and you won’t have to guess which blog post has the right instructions for your situation. I will be updating the tutorials to cover more subjects and I welcome the contributions of tutorials from others (just let me know and I’ll add you as a developer to GemTools repository).

Wiki and Bug Reports

In the last week or so, I created a Google Code project for GLASS called glassdb. The project provides a public wiki and a public issue reporting system. I encourage you to submit a bug if you run into issues using GemTools or GLASS.

With a public bug reporting system it is now possible for you to contribute bugfixes as well as bug reports. If you want to contribute let me know and I’ll you to the glassdb project and add you to the GLASS DEVS group on GemSource.

Update GemTools

Execute the following code in a Squeak or Pharo workspace:

ConfigurationOfGemTools loadLatestVersion

Or click on  the Update… button in the GemTools Launcher and select Update GemTools Client menu item.

Install GemTools

Execute the following code in a Pharo workspace after downloading a recent version of Pharo (tested with Pharo1.0-10508-rc2dev10.01.2 and PharoCore-1.0-10508rc2 images):

Gofer new
        squeaksource: 'MetacelloRepository';
        package: 'ConfigurationOfGemTools';
        load.
(Smalltalk at: #ConfigurationOfGemTools) perform: #loadLatestVersion.
(Smalltalk at: #ProfStef) perform: #goOn: with: (Smalltalk at: #OGFinishGemToolsInstall)

Until ProfStef  is ported to Squeak and Gofer is installed in the trunk, you’ll have to follow these instructions (tested with Squeak3.10.2-Trunk-090912).

—–

[1]http://www.flickr.com/photos/radiorover/ / CC BY-NC-ND 2.0

[1]

Version 1.0-beta.19 of Metacello was released today. In addition to a handful of bug fixes the following new features were added:

  • Issue 7 “#repositoryOverrides: should be in MetacelloMCVersion”
  • Issue 13 “more than one repository per package”
  • Issue 16 “version level predoit/postdoit”
  • Issue 28 “supplyingAnswers: attribute for packages”
  • Issue 30 “Imported version names”

See the 1.0-beta Version Descriptions for full release details. If you run into a bug, please report it!

Mariano Martínez Peck has been very busy creating Metacello configurations for Pharo, so if you want to see what he’s been up to, take a look at this message.

The Metacello Repository on SqueakSource houses almost 30 configurations – a good source of example configurations. All of the configurations in Metacello Repository should load into Pharo images, and many of them are intended to be loaded into a Squeak trunk image as well. If you find a configuration that doesn’t load into the Squeak trunk or Pharo, join and send mail to the Metacello mailing list for help in fixing the configuration or submit a metacello bug.

If you’re curious, install Metacello into your image and take the tutorial!

—–
[1]http://www.flickr.com/photos/stuant63/ / CC BY-NC 2.0

[1]

The big news with GLASS 1.0-beta.5 is the support of Swazoo2 as a web server option in GLASS for Seaside 3.0. I ported the Swazoo2 server from Squeak to GemStone and there is ConfigurationOfSwazoo2 (a Metacello configuration) in the Metacello Repository which can be used to load Swazoo2 into Squeak, Pharo, or GLASS.

As part of the effort, I created Metacello configurations for Kom (ConfigurationOfKomHttpServer) and SPort2 (ConfigurationOfSPort2) also located in the Metacello Repository. These two configurations should load into Squeak or Pharo (Kom has not been ported to GemStone).

Seaside 3.0.0-alpha5.2

  • pick up recent changes from Seaside developers (12/9/2009 11:16)
  • fix a GemStone compile error in JSStream class>>initializeEncoding [Javascript-Core]
  • merge changes from JQuery-Core-lr.90 into JQuery-Core.gemstone-dkh.91
  • move Kom, Sport and Swazoo packages to their own configurations

Seaside 3.0.0-alpha5.3

  • use http://www.squeaksource.com/MetacelloRepository as location for Kom, Sport, and Swazoo configs
  • Swazoo2 moved to #common as it has been ported to GemStone

GLASS 1.0-beta.5 features

  • pick up version 3.0.0-alpha5.3 of Seaside 3.0
  • porting Swazoo2 to GemStone for Seaside 3.0, Seaside2.8 (possibly), and Aida
  • better version of SpFilename>>delete [Core/Sport]
  • additional FileDirectory methods needed by Swazoo2 [Core/Bootstrap]
  • pick up fix for FastCGI so we persist an Exception description
  • use Metacello 1.0-beta.17

Bootstrapping Instructions

Follow the 1.0-beta.4 instructions through Step 8 (i.e., start by bootstrapping 1.0-beta.4). Load the latest version of the ConfigurationOfGLASS package from the GLASS Project repository and follow the instructions in Step 9 replacing ‘1.0-beta.4′ with ‘1.0-beta.5′.

Updating Instructions

If you have previously bootstrapped 1.0-beta4, then you can update to to 1.0-beta.5 by loading the latest version of the ConfigurationOfGLASS package from the GLASS Project repository and executing the expression in Step 9 that you used in your original bootstrap, replacing ‘1.0-beta.4′ with ‘1.0-beta.5′. The newer packages will be loaded.

Don’t forget to make a backup before and after updating!

—–
[1]http://www.flickr.com/photos/beatkueng/ / CC BY-NC 2.0


In a comment to the 1 Session per VM: Another Scaling Alternative post, Ken Treis shared the following:

This particular application started life as a LAMP app, then became a Rails app, then a Seaside+GLORP app… and now it’s in GLASS. It’s much, much faster than any of its predecessors (some pages that used to take 10+ seconds to generate come up in about 100 ms), and users have already commented on how much more responsive it is.

[1]

Since the 1.0-beta.0 bootstrapping post I’ve released a handful of minor beta versions. 1.0-beta.4 release is targeted at providing an early alpha release of Seaside 3.0 for GLASS. If you are interested in dancing on the absolute bleeding edge of Seaside 3.0.0-alpha5.1 in GLASS, let me know (join the GLASS Beta Mailing list) and I’ll provide you with installation instructions. BTW, those of you who have already expressed interest will be hearing from me tomorrow:)

Seaside 3.0.0-alpha5.1

The 1.0-beta.4 release, marks the point at which the initial phase of the Seaside 3.0 port is complete. All of the unit tests for Seaside 3.0.0-alpha5.1 are passing and most of the functional tests are passing. The remaining functional test problems are not GemStone-specific (Seaside 3.0 is still in alpha:).

At this moment, the GemStone-specific remote debugger, object log tool and profiler have not been ported to Seaside 3.0. I have written an adaptor for FastCGI and the adaptor does a commit per request, but I have not tried running Seaside 3.0 against multiple gems and there are no start* scripts.

There is a Seaside 3.0 workspace that has an expression for starting the FastCGI adaptor (blocking) and an expression for installing breakpoints in useful spots (internal error methods).

If you’re going to work with Seaside 3.0.0-alpha5.1, then you should review this section and this section. It isn’t necessary to manually kill the FastCGI listener every time you restart the server, but if you have trouble starting the server, then it’s worth looking for and killing off any spare FastCGI threads that my be lurking around.

Seaside 3.0.0-alpha5.1 is not yet usable with GemStone/S 2.3. While I have split out the packages (using Metacello) that rely on partial continuations, there are a couple of other issues that cause problems in 2.3.

The early alpha will be based upon GemStone/S 2.4.

Release Features

GLASS 1.0-beta.1 features:

  • fix a bug in ExceptionA class>>raiseSignal
  • need a commit in server update code
  • tweak PRDistribution class>>workspaceText with GLASS info

GLASS 1.0-beta.2 features:

  • pick up improved #currentVersion algorithm from Metacello 1.0-beta.13
  • fix update server logic to use #lastMetacelloVersionLoad
  • add in Seaside 3.0.0-alpha5

GLASS 1.0-beta.3 features:

  • Seaside 3.0.0-alpha5.1 (2.4 only)
  • add #clickIconAt: support [OB]
  • fix an XMLTokenizer bug [Misc/XML-Parser]
  • add #should:raise:withExceptionDo: to TestCase [Core/Bootstrap]
  • eliminate use of #_class for 3.0 compatibility [Core/GemStone-Indexing-Extensions]

GLASS 1.0-beta.4 features:

  • fix a ChangeList>>parseSelector: bug (from Hernan Wilkinson) [Monticello/Monticello]
  • fix for a problem when HyURI has a space or quote in the URL [Hyper/Hyper]
  • use version 1.0-beta.16 of Metacello
  • pick up Gofer package from Metacello repository

Bootstrapping Instructions

See the discussion on the 1.0-beta Configuration Structure, so you can decide which packages/groups you would like to load after bootstrapping 1.0-beta.4.

Please comment to this post or send mail to the GLASS Beta Mailing List if you have trouble. The bootstrap should work for the appliance or any version of GemStone/S 2.3 or greater.

  1. Start a stone using a virgin extent copied from $GEMSTONE/bin/extent0.dbf into $GEMSTONE/seaside/data. Don’t forget to shut the stone down before copying extents around and don’t forget to make the extent writable using ‘chmod +w extent0.dbf’.
  2. Download and unzip bootstrap_1.0-beta.4.zip.
  3. cd to the bootstrap_1.0-beta.4 directory
  4. Edit the .topazini file to match your stone.
  5. Launch topaz: ‘topaz -l -T50000′
  6. ‘login’ and ‘input installMaster.topaz’
  7. Exit topaz. The ‘installMaster.topaz’ script installs the Dev Group which includes the GemTools.
  8. Launch a GemTools Client 1.0-beta.2 image (see the instructions for creating a 1.0-beta.2 GemTools Client image) and login.
  9. Choose a configuration to load by executing one of the following expressions:
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Magritte Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'SOAP Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Seaside Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Seaside Testing Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Scaffolding Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Pier Dev'.
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Pier Testing Dev'.
    "use 'topaz -l -T100000' to load 'ALL', since the load
     requires more temp memory"
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'ALL'.
    "in GemStone/S 2.4 only"
    (ConfigurationOfGLASS project version: '1.0-beta.4')
        load: 'Seaside3.0 Dev'.
  10. Make a backup and have fun!

—–
[1]http://www.flickr.com/photos/bombeador/2391650475/ / CC BY-NC-SA 2.0

Categories

 

February 2010
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728