6.22 Magma

Magma is a fully supported, multi-user object database which:

  • provides transparent access to a large-scale shared persistent object model.
  • supports multiple users concurrently via optimistic locking.
  • utilizes a simple transaction protocol.
  • collaborative program development via live class evolution, peer-to-peer model sharing and Monticello integration.
  • support for large, indexed collections with robust querying.
  • runs with pretty good performance and provides performance tuning mechanisms.
  • learning basic usage takes just a few minutes.
  • provides high-availability and fault tolerance.
  • includes a small suite of tools.
  • is written 100% in intelligible, well-factored Smalltalk.
  • includes rigorous SUnit tests that utilize multiple images to simulate testing in a multi-user environment.
  • a generous license.
(Smalltalk at: #Gofer) new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfMagma';

Magma is released in three levels:

  • Magma Client-Used to connect to a server from a client image
  • Magma Server-Used to run a server that stores objects for clients to use
  • Magma Tester-The full magma test suite, used to validate that Magma will run smoothlessly.

Depending on your needs, you'll load one of these levels.

If you want the latest released version of Magma, evaluate (by default the Client level is loaded).

ConfigurationOfMagma project latestVersion load.

This is equivalent to evaluate

ConfigurationOfMagma project latestVersion load: 'Client'.

If you want the Server level of the latest released version, evaluate

ConfigurationOfMagma project latestVersion load: 'Server'.

Or if you want the full test suite, evaluate

ConfigurationOfMagma project latestVersion load: 'Tester'.

But you can also load a previous version of Magma, not only the latest released version. To install for example version 1.0r43, you'll evaluate one of:

(ConfigurationOfMagma project version: '1.0r43') load: 'Client'.
(ConfigurationOfMagma project version: '1.0r43') load: 'Server'.
(ConfigurationOfMagma project version: '1.0r43') load: 'Tester'.



User Contributed Notes

vann.miller (21 May 2014, 5:26 pm)

Actually, Magma is not at all supported on Pharo, it's only supported on Squeak. See comments from the author of Magma here: http://stackoverflow.com/questions/16916868/has-anyone-used-magma-in-pharo2-0 , and a call out for a Pharo maintainer of Magma here: http://forum.world.st/Magma-1-4-on-Pharo-1-4-and-beyond-td4661790.html

Add a Note

Licensed under Creative Commons BY-NC-SA | Published using Pier |