Re: Porting Magritte over to VisualWorks..

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Lukas Renggli
> > This is a subclass of the Squeak to VisualWorks code exporter
> > (implemented by Avi) adapted to properly export all the Magritte and
> > Pier packages and to get the namespaces right. Running the exporter
> > makes it possible to load all the code into VisualWorks, but I never
> > had the time to make it actually run in there ... so that is what
> > requires the next steps ...
> >
> Lukas,
>
> Just wondering if I wanted to go down this path, where can I find this
> code exporter tool -- is
> it on the Squeak side or the Visual Works side?  I'd like to give it a
> shot even though I'm somewhat
> green behind the ears!

First of all you need PackageInfo-Exporters from SqueakMap. Then you
need the package "Magritte-VisualWorks" from
<http://mc.lukas-renggli.ch/magritte>. Evaluating "MADistribution
fileOutForVisualWorks" should produce you a couple of files that can
be loaded into VisualWorks, however I never actually tried to do it
;-)

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch


_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Rick Flower
Lukas Renggli wrote:
> First of all you need PackageInfo-Exporters from SqueakMap. Then you
> need the package "Magritte-VisualWorks" from
> <http://mc.lukas-renggli.ch/magritte>. Evaluating "MADistribution
> fileOutForVisualWorks" should produce you a couple of files that can
> be loaded into VisualWorks, however I never actually tried to do it
> ;-)
>  
Lukas,

I did as instructed above (after taking a bit of time to learn how to
use Squeak a bit).. I used
your Magritte-VisualWorks-lr.7.mcz since it was the latest version on
your above listed site.
I evaluated "MADistribution fileOutForVisualWorks" and it spit out the
following files :

-rw-rw-r--  1 rickf users   256576 Jun  1 14:29 Magritte-Model-vw5.st
-rw-rw-r--  1 rickf users   166154 Jun  1 14:29 Magritte-Seaside-vw5.st
-rw-rw-r--  1 rickf users   162601 Jun  1 14:29 Magritte-Tests-vw5.st

I didn't know what order to load them into VW7.4 so I loaded the biggest
first (Magritte-Model)
and it loaded without even a single complaint.  I then proceeded to load
the "Magritte-Seaside"
file and then the last "Tests" file -- all without any complaints.  Now
however, I'm not sure
what I can do to test this thing out.. Any ideas?  I've saved my image
so I can screw it up if
needed without harming any of my other work..

-- Rick


_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Lukas Renggli-2
> I didn't know what order to load them into VW7.4 so I loaded the  
> biggest
> first (Magritte-Model)
> and it loaded without even a single complaint.  I then proceeded to  
> load
> the "Magritte-Seaside"
> file and then the last "Tests" file -- all without any complaints.  
> Now
> however, I'm not sure
> what I can do to test this thing out.. Any ideas?  I've saved my image
> so I can screw it up if
> needed without harming any of my other work..

Hi Rick,

sounds great. The order should be:

1. Magritte-Model-vw5.st
2. Magritte-Tests-vw5.st (tests/depends on model)
3. Magritte-Seaside-vw5.st (depends on model)

The last package of course also depends on Seaside, that comes with a  
bunch of Squeak compatibility methods that might help for the other  
packages as well.

One problem I know is the missing #initialize in Object. So what you  
certainly need to do is to add to all classes in Squeak that directly  
inherit from Object.

        MyObj class>>new
                ^ super new initialize

        MyObj>>initialize

I would suggest that you directly do this in Squeak, so that further  
porting becomes easier. I don't know what other problems to expect.  
Running the tests should certainly show the most ;-)

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch



_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Rick Flower
In reply to this post by Lukas Renggli
Lukas Renggli wrote:

>sounds great. The order should be:

>1. Magritte-Model-vw5.st
>2. Magritte-Tests-vw5.st (tests/depends on model)
>3. Magritte-Seaside-vw5.st (depends on model)

>The last package of course also depends on Seaside, that comes with a  
>bunch of Squeak compatibility methods that might help for the other  
>packages as well.

