[Pharo-project] [Seaside] Re: [Metacello] What is the plan with
Pharo changes?
Dale Henrichs
dhenrich at vmware.com
Sat Aug 4 16:32:34 UTC 2012
----- Original Message -----
| From: "Mariano Martinez Peck" <marianopeck at gmail.com>
| To: "Seaside - general discussion" <seaside at lists.squeakfoundation.org>
| Cc: Pharo-project at lists.gforge.inria.fr, metacello at googlegroups.com
| Sent: Saturday, August 4, 2012 2:21:27 AM
| Subject: Re: [Pharo-project] [Seaside] Re: [Metacello] What is the plan with Pharo changes?
|
| Hi all. I am answering to all together:
|
|
| Stef: Yes, I imported and loaded the Pier of DBX website in Pharo 2.0
| with seaside and magritte. With 5 minutes of opening debuggers and
| change things I was able to correctly make it work (at least, my
| app, I didn't run all tests to see).
|
|
| Dale: We don't want to just help you with "hacks", that why I send
| this email and several others, to see what others think so that can
| find better and non-hacky solutions. So, let's try to find good
| solutions:
|
|
| 1) does it help if we put back FildeDirectory and we remove it later
| ? so that you have time to update Metacello and that we can still
| use Metacello :)
Deferring the removal of FileDirectory would buy me time for getting a more portable solution in place.
| 2) for the SystemChangeNotifier does it make sense to delegate to the
| closures? [ xx ] valueWithoutSystemNotifications. Or we add a
| #doSilently: and we add a MetacelloPharo20Platform that overrides
| the behavior.
The solution for SystemChangeNotifier is for me to add a message to the MetacelloPlatform class (my Grease layer) and use the currently correct method for Pharo-2.0.
| 3) as Janko said, what about improving/using Grease/Sport for this
| purpose? do they provide something for this? could this be added?
The right answer for FileTree is to re-architect the implementation. The code is currently liberally sprinkled with FileDirectoryisms as FileTree does a lot of directory traversal ...
Cami made a pass at replacing the FileDirectory calls with Filesystem calls[1] so I have a good blueprint for building an implementation neutral directory structure traversal class that can isolate the FileDirectory/Filesystem calls into a manageable location (right now there are just too many places that are different) ... So given time (and as I mentioned elsewhere I have to start preparing my ESUG talk because that's a hard deadline) I can get a handle on this.
Eventually I plan to port Filesystem to GemStone, so moving away from FileDirectory is in my future plans as well, it's just the timing that is an issue, not the direction.
I think that Sport should eventually end up with a port to Pharo-2.0, but for FileTree I don't think I want to require Sport. The FileTree implementation will benefit by the removal of the FileDiretoryisms, so that's the route I will take.
[1] https://github.com/dh83/filetree/commit/4232898d4dbdd9712f4276f69c9404e14a6f1c49
| 4) Should we integrate Metacello in the image with our changes until
| you have time and find a good solution that works everywhere? Maybe
| if we do 1) it is not very necessary.
If you decide to stick with your decision to drop FileDirectory, then a fork or Metacello will be a good choice for the near term ... you can freely make the most efficient changes to Metacello to keep it running and focus your energies on making Pharo-2.0 better ... I can take my time to port FileTree.
If you rename FileDirectory or decide to keep it for a while longer, then I will be able to start immediate work on getting the Metacello Preview running on top of Pharo-2.0 (which shouldn't take too much work)...
|
|
| Thanks for considering this a friendly and positive thread.
|
It was good that you made a point of focussing on the technical solutions to the problem. Leaving the politics for another thread, if any.
|
| On Sat, Aug 4, 2012 at 9:16 AM, Janko Mivšek <
| janko.mivsek at eranova.si > wrote:
|
|
| Hi Dale,
|
| Dne 04. 08. 2012 07 :31, piše Dale Henrichs:
|
|
| > The bigger problem is that I have to have a code base that runs on
| > multiple platforms while being maintainable, so a "port" to
| > Pharo-2.0 is only a starting point. In the case of FileTree, which
| > is the real bottleneck there's a lot code that is written against
| > the FileDirectory API, so there will need to be significant work
| > to find a way to keep a common code base .... a much tougher
| > problem, than "just getting it working", it can be solved with
| > time, but I didn't budget time for an emergency rewrite of
| > FileTree ... today.
|
| Just FYI, there is a Sport portability library and by using Sport's
| SpFilename you have an instantly portable file support over quite a
| dozen Smalltalks. So, if someone adapt Sport to a new Pharo 2.0
| filesystem first ..
|
| Best regards
| Janko
|
|
| --
| Janko Mivšek
| Aida/Web
| Smalltalk Web Application Server
| http://www.aidaweb.si
|
|
| _______________________________________________
| seaside mailing list
| seaside at lists.squeakfoundation.org
| http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
|
|
|
|
| --
| Mariano
| http://marianopeck.wordpress.com
|
|
More information about the seaside
mailing list