BookMorphs and Compatibility -- looking for advice (was Re:
[UPDATES] several more for 2.7)
Mark Guzdial
guzdial at cc.gatech.edu
Mon Dec 13 15:16:59 UTC 1999
I waited out updating with the 2.7a stream until the new environments
stuff was shaken out a bit, so I just updated to 1716 this morning --
and it went great! I created some stuff, filed in old stuff, and
found no problems at all. I was concerned from the previous email
that I was going to have to document new kinds of dialogs when doing
simple things like creating class categories, but I was very pleased
to see that the Environment mechanism seems invisible from a novice
perspective. YAY! Great job, guys -- it's nice that such a dramatic
change under the hood isn't impacting the Student Driver behind the
wheel!
The reason that I updated today is that I'm starting to produce
BookMorphs this week for my Squeak class starting in January, and I'm
trying to decide how and where to build them. I'd already tried
building in an earlier version of Squeak 2.7a and then opening in
Squeak 2.6, but that was hopeless -- I kept getting error notifiers
that classes were redefined. So I tried the reverse this morning,
hoping that BookMorphs might be more easily forward compatible.
Here's what happened (trying to treat this as a novice experience):
- I created a three page BookMorph in 2.6 with various things
(TextMorphs, SketchMorphs, JoystickMorph, BouncingAtomsMorph) on the
pages. I saved it all out to disk.
- In 2.7a (update 1716), I opened the BookMorph from the FileList.
First page came in just fine. Then I turned the page.
- I was told that AlignmentMorph had changed, and I could find or
write a conversion method. I click on Write, then an additional
error notifier popped up that "Object did not end correctly."
- I abandoned the error notifier. A method browser popped up with a
strangely-named conversion method. I decided to just leave the new
conversion method as it was, and closed the browser.
- I went back to the book and tried to turn the page again. This
time I was told that "An object is being loaded for a second time.
This should not happen." I decided to "Proceed normally." From then
on, things went just fine.
That's a lot of notifiers and windows to go through in order to turn
the page. I'm glad that it did work just fine, but I'm worried about
scaring off novices. I've dug into SmartRefStream to try to finesse
some of these dialogs in the past, but I'm afraid that I don't grok
serialization well enough to figure it all out.
So, I'm looking for advice. What's the best way to create BookMorphs
that should be readable by future Squeakers with a minimum of hassle?
- Are there particular morphs that I should use that will be the safest?
- Is there a setting I can use that says "This is a safe book -- just
do the default conversions and don't prompt the user"?
- Can I use the new Environment mechanism to somehow encapsulate a
BookMorph so that it's safe to use in future Squeaks (i.e., it loads
in the classes that it needs, despite whatever is in the current
image)?
Thanks!
Mark
--------------------------
Mark Guzdial : Georgia Tech : College of Computing : Atlanta, GA 30332-0280
(404) 894-5618 : Fax (404) 894-0673 : guzdial at cc.gatech.edu
http://www.cc.gatech.edu/gvu/people/Faculty/Mark.Guzdial.html
More information about the Squeak-dev
mailing list
|