Ok.. I lied (or spoke too soon)..
Apparently when I hastily did this import yesterday, I forgot
(haven't worked in the Smalltalk environment for several months now)
to have some of the other windows visible and didn't see the following
complaints (for loading just the model file) being spewed to the
console:

Filing in from:
        /home/rickf/src/dev/smalltalk/squeak/Magritte-Model-vw5.st
(Object #mementoClass - MACheckedMemento is undeclared)  
(Class #defaultContainer - MAPriorityContainer is undeclared)  
(Object class #description - MACachedBuilder is undeclared)  
(BlockContext #asCondition - MAConditionBuilder is undeclared)  
(Magritte.MACachedBuilder #register - SystemChangeNotifier is undeclared)  
(Magritte.MAColorDescription #kind - Color - duplicateBindings)  
(Magritte.MAColorDescription #kind - Color is undeclared)  
(Magritte.MADateDescription #kind - Date - duplicateBindings)  
(Magritte.MADateDescription #kind - Date is undeclared)  
(Magritte.MADistribution #publish - HTTPSocket is undeclared)  
(Magritte.MADistribution #zip - ZipArchive is undeclared)  
(Magritte.MADistribution #addPackage: - MCWorkingCopy is undeclared)  
(Magritte.MADistribution #basePackages - MCPackage is undeclared)  
(Magritte.MADistribution #addPackage:workingCopy: - MCVersion is undeclared)  
(Magritte.MADurationDescription #kind - Duration is undeclared)  
(Magritte.MADynamicObject #realSubject - UnhandledError is undeclared)  
(Magritte.MATimeDescription #kind - Time - duplicateBindings)  
(Magritte.MATimeDescription #kind - Time is undeclared)  
(Magritte.MATimeStampDescription #kind - TimeStamp is undeclared)  
(Magritte.MACompatibility class #confirm: - PopUpMenu is undeclared)  
(Magritte.MACompatibility class #referenceStream: - ReferenceStream is undeclared)  
(Magritte.MACompatibility class #referenceStream: - RWBinaryOrTextStream is undeclared)  
(Magritte.MACompatibility class #request:default: - FillInTheBlankMorph is undeclared)  
(Magritte.MACompatibility class #request:default: - ActiveHand is undeclared)  
(Magritte.MACompatibility class #request:default: - ActiveWorld is undeclared)  
(Magritte.MACompatibility class #uuid - UUID is undeclared)

I'm assuming that these are defined in the Squeak environment and were just
missed on the export from the squeak to visualworks environment.. If that's
correct, what should I look for in order to adjust the output to get them
included as well.. If that's not what I should be looking for, can you point
me in the right direction?

Also -- IF I'm able to get things all loaded up OK and add the missing initialize
methods as you indicated earlier, how do I go about running the tests?  I poked around
in some of the test code last night but wasn't sure how to go about running
these tests.. Thanks!

-- Rick





_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Lukas Renggli-2
> (Object #mementoClass - MACheckedMemento is undeclared)
> (Class #defaultContainer - MAPriorityContainer is undeclared)
> (Object class #description - MACachedBuilder is undeclared)
> (BlockContext #asCondition - MAConditionBuilder is undeclared)
> (Magritte.MACachedBuilder #register - SystemChangeNotifier is  
> undeclared)
> (Magritte.MAColorDescription #kind - Color - duplicateBindings)
> (Magritte.MAColorDescription #kind - Color is undeclared)
> (Magritte.MADateDescription #kind - Date - duplicateBindings)
> (Magritte.MADateDescription #kind - Date is undeclared)
> (Magritte.MADistribution #publish - HTTPSocket is undeclared)
> (Magritte.MADistribution #zip - ZipArchive is undeclared)
> (Magritte.MADistribution #addPackage: - MCWorkingCopy is undeclared)
> (Magritte.MADistribution #basePackages - MCPackage is undeclared)
> (Magritte.MADistribution #addPackage:workingCopy: - MCVersion is  
> undeclared)
> (Magritte.MADurationDescription #kind - Duration is undeclared)
> (Magritte.MADynamicObject #realSubject - UnhandledError is undeclared)
> (Magritte.MATimeDescription #kind - Time - duplicateBindings)
> (Magritte.MATimeDescription #kind - Time is undeclared)
> (Magritte.MATimeStampDescription #kind - TimeStamp is undeclared)

These should be all dispatched trough the class MACompatiblity, as  
these seems to be things that cannot be resolved in VisualWorks  
automatically. I guess for most of these problems this is just a  
namespace import that is missing.

> (Magritte.MACompatibility class #confirm: - PopUpMenu is undeclared)
> (Magritte.MACompatibility class #referenceStream: - ReferenceStream  
> is undeclared)
> (Magritte.MACompatibility class #referenceStream: -  
> RWBinaryOrTextStream is undeclared)
> (Magritte.MACompatibility class #request:default: -  
> FillInTheBlankMorph is undeclared)
> (Magritte.MACompatibility class #request:default: - ActiveHand is  
> undeclared)
> (Magritte.MACompatibility class #request:default: - ActiveWorld is  
> undeclared)
> (Magritte.MACompatibility class #uuid - UUID is undeclared)

These are all things that you need to fix manually tough an override  
in VisualWorks. It is related to platform dependent code that cannot  
be written in a generic way, but the comments should help you  
implement those methods easily.

> Also -- IF I'm able to get things all loaded up OK and add the  
> missing initialize
> methods as you indicated earlier, how do I go about running the tests?

I don't know. These are just standard SUnit tests that will likely  
run in the VisualWorks test runner.

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch



_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Rick Flower
Lukas Renggli wrote:

>> (Object #mementoClass - MACheckedMemento is undeclared)
>> (Class #defaultContainer - MAPriorityContainer is undeclared)
>> (Object class #description - MACachedBuilder is undeclared)
>> (BlockContext #asCondition - MAConditionBuilder is undeclared)
>> (Magritte.MACachedBuilder #register - SystemChangeNotifier is  
>> undeclared)
>> (Magritte.MAColorDescription #kind - Color - duplicateBindings)
>> (Magritte.MAColorDescription #kind - Color is undeclared)
>> (Magritte.MADateDescription #kind - Date - duplicateBindings)
>> (Magritte.MADateDescription #kind - Date is undeclared)
>> (Magritte.MADistribution #publish - HTTPSocket is undeclared)
>> (Magritte.MADistribution #zip - ZipArchive is undeclared)
>> (Magritte.MADistribution #addPackage: - MCWorkingCopy is undeclared)
>> (Magritte.MADistribution #basePackages - MCPackage is undeclared)
>> (Magritte.MADistribution #addPackage:workingCopy: - MCVersion is  
>> undeclared)
>> (Magritte.MADurationDescription #kind - Duration is undeclared)
>> (Magritte.MADynamicObject #realSubject - UnhandledError is undeclared)
>> (Magritte.MATimeDescription #kind - Time - duplicateBindings)
>> (Magritte.MATimeDescription #kind - Time is undeclared)
>> (Magritte.MATimeStampDescription #kind - TimeStamp is undeclared)
>
> These should be all dispatched trough the class MACompatiblity, as  
> these seems to be things that cannot be resolved in VisualWorks  
> automatically. I guess for most of these problems this is just a  
> namespace import that is missing.

I'm assuming I can look in the MACompatibility class to get an idea of
what needs to be done.. correct?

>> (Magritte.MACompatibility class #confirm: - PopUpMenu is undeclared)
>> (Magritte.MACompatibility class #referenceStream: - ReferenceStream  
>> is undeclared)
>> (Magritte.MACompatibility class #referenceStream: -  
>> RWBinaryOrTextStream is undeclared)
>> (Magritte.MACompatibility class #request:default: -  
>> FillInTheBlankMorph is undeclared)
>> (Magritte.MACompatibility class #request:default: - ActiveHand is  
>> undeclared)
>> (Magritte.MACompatibility class #request:default: - ActiveWorld is  
>> undeclared)
>> (Magritte.MACompatibility class #uuid - UUID is undeclared)
>
> These are all things that you need to fix manually tough an override  
> in VisualWorks. It is related to platform dependent code that cannot  
> be written in a generic way, but the comments should help you  
> implement those methods easily.

Are you indicating that I would need to write the appropriate code to do
whatever the squeak versions do?

I'm trying to decide whether or not its worth trying to get Magritte
ported over to VW or just ditch the idea altogether and roll my own
forms/reports, etc for each of my domain objects.  I was looking at Mewa
which has already been ported to VW, but as someone else indicated on
the Seaside list, it has stagnated for several years and may not be the
best choice.  To that end, if I'm using VW, Seaside & Glorp, can I
expect any gotcha's -- probably specific to Glorp + Magritte that would
pose any usability problems?

Also, how much flexibility can I get with tailoring reports or forms
with Magritte and is the output that is generated XHTML compliant like
that which Seaside spits out (or is Seaside spitting it out as directed
by Magritte)?

Thanks.. I need to look at your latest docs for Magritte and perhaps
some of this might be obvious from that.  Thanks!

-- Rick

_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Lukas Renggli-2
>>> (Object #mementoClass - MACheckedMemento is undeclared)
>>> (Class #defaultContainer - MAPriorityContainer is undeclared)
>>> (Object class #description - MACachedBuilder is undeclared)
>>> (BlockContext #asCondition - MAConditionBuilder is undeclared)
>>> (Magritte.MACachedBuilder #register - SystemChangeNotifier is
>>> undeclared)

These should work.

>>> (Magritte.MAColorDescription #kind - Color - duplicateBindings)
>>> (Magritte.MAColorDescription #kind - Color is undeclared)
>>> (Magritte.MADateDescription #kind - Date - duplicateBindings)
>>> (Magritte.MADateDescription #kind - Date is undeclared)

These should work with the right namespace imports to the Squeak  
compatibility package that Michel did for Seaside.

>>> (Magritte.MADistribution #publish - HTTPSocket is undeclared)
>>> (Magritte.MADistribution #zip - ZipArchive is undeclared)
>>> (Magritte.MADistribution #addPackage: - MCWorkingCopy is undeclared)
>>> (Magritte.MADistribution #basePackages - MCPackage is undeclared)
>>> (Magritte.MADistribution #addPackage:workingCopy: - MCVersion is
>>> undeclared)

These are not needed, they are used to build the SqueakMap packages.

>>> (Magritte.MADurationDescription #kind - Duration is undeclared)
>>> (Magritte.MADynamicObject #realSubject - UnhandledError is  
>>> undeclared)
>>> (Magritte.MATimeDescription #kind - Time - duplicateBindings)
>>> (Magritte.MATimeDescription #kind - Time is undeclared)
>>> (Magritte.MATimeStampDescription #kind - TimeStamp is undeclared)

Again that should work with the right namespace imports.

>> These are all things that you need to fix manually tough an override
>> in VisualWorks. It is related to platform dependent code that cannot
>> be written in a generic way, but the comments should help you
>> implement those methods easily.
>
> Are you indicating that I would need to write the appropriate code  
> to do
> whatever the squeak versions do?

Yes, exactly. The tests might also help here.

> I'm trying to decide whether or not its worth trying to get Magritte
> ported over to VW or just ditch the idea altogether and roll my own
> forms/reports, etc for each of my domain objects.  I was looking at  
> Mewa
> which has already been ported to VW, but as someone else indicated on
> the Seaside list, it has stagnated for several years and may not be  
> the
> best choice.  To that end, if I'm using VW, Seaside & Glorp, can I
> expect any gotcha's -- probably specific to Glorp + Magritte that  
> would
> pose any usability problems?

Mewa does not support to let end users edit the meta-model. Moreover  
because it makes heavy use of blocks, it does not work if you want to  
make your meta-model persistent. Though, if you just have a few  
static forms it might be a good choice, but to give more hints you  
need to elaborate your requirements.

> Also, how much flexibility can I get with tailoring reports or forms
> with Magritte and is the output that is generated XHTML compliant like
> that which Seaside spits out (or is Seaside spitting it out as  
> directed
> by Magritte)?

Yes, it should be XHTML compilant. You can easily plug-in your own  
renderer and components.

Cheers,
Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch



_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki
Reply | Threaded
Open this post in threaded view
|

Re: Porting Magritte over to VisualWorks..

Rick Flower
Lukas Renggli wrote:

> Mewa does not support to let end users edit the meta-model. Moreover  
> because it makes heavy use of blocks, it does not work if you want to  
> make your meta-model persistent. Though, if you just have a few  
> static forms it might be a good choice, but to give more hints you  
> need to elaborate your requirements.

I'll have to admit that I'm a bit lost in how to proceed with doing this
sort of cross-porting from one variant of ST to another as I'm a
relative ST newbie (only using ST for about 6 months).  I took a look at
this again last night and I'm not convinced I know exactly how to
proceed and as to whether or not I could dig my way out of a hole if I
needed to (8->.

To that end, I guess I'll probably stick with my hand-coding a bit
longer until I feel more comfortable w/ ST cross-porting.

Thanks again..

-- Rick

_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
_______________________________________________
Smallwiki mailing list
[hidden email]
http://impara.de/mailman/listinfo/smallwiki