replicating XD Images

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

replicating XD Images

Postby Hal » Mon Dec 08, 2008 6:36 am

How can I save the image properties from an XD image in one ICX so I can create the same XD image in a different ICX?

I am using VAST 7.5.2
Hal
 
Posts: 18
Joined: Wed Jun 06, 2007 7:30 am

Re: replicating XD Images

Postby solveig » Wed Dec 10, 2008 10:48 am

By ICX do you mean development image?
solveig
Moderator
 
Posts: 57
Joined: Tue Oct 17, 2006 6:30 am

Re: replicating XD Images

Postby Hal » Thu Dec 11, 2008 4:12 am

Yes. I mean "development image" when I say ICX. Instead of having to create an XD image by hand every time I start with a virgin ICX, I would like to be able to execute some workspace code to define the XD image.

If I can execute some code to save an XD configuration from a VAST 6 image, and use that to define my VAST 752 image, even better. But I think I have already recreated the XD image in 752, so, at this point, I would be satisfied with having a repeatable way to define the XD image so I don't have to worry about human error when setting up a new development environment.
Hal
 
Posts: 18
Joined: Wed Jun 06, 2007 7:30 am

Re: replicating XD Images

Postby solveig » Wed Dec 17, 2008 1:05 pm

Hal,

We do not have a tool to help you move an XD image from one development environment to another. However, I have developed extensions to EmImageManager and EtImagePropertiesDialog which would allow you to write the properties of a passive image in one development environment to a text file and then to use the text file in a second development environment to set the initial properties in a new passive image.

In the first development environment:
EmImageManager writePassiveImagePropertiesFor: 'myPassiveImage' inFile: 'myPassiveImage.txt'.

In the second development environment:
Load the features installed in myPassiveImage.
EmImageManager newImageWithPropertiesFrom: 'myPassiveImage.txt'.

You will get a new image properties dialog with the properties recorded in the file myPassiveImage.txt. If there were any problems setting the properties, these problems are recorded in the transcript.

Case 38398 opened -- fixed in V8.0.0.

solveig
Attachments
EmCrossDevelopmentManafementChanges.zip
extensions to EmImageManager and EtImagePropertiesDialog
(2.66 KiB) Downloaded 65 times
solveig
Moderator
 
Posts: 57
Joined: Tue Oct 17, 2006 6:30 am

Re: replicating XD Images

Postby Hal » Wed Dec 31, 2008 10:26 am

I filed EmCrossDevelopmentManafementChanges.st into the development side of my XD image.
Executed "EmImageManager writePassiveImagePropertiesFor: 'csadjsvr' inFile: 'csadjsvr.txt'."
And got the error message 'EmPassiveImage does not understand platform'

So I hardcoded the platform
piType := 'Windows NT'
Then got the error message 'AbtAttributeSpec does not understand name'

I am using VAST 7.5.2. Is the code you posted for a different version of VA Smalltalk?

I attached stack traces for the two errors I got.
Hal
 
Posts: 18
Joined: Wed Jun 06, 2007 7:30 am

Re: replicating XD Images

Postby Hal » Wed Dec 31, 2008 10:31 am

Trying to attach the stack traces again.

OK. I realized I had to zip the attachments or the extension was always getting the attachment rejected.
Attachments
EmPassiveImage does not understand platform.zip
EmPassiveImage does not understand platform
(2.57 KiB) Downloaded 57 times
AbtAttributeSpec does not understand name.zip
AbtAttributeSpec does not understand name
(2.67 KiB) Downloaded 57 times
Hal
 
Posts: 18
Joined: Wed Jun 06, 2007 7:30 am

Re: replicating XD Images

Postby Hal » Wed Dec 31, 2008 11:30 am

I think i figured it out.
When saving an existing XD image's configuration, your code needs the #targetImages instead of the #passiveImages?

| targetImage passiveImage piType piFeatures piProperties stream |
"ORIG passiveImage :=EmImageManager passiveImages detect: [ :each | each name = aString] ifNone: [^self]. "
"Changed" targetImage :=EmImageManager targetImages detect: [ :each | each name = aString] ifNone: [^self].
"Added" passiveImage :=targetImage.
Hal
 
Posts: 18
Joined: Wed Jun 06, 2007 7:30 am

Re: replicating XD Images

Postby Hal » Wed Dec 31, 2008 11:46 am

So far, the only problem I have found is that the Installed Feature 'Server Smalltalk Framework (SST)' is not pre-selected when the saved XD config file is loaded.
I guess the problem is that the Feature includes parentheses, but parentheses are used as delimiters between features.

If that is the last problem I hit, then your solution is still better than manually defining the new XD image.

I am attaching the file that was created via
EmImageManager writePassiveImagePropertiesFor: 'csadjsvr' inFile: 'c:\temp\csadjsvr.txt'.

I used this code in a different image to create the new XD image
EmImageManager newImageWithPropertiesFrom: 'c:\temp\csadjsvr.txt'.
Hal
 
Posts: 18
Joined: Wed Jun 06, 2007 7:30 am

Re: replicating XD Images

Postby Hal » Wed Dec 31, 2008 11:50 am

Some day I hope remember to either zip the attachment beforehand or scroll up to check for an error message
Attachments
csadjsvr.zip
saved XD image configuration
(421 Bytes) Downloaded 59 times
Hal
 
Posts: 18
Joined: Wed Jun 06, 2007 7:30 am


Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: Yahoo [Bot] and 1 guest