Last updated at 4:55 pm UTC on 16 March 2010
Magma tries to be stable within its supported functionality. But Squeak is open and limitless, so it is beneficial to describe the tested boundaries of Magma that should be crossed only after rereading the disclaimer.
See supported classes for a list of classes you can use and which ones to avoid.
Things that probably won't work
The following things should not be expected to work:
- Use of Weak references. (the main problem here is: navigating portions of a large model with weak references would not behave the same as when the entire model of objects is in memory. What if an object, say A, in our model is strongly referenced and weakly-referenced from two different places, and the strongly-referenced portion of our model is not in our local memory. But we then bring in the weak reference to it. Since our local system garbage collects it and, thinking it changed, updates the weak object. This is incorrect behavior!)
- become: of a persistent object may cause problems
There are several ways to reduce the risk of moving to a new technology.
- start small - for any software that hasn't earned your trust must earn it, start small. Don't start with important data that can't be recovered if something tragic happens.
- perform extensive testing - MagmaTestCase covers basic functions and several combinations of unique scenarios. You may want to write test cases for your program that involve using Magma to verify Magma behaves the way you expect it to.
- replicate persistence - Use another database you trust in conjunction with Magma or log objects out to a flat file until you feel comfortable.