Magma and Magma on Pharo questions

Ramiro Diaz Trepat ramiro.diaz.trepat at jpmorgan.com
Mon Aug 10 11:06:08 UTC 2009


Miguel, 
MagmaTester in Squeaksource was outdated until a few days ago, the latest version was in SM as stated on the wiki.  
The best way to install Magma in Pharo now is downloading the latest .sar for 42gamma6 from SM and dropping it into Pharo.  Disregard all warnings referring to eToys and Morphic things and continue. 
I have uploaded 3 packages to squeaksource (MagmaTester) to migrate the BlockContext/BlocClosure issues.  Look for 3 packages that mimick the orignial package names but end with the word "pharo", something like:
Ma base additions pharo
It's just 5 methods in total that needed to be copied from BlockContext to BlockClosure.


To make it work with Seaside is a problem that I have not yet sorted out.  seasideHelper requires installing the package Seaside28Jetsam which does not leave Seaside in a nice state so far.


I have known Chris for many years now (on this list of course), and he has always been very accessible, helpful and a nice guy :)

I also second what Miguel said in terms of how to coordinate the effort and where should the energy be focused for the better future of Magma.
IMHO, chances of a project using Magma are a lot higher if it is a seaside web project.  It is certainly not impossible but I don't see a lot of chances for "desktop" Pharo nor Squeak projects using it.
Also, Seaside is being developed in Pharo and Pharo seems to be where the people developing business web apps in open source smalltalk are gathering, these are the kind of people that may require an OSS Object Database.
Hence, again IMHO, being able to easily set up and maintain a web dev stack using: pharo + seaside + magma is crucial for Magma, because otherwise people developing a web app in Seaside will just end up using other persistance method.

I also don't think that making a Magma Pharo fork is a good idea at all now.

Besides me, I have read posts from Miguel and others that would be interested in this, hence may be we can help to get it together, but Chris should be coordinating the effort.


Cheers

r





-----Original Message-----
From: magma-bounces at lists.squeakfoundation.org [mailto:magma-bounces at lists.squeakfoundation.org] On Behalf Of Miguel Enrique Cobá Martinez
Sent: 08 August 2009 21:51
To: ma.chris.m at gmail.com
Cc: magma
Subject: Re: Magma and Magma on Pharo questions

El sáb, 08-08-2009 a las 11:54 -0500, Chris Muller escribió:

> 
> Hmm.  From the Magma home page, "Getting Started With Magma", then
> "Download and Install the Code".
> 
> I just checked and it's up to date.  This page describes the location
> of the two places to get the latest version; SqueakMap and
> SqueakSource.  Which part of this documentation has you a little
> frustrated?

Yes, you are right, I am trying to build a script to install magma
server/client and seasidehelper and the squeak map and sar files made me
doubt. 
For squeak source I was searching for Magma and the project Magma has
very old and outdated versions. Later I found that the current stable
and next versions are in the MagmaTester and not only the experimental
ones as stated on the page information for MagmaTester on squeaksource.
That is the reason for asking if there were plans for an unified page
with the current Magma code AND documentation. Lets be honest, the wiki
is horrible and so 90's but I understand that that depends on your time
because this isn't a paid job for you. Anyway, thanks for the response.

> 
> > and for monticello/monticello configuration. Personally I think that the
> > universes, map and friends are very frustrating to cope with.
> 
> The only frustrating aspect for me was that the 3.9 image ships with
> Monticello Configurations broken.  Why frustrating for you?
> 
> > Shouldn't be good, with the inminent r42 release, to create a *brand
> > new* repository location and put there everything that is needed and
> > nothing else (historic versions, versions with other names, etc) and in
> > each page of magma on the wiki put a line pointing to that location. I
> > believe that most users will use the new version and the historic ones
> > shouldn't make noise here. Also, the latest version is the supported
> > one, so it is wise to stay current.
> 
> Well, you are talking about a real web-site for Magma, that is on my
> list for this year.  In the meantime, the Swiki pages are TSTTCPW.
> 
> On SqueakMap, I do delete the historic versions.  SqueakSource does
> not provide the ability to delete Monticello Configurations, so I have
> no way to delete them..
> 
> > Second question. Are there plans to support Magma on Pharo.
> 
> I don't have any concrete plans to do anything with Pharo, but I'd be
> happy if someone made a Pharo version of Magma.  I believe one of
> Hilaires projects runs Magma on Pharo.
> 
> But you don't need me to do that porting work; someone who is more
> familiar with Pharo would do it better, because it's just a matter of
> getting all the services Magma needs; Sockets, Files, Closures
> extensions, etc. ported to Pharo.
> 

As I saw on the list there are people interested on a version of Magma
running on Pharo. Even more now that the first release of Pharo is
close. But how will this be handled.
- It will be a fork (I hope not) living in a different repository. 
- Will the changes (like the code testing for each plataform to react
accordingly, e.g. extensions to BlockContext should be extensions to
BlockContext on Pharo and new Squeak) be merged in the official Magma.
- Will you bless this new code (after running the test suite on your own
hw/image/machine) or will be handled like the seasideHelper that never
went to official Magma, at least as a separate package à la
Collections-BTree-lr or WriteBarrier that are included in the official
Magma.

I know that you don't have a lot of interest on web apps but for many of
us (me at least) they are the main attraction to smalltalk these days
(the technical advantages of smalltalk alone are very obvious for me
anyway). We have to eat real food and the webbapps are a very
straighforward way to get money. When I write desktop or machine
installed applications surely I will consider Magma as the storage but
until that day (as I saw things, more unlikely each day, given the
possibilities of the web browser as a platform, e.g. V8, TraceMonkey,
etc) the integration of Magma with Seaside/Aida are very important for
me. Because Pharo is intended as a real, strong and minimal platform for
running Seaside apps, I think that Magma has a very big opportunity to
be a real foundations.

Maybe this will need other things to happen first, like the website as
you said, but in that respect, I will happily host your site and
documentations in my servers if you give Pharo a try ;). You win, the
community wins :)


> Magma will run on 3.10 this year, and will always lag slightly behind
> the leading development version of Squeak in terms of "support".
> 
> > I know that
> > Pharo has many incompatibilities with squeak, but also, it is cleaner
> > than squeak. Other thing that is happening right now in squeak is the
> > integration of closures that make magma incompatible with the next
> > version of squeak (I think :)) and pharo already has closures
> > integrated. Shouldn't be time to have a new version for this platforms?
> 
> Yes, when 3.10 gets Closures we will need to support it.
> 

As I said, maybe trying Pharo will be an interesting excercise for you
and in the best case a win for the Pharo community.

>  - Chris

Well so long mail. As always, thanks for your answers.

_______________________________________________
Magma mailing list
Magma at lists.squeakfoundation.org
http://lists.squeakfoundation.org/mailman/listinfo/magma

This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.  


More information about the Magma mailing list