Hi everyone,
the attached ChangeSet includes changes to the Object Explorer. If anyone finds the time for reviewing it the following is in there:
- Fixes and issue with the object explorer not updating on clicking a selected entry correctly if the tree item was created through explorerContents - Moved the logic of how to extract tree items from arbitrary objects to an extension method in Object - Adds drag and drop support to the object explorer - Adds a way to specify a double click handler method in PluggableTreeSpecs
Thanks and bests Patrick
Hello Patrick
This is interesting work.
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Hi everyone,
the attached ChangeSet includes changes to the Object Explorer. If anyone finds the time for reviewing it the following is in there:
- Fixes and issue with the object explorer not updating on clicking a
selected entry correctly if the tree item was created through explorerContents
- Moved the logic of how to extract tree items from arbitrary objects to an
extension method in Object
- Adds drag and drop support to the object explorer
Could you please elaborate on what this means? What can I drop into object explorer and what can I drag out?
- Adds a way to specify a double click handler method in PluggableTreeSpecs
How will this be used? An example?
Thanks and bests Patrick
Thanks, sure I can elaborate some more.
The drag and drop support basically means that it now behaves similar to the Inspector in that you can drag out objects from there. Dropping has no effect so far.
I stumbled on the missing double click handler when implementing a browser for my maildir structure. Dragging out should put the email as a morph in the world while double click should open the tool for reading emails. (see attached gif)
________________________________________ From: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org on behalf of H. Hirzel hannes.hirzel@gmail.com Sent: Wednesday, April 26, 2017 13:51 To: The general-purpose Squeak developers list Subject: Re: [squeak-dev] Work on object explorer
Hello Patrick
This is interesting work.
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Hi everyone,
the attached ChangeSet includes changes to the Object Explorer. If anyone finds the time for reviewing it the following is in there:
- Fixes and issue with the object explorer not updating on clicking a
selected entry correctly if the tree item was created through explorerContents
- Moved the logic of how to extract tree items from arbitrary objects to an
extension method in Object
- Adds drag and drop support to the object explorer
Could you please elaborate on what this means? What can I drop into object explorer and what can I drag out?
- Adds a way to specify a double click handler method in PluggableTreeSpecs
How will this be used? An example?
Thanks and bests Patrick
Hi Patrick,
On 04/26/2017 08:11 AM, Rein, Patrick wrote:
I stumbled on the missing double click handler when implementing a browser for my maildir structure. Dragging out should put the email as a morph in the world while double click should open the tool for reading emails. (see attached gif)
I'm very interested to see you are working on email in Squeak!
I'd like to increase my "dogfooding" of Squeak, and getting to the point where I can do basic email tasks within the image seems a good first step.
I have tried Celeste recently, but it didn't immediately work and I don't have the time at present to spend on getting it working.
Are your email tools publicly available anywhere I can follow along as you develop them?
Regards, Tony
Tony Garnock-Jones wrote on Wed, 26 Apr 2017 10:42:41 -0400
I'm very interested to see you are working on email in Squeak!
I am typing this in Celeste on a Squeak 4.1 image.
I'd like to increase my "dogfooding" of Squeak, and getting to the point where I can do basic email tasks within the image seems a good first step.
In September of 2004 I made the same decision and switched from KMail. Of course, I was also moving from a KDE based Linux to one with a different GUI so I would have had to change email clients anyway.
I have tried Celeste recently, but it didn't immediately work and I don't have the time at present to spend on getting it working.
At first I used Squeak 3.8 but then had to move to 3.9 and now 4.1. Along the way I had to make some quick and dirty fixes to keep going. These were not done "the right way" since normally I would get a debugger in the middle of downloading stuff from my pop3 server and wanted to get things working again before I got a network timeout.
In this image I have the following change sets:
'Network-Mail Reader-ls.21' 'CelesteCompatibility41' 'Celeste41NoSqueakToIso' 'Celeste41CharFixes' 'Celeste41MiscFixes' 'Network-HTML-md.5' 'Porter-bpm.3' 'Scamper-kfr.12'
Since some of my emails were in Portuguese, I had to add a bunch o SqueakToIso conversions to deal with them. On recent Squeaks these changes need to be reverted.
One major problem I had was that files were limited to 2GB. So once a year or so I would have to start a new database. David Lewis helped me fix that by getting a newer VM - no image side changes were needed.
Are your email tools publicly available anywhere I can follow along as you develop them?
At some point I will be interested in this as well since it would be nice to move to a newer Squeak image. I should post those four Celeste* change sets somewhere, though they need a lot of cleaning up. In particular, halfway through I changed my style of fixes so they are very inconsistent. No if things are messed up, for example, you see the text "** bad encoding **" as the body of the message. You can still look at the raw message. And emails from some people here are nearly unreadable, but I never got around to fixing that.
-- Jecel
Hi Jecel,
in the course of working on the email classes in the image I am also fixing some issues. I would be really interested in the change sets to see which other parts could use some work.
Bests, Patrick ________________________________________ From: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org on behalf of Jecel Assumpcao Jr. jecel@merlintec.com Sent: Wednesday, April 26, 2017 18:51 To: The general-purpose Squeak developers list Subject: [squeak-dev] Email with Squeak (was Re: Work on object explorer)
Tony Garnock-Jones wrote on Wed, 26 Apr 2017 10:42:41 -0400
I'm very interested to see you are working on email in Squeak!
I am typing this in Celeste on a Squeak 4.1 image.
I'd like to increase my "dogfooding" of Squeak, and getting to the point where I can do basic email tasks within the image seems a good first step.
In September of 2004 I made the same decision and switched from KMail. Of course, I was also moving from a KDE based Linux to one with a different GUI so I would have had to change email clients anyway.
I have tried Celeste recently, but it didn't immediately work and I don't have the time at present to spend on getting it working.
At first I used Squeak 3.8 but then had to move to 3.9 and now 4.1. Along the way I had to make some quick and dirty fixes to keep going. These were not done "the right way" since normally I would get a debugger in the middle of downloading stuff from my pop3 server and wanted to get things working again before I got a network timeout.
In this image I have the following change sets:
'Network-Mail Reader-ls.21' 'CelesteCompatibility41' 'Celeste41NoSqueakToIso' 'Celeste41CharFixes' 'Celeste41MiscFixes' 'Network-HTML-md.5' 'Porter-bpm.3' 'Scamper-kfr.12'
Since some of my emails were in Portuguese, I had to add a bunch o SqueakToIso conversions to deal with them. On recent Squeaks these changes need to be reverted.
One major problem I had was that files were limited to 2GB. So once a year or so I would have to start a new database. David Lewis helped me fix that by getting a newer VM - no image side changes were needed.
Are your email tools publicly available anywhere I can follow along as you develop them?
At some point I will be interested in this as well since it would be nice to move to a newer Squeak image. I should post those four Celeste* change sets somewhere, though they need a lot of cleaning up. In particular, halfway through I changed my style of fixes so they are very inconsistent. No if things are messed up, for example, you see the text "** bad encoding **" as the body of the message. You can still look at the raw message. And emails from some people here are nearly unreadable, but I never got around to fixing that.
-- Jecel
Patrick
in the course of working on the email classes in the image I am also fixing some issues. I would be really interested in the change sets to see which other parts could use some work.
I have attached my change sets.
-- Jecel
Hi Patrick,
I was also intrigued, especially since you mentioned MailDir. I had used Celeste several years ago and had to stop when my mail database got too large. Nowadays it is even larger and now Apple Mail is getting too slow. So I will need a replacement soon. ;-)
Cheers, Bernhard
Am 26.04.2017 um 16:42 schrieb Tony Garnock-Jones tonyg@ccs.neu.edu:
Hi Patrick,
On 04/26/2017 08:11 AM, Rein, Patrick wrote:
I stumbled on the missing double click handler when implementing a browser for my maildir structure. Dragging out should put the email as a morph in the world while double click should open the tool for reading emails. (see attached gif)
I'm very interested to see you are working on email in Squeak!
I'd like to increase my "dogfooding" of Squeak, and getting to the point where I can do basic email tasks within the image seems a good first step.
I have tried Celeste recently, but it didn't immediately work and I don't have the time at present to spend on getting it working.
Are your email tools publicly available anywhere I can follow along as you develop them?
Regards, Tony
I stopped using mail in Squeak because so much mail has hyperlinks or html that it was hard to read and/or not convenient. Gmail is both convenient and accessible so I don't see myself changing back at the moment.
Cheers, Karl
On Wed, Apr 26, 2017 at 8:36 PM, Bernhard Pieber bernhard@pieber.com wrote:
Hi Patrick,
I was also intrigued, especially since you mentioned MailDir. I had used Celeste several years ago and had to stop when my mail database got too large. Nowadays it is even larger and now Apple Mail is getting too slow. So I will need a replacement soon. ;-)
Cheers, Bernhard
Am 26.04.2017 um 16:42 schrieb Tony Garnock-Jones tonyg@ccs.neu.edu:
Hi Patrick,
On 04/26/2017 08:11 AM, Rein, Patrick wrote:
I stumbled on the missing double click handler when implementing a
browser for my
maildir structure. Dragging out should put the email as a morph in the
world while
double click should open the tool for reading emails. (see attached gif)
I'm very interested to see you are working on email in Squeak!
I'd like to increase my "dogfooding" of Squeak, and getting to the point where I can do basic email tasks within the image seems a good first
step.
I have tried Celeste recently, but it didn't immediately work and I don't have the time at present to spend on getting it working.
Are your email tools publicly available anywhere I can follow along as you develop them?
Regards, Tony
Hi Tony,
the "dogfooding" is what I am heading for, too :)
So far, all approaches I found used POP and I wanted to stay with my IMAP workflow. So my current setup is the following (not ideal probably):
1.) http://www.offlineimap.org/ to synchronize my complete mailboxes to a MailDir structure. It can also synchronize changes to the MailDir structure back to the IMAP server 2.) Using CCMail (original: https://github.com/calmez/CCMail), I read in the MailDir structure and go on from there. Currently, I am evolving the tool at https://github.com/codeZeilen/CCMail
The setup has the advantage that the huge amount of data is not affecting the image directly. However, the synchronization outside of the image is cumbersome and the performance is not very good yet. All of these things are on my list and I am working on them :) I will keep you in the loop if you want to.
Alternatively, there is a student project implementing an IMAP client (https://github.com/HPI-SWA-Teaching/IMAPClient). It currently can connect to servers and list emails. It still has some rough edges, but work will continue during the next few months.
Bests, Patrick ________________________________________ From: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org on behalf of Tony Garnock-Jones tonyg@ccs.neu.edu Sent: Wednesday, April 26, 2017 16:42 To: The general-purpose Squeak developers list Subject: [squeak-dev] Email with Squeak (was Re: Work on object explorer)
Hi Patrick,
On 04/26/2017 08:11 AM, Rein, Patrick wrote:
I stumbled on the missing double click handler when implementing a browser for my maildir structure. Dragging out should put the email as a morph in the world while double click should open the tool for reading emails. (see attached gif)
I'm very interested to see you are working on email in Squeak!
I'd like to increase my "dogfooding" of Squeak, and getting to the point where I can do basic email tasks within the image seems a good first step.
I have tried Celeste recently, but it didn't immediately work and I don't have the time at present to spend on getting it working.
Are your email tools publicly available anywhere I can follow along as you develop them?
Regards, Tony
Thank you Patrick for the illustrative gif video clip.
Regarding dragging out list elements from the Inspector. I my Sq6.0a-17230 image I can not confirm that this is possible. What am I missing? It would be great to have this option.
Just trying to understand your code. You add method
Object
explorerContents
^ (self class allInstVarNames asOrderedCollection withIndexCollect: [:each :index | ObjectExplorerWrapper with: (self instVarAt: index) name: each model: self]) , ((1 to: self basicSize) collect: [:index | ObjectExplorerWrapper with: (self basicAt: index) name: index printString model: self ])
There are other implementations of explorerContents
Collection CompiledeMethod Dictionary Integer MatrixTransform2x3 OrderedDictionary SequenceableCollection Set XMLelement XMLNodeWithElements
What is the reason for adding this method?
--Hannes
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Thanks, sure I can elaborate some more.
The drag and drop support basically means that it now behaves similar to the Inspector in that you can drag out objects from there. Dropping has no effect so far.
I stumbled on the missing double click handler when implementing a browser for my maildir structure. Dragging out should put the email as a morph in the world while double click should open the tool for reading emails. (see attached gif)
From: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org on behalf of H. Hirzel hannes.hirzel@gmail.com Sent: Wednesday, April 26, 2017 13:51 To: The general-purpose Squeak developers list Subject: Re: [squeak-dev] Work on object explorer
Hello Patrick
This is interesting work.
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Hi everyone,
the attached ChangeSet includes changes to the Object Explorer. If anyone finds the time for reviewing it the following is in there:
- Fixes and issue with the object explorer not updating on clicking a
selected entry correctly if the tree item was created through explorerContents
- Moved the logic of how to extract tree items from arbitrary objects to
an extension method in Object
- Adds drag and drop support to the object explorer
Could you please elaborate on what this means? What can I drop into object explorer and what can I drag out?
- Adds a way to specify a double click handler method in
PluggableTreeSpecs
How will this be used? An example?
Thanks and bests Patrick
I filed in
Object explorerContents Object buildWith: Object getDragItem: binding ObjectExplorerWrapper contents ObjectExplorerWrapper refresh
so far. What should be the effect of this?
--Hannes
On 5/2/17, H. Hirzel hannes.hirzel@gmail.com wrote:
Thank you Patrick for the illustrative gif video clip.
Regarding dragging out list elements from the Inspector. I my Sq6.0a-17230 image I can not confirm that this is possible. What am I missing? It would be great to have this option.
Just trying to understand your code. You add method
Object
explorerContents
^ (self class allInstVarNames asOrderedCollection withIndexCollect: [:each :index | ObjectExplorerWrapper with: (self instVarAt: index) name: each model: self]) , ((1 to: self basicSize) collect: [:index | ObjectExplorerWrapper with: (self basicAt: index) name: index printString model: self ])
There are other implementations of explorerContents
Collection CompiledeMethod Dictionary Integer MatrixTransform2x3 OrderedDictionary SequenceableCollection Set XMLelement XMLNodeWithElements
What is the reason for adding this method?
--Hannes
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Thanks, sure I can elaborate some more.
The drag and drop support basically means that it now behaves similar to the Inspector in that you can drag out objects from there. Dropping has no effect so far.
I stumbled on the missing double click handler when implementing a browser for my maildir structure. Dragging out should put the email as a morph in the world while double click should open the tool for reading emails. (see attached gif)
From: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org on behalf of H. Hirzel hannes.hirzel@gmail.com Sent: Wednesday, April 26, 2017 13:51 To: The general-purpose Squeak developers list Subject: Re: [squeak-dev] Work on object explorer
Hello Patrick
This is interesting work.
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Hi everyone,
the attached ChangeSet includes changes to the Object Explorer. If anyone finds the time for reviewing it the following is in there:
- Fixes and issue with the object explorer not updating on clicking a
selected entry correctly if the tree item was created through explorerContents
- Moved the logic of how to extract tree items from arbitrary objects to
an extension method in Object
- Adds drag and drop support to the object explorer
Could you please elaborate on what this means? What can I drop into object explorer and what can I drag out?
- Adds a way to specify a double click handler method in
PluggableTreeSpecs
How will this be used? An example?
Thanks and bests Patrick
Corrected list
Object explorerContents ObjectExplorer buildWith: ObjectExplorer getDragItem: binding (new method) ObjectExplorerWrapper contents ObjectExplorerWrapper refresh
On 5/2/17, H. Hirzel hannes.hirzel@gmail.com wrote:
I filed in
Object explorerContents Object buildWith: Object getDragItem: binding ObjectExplorerWrapper contents ObjectExplorerWrapper refresh
so far. What should be the effect of this?
--Hannes
On 5/2/17, H. Hirzel hannes.hirzel@gmail.com wrote:
Thank you Patrick for the illustrative gif video clip.
Regarding dragging out list elements from the Inspector. I my Sq6.0a-17230 image I can not confirm that this is possible. What am I missing? It would be great to have this option.
Just trying to understand your code. You add method
Object
explorerContents
^ (self class allInstVarNames asOrderedCollection withIndexCollect: [:each :index | ObjectExplorerWrapper with: (self instVarAt: index) name: each model: self]) , ((1 to: self basicSize) collect: [:index | ObjectExplorerWrapper with: (self basicAt: index) name: index printString model: self ])
There are other implementations of explorerContents
Collection CompiledeMethod Dictionary Integer MatrixTransform2x3 OrderedDictionary SequenceableCollection Set XMLelement XMLNodeWithElements
What is the reason for adding this method?
--Hannes
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Thanks, sure I can elaborate some more.
The drag and drop support basically means that it now behaves similar to the Inspector in that you can drag out objects from there. Dropping has no effect so far.
I stumbled on the missing double click handler when implementing a browser for my maildir structure. Dragging out should put the email as a morph in the world while double click should open the tool for reading emails. (see attached gif)
From: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org on behalf of H. Hirzel hannes.hirzel@gmail.com Sent: Wednesday, April 26, 2017 13:51 To: The general-purpose Squeak developers list Subject: Re: [squeak-dev] Work on object explorer
Hello Patrick
This is interesting work.
On 4/26/17, Rein, Patrick Patrick.Rein@hpi.de wrote:
Hi everyone,
the attached ChangeSet includes changes to the Object Explorer. If anyone finds the time for reviewing it the following is in there:
- Fixes and issue with the object explorer not updating on clicking a
selected entry correctly if the tree item was created through explorerContents
- Moved the logic of how to extract tree items from arbitrary objects
to an extension method in Object
- Adds drag and drop support to the object explorer
Could you please elaborate on what this means? What can I drop into object explorer and what can I drag out?
- Adds a way to specify a double click handler method in
PluggableTreeSpecs
How will this be used? An example?
Thanks and bests Patrick
squeak-dev@lists.squeakfoundation.org