PharoLauncher howto (was: SimplePersistence ...)

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

PharoLauncher howto (was: SimplePersistence ...)

Torsten Bergmann
Norbert wrote:
>How do you use it? I’ve just downloaded but failed to see how I can work with it.

Warning:
=======
Note that PharoLauncher is a project still in progress - I think Damien can tell you more
about all the nice stuff. I just contributed some code and use it daily now.


But lets continue with a short HOWTO (from my personal experience):
--------------------------------------------------------------------------------------------------

PharoLauncher HOWTO:
====================

Before
======
I'm typically on Windows - in the past I had several folders with images everywhere on my HD.
Sometimes with the VM, sometimes without. Lots of image searching as you can imagine.


How I installed it:
===================
So I downloaded a VM from http://files.pharo.org/vm/pharo/
and the latest ZIP with image and changes from https://ci.inria.fr/pharo-contribution/job/PharoLauncher/
I also put the source file into the same directory which I copied from the regular Pharo distro.
All lives in one directory.

I also use Linux boxes, for Ubuntu follow: http://www.pharo-project.org/pharo-download/ubuntu
to get the launcher. Note that this currently will install an old image, so you have to load
newer packages afterwards in the image or exchange the image.

Installation will surely be simplified in the future.


How I use it
============
Just launch the Pharo launcher image using the platform specific VM.

Usually for "end user experience" the launcher opens in full world mode - so you see no Pharo
background/world menu - only the launcher.

Initially on a new computer the left side with local images is empty. On the right side are
the images that are available on the web. Note that there are refresh buttons at the top
of the list.

Click "Refresh" in the right list to fetch all available images from the web.

Select the image you like and download it. For instance you can download "Pharo3.0" -> "30587"
which is the latest image as of today. Note that also the images from contribution CI are available.
So you can easily download "Artefact", "Moose", ... images if you like.

It will download the image into a specific directory somewhere in your users home directory.
Each image gets an own folder. Use the "Show in folder" menu item if you want to open this location
(may not yet work on all platforms)

After download you can either "Launch" the image from the context menu in the right list. This
will open the new image and close the launcher image. So you are ready to start working.

What I do typically do is to "Copy" the image BEFORE I do any work and name it differently
like "30587-MyStuff". Then I Launch the new copy and work with it, later throw it away or
try that loading after commits works within new fresh images, ...  

Now
===
My HD is now much cleaner - all images are in a central place and I need only one icon/starter on
the desk to open. PharoLauncher is also a very handy tool to download specific image update
versions if you want to reproduce or fix Pharo bugs.

I also associated one of the unused laptop keys with PharoLauncher - so the world of Smalltalk is just
one click away...

Things to know:
===============
At the bottom there is a button to open a settings browser with specific settings for
PharoLauncher. There is an option that enables the IDE again - so you can inspect the code
or fix a bug.

If it does not launch on your box then set a break in PhLImage>>launch to debug.

Also note that it does not fit with the "Save as" image style - since each launcher image
has to be in a new directory so far. So either use the "Copy" image, then "Launch" and
then only "Save" in the target image or copy the "Saved as" image in a new folder and
refresh the Launcher view on the right side.

When you develop for it
=======================
Either use the latest image from CI and enable the IDE as written before.

You can also download the latest also in a Pharo 3.0 image. Just use the ConfigurationOfPharoLauncher
from http://smalltalkhub.com/#!/~Pharo/PharoLauncher

Then evaluate  "PharoLauncher open".

Currently it was rewritten using Spec for the UI, also all the actions are rewritten using
Command Pattern so you can extend the buttons, menues if you like.

Hope this helps a little bit

Bye
T.

Reply | Threaded
Open this post in threaded view
|

Re: PharoLauncher howto (was: SimplePersistence ...)

NorbertHartl

Am 21.11.2013 um 17:01 schrieb Torsten Bergmann <[hidden email]>:

Hope this helps a little bit

Yeah, thanks for your effort. I saw what you were mentioning but I needed confirmation that I didn’t miss the most important feature :)

Ok, so it is just not a tool for me. I have a project folders containing not only smalltalk stuff but also documentation and other files. The project folders are grouped by companies I work for. So central storage of images is a no-go. I do it the other way round. I have one directory where I symlink all current projects folders into. And this directory I put in the MacOS bar to have quick access.

Then I open an image once and save a new version regularly using „save as“. This is a must for me because I experience a lot of image instability and the changes is broken so too easy to loose code. And it wouldn’t work the way you told me because I save images often so copying _before_ opening an image is not an option.

My workflow just needs manual setup of the projects folder which I would like to be solved somewhat more clever. But as I can see it now I need to stick to my stuff. Sad. I think PharoLauncher is nice.

Norbert
Reply | Threaded
Open this post in threaded view
|

Re: PharoLauncher howto (was: SimplePersistence ...)

Ben Coman
In reply to this post by Torsten Bergmann
Thats a great write up Torsten.  A couple of comments inline.

Torsten Bergmann wrote:
Norbert wrote:
  
How do you use it? I’ve just downloaded but failed to see how I can work with it.
    

Warning:
=======
Note that PharoLauncher is a project still in progress - I think Damien can tell you more
about all the nice stuff. I just contributed some code and use it daily now.


But lets continue with a short HOWTO (from my personal experience):
--------------------------------------------------------------------------------------------------

PharoLauncher HOWTO:
====================

Before
======
I'm typically on Windows - in the past I had several folders with images everywhere on my HD.
Sometimes with the VM, sometimes without. Lots of image searching as you can imagine.


How I installed it:
===================
So I downloaded a VM from http://files.pharo.org/vm/pharo/
and the latest ZIP with image and changes from [1] https://ci.inria.fr/pharo-contribution/job/PharoLauncher/ 
I also put the source file into the same directory which I copied from the regular Pharo distro.
All lives in one directory. 
  
There is also
[2] https://ci.inria.fr/pharo-contribution/job/PharoLauncherFinalUserImage
which is manually triggered at feature stable milestones. 

[1] is more of a work in progress.

I also use Linux boxes, for Ubuntu follow: http://www.pharo-project.org/pharo-download/ubuntu
to get the launcher. Note that this currently will install an old image, so you have to load
newer packages afterwards in the image or exchange the image.

Installation will surely be simplified in the future.
  
Its on my ToDo to work on an installer for Windows.  Damien has already done one for Mac. [3]

[3] https://ci.inria.fr/pharo-contribution/job/PharoLauncher-Mac-Package/


How I use it
============
Just launch the Pharo launcher image using the platform specific VM.

Usually for "end user experience" the launcher opens in full world mode - so you see no Pharo
background/world menu - only the launcher.

Initially on a new computer the left side with local images is empty. On the right side are 
the images that are available on the web. Note that there are refresh buttons at the top 
of the list.

Click "Refresh" in the right list to fetch all available images from the web.

Select the image you like and download it. For instance you can download "Pharo3.0" -> "30587"
which is the latest image as of today. Note that also the images from contribution CI are available.
So you can easily download "Artefact", "Moose", ... images if you like.

It will download the image into a specific directory somewhere in your users home directory.
Each image gets an own folder. Use the "Show in folder" menu item if you want to open this location
(may not yet work on all platforms)

After download you can either "Launch" the image from the context menu in the right list. This
will open the new image and close the launcher image. So you are ready to start working.

What I do typically do is to "Copy" the image BEFORE I do any work and name it differently 
like "30587-MyStuff". Then I Launch the new copy and work with it, later throw it away or
try that loading after commits works within new fresh images, ...  
  

To generate a fresh image, an alternative is to look in "Templates > Local."  This holds all the downloaded Template images in virgin form. 

Now
===
My HD is now much cleaner - all images are in a central place and I need only one icon/starter on 
the desk to open. PharoLauncher is also a very handy tool to download specific image update 
versions if you want to reproduce or fix Pharo bugs.

I also associated one of the unused laptop keys with PharoLauncher - so the world of Smalltalk is just
one click away...
  
Thats cool.    Is that specific to your laptop?
My alternative was doing "Pin to Start Menu" from the context menu on Pharo.exe in the Launcher directory.

Things to know:
===============
At the bottom there is a button to open a settings browser with specific settings for
PharoLauncher. There is an option that enables the IDE again - so you can inspect the code
or fix a bug.

If it does not launch on your box then set a break in PhLImage>>launch to debug.

Also note that it does not fit with the "Save as" image style - since each launcher image
has to be in a new directory so far. So either use the "Copy" image, then "Launch" and
then only "Save" in the target image or copy the "Saved as" image in a new folder and
refresh the Launcher view on the right side.
  

Using "Templates > Local" might solve this.  I find no problems working with saved images. 
Hmmm... you got me thinking... An interesting feature would be right-clicking on an item in the "Image" pane and having a context menu item "Re-create original as new"

When you develop for it
=======================
Either use the latest image from CI and enable the IDE as written before.

You can also download the latest also in a Pharo 3.0 image. Just use the ConfigurationOfPharoLauncher
from http://smalltalkhub.com/#!/~Pharo/PharoLauncher

Then evaluate  "PharoLauncher open".
  
It should also be available in the World Menu.
cheers -ben
Currently it was rewritten using Spec for the UI, also all the actions are rewritten using
Command Pattern so you can extend the buttons, menues if you like.
  
Hope this helps a little bit

Bye
T.


  

Reply | Threaded
Open this post in threaded view
|

Re: PharoLauncher howto (was: SimplePersistence ...)

Sean P. DeNigris
Administrator
In reply to this post by Torsten Bergmann
Torsten Bergmann wrote
Usually for "end user experience" the launcher opens in full world mode - so you see no Pharo
background/world menu - only the launcher.
I liked the "full world" effect once I got used to it, but Pharo's idea of "fullscreen" is jarring in the Mac world. Also, since there's no longer an item in the World Menu, one has to dig into the core to find out how to un-fullscreen oneself. IMHO, I would not open in fullscreen by default.
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

[launcher] Re: PharoLauncher howto (was: SimplePersistence ...)

Ben Coman
In reply to this post by NorbertHartl
Norbert Hartl wrote:
Am 21.11.2013 um 17:01 schrieb Torsten Bergmann [hidden email]:

  
Hope this helps a little bit
    

Yeah, thanks for your effort. I saw what you were mentioning but I needed confirmation that I didn’t miss the most important feature :)

Ok, so it is just not a tool for me. I have a project folders containing not only smalltalk stuff but also documentation and other files. The project folders are grouped by companies I work for. So central storage of images is a no-go. I do it the other way round. I have one directory where I symlink all current projects folders into. And this directory I put in the MacOS bar to have quick access.

Then I open an image once and save a new version regularly using „save as“. This is a must for me because I experience a lot of image instability and the changes is broken so too easy to loose code. And it wouldn’t work the way you told me because I save images often so copying _before_ opening an image is not an option.

My workflow just needs manual setup of the projects folder which I would like to be solved somewhat more clever. But as I can see it now I need to stick to my stuff. Sad. I think PharoLauncher is nice.

Norbert
  
Sounds like you need PharoLauncher to have features like:
* open the newest image in a project folder and maybe also clean out the project folder by moving older images into an archive folder.
* tree structured Images pane, with roots each having a different directory
* tracking branches in the sequence of image saves. Do you backtrack much to a previous image? 

Another feature that I contemplate is synchronizing between PharoLauncher on different machines. For example, for when you want to push a new release to your client.  You would right-click on an image, choose 'Send to client' which would upload to some web location (perhaps just dropbox).  PharoLauncher at the client would set up to refresh/poll that location, and automate download and launching the image.  This might also work in reverse...  if a problem occurs in the application, they might SaveAs the image including the error and use PharoLauncher to upload the image to somewhere you poll then download it.  

btw, How often to you create new company folders and project folders? 

cheers -ben

Reply | Threaded
Open this post in threaded view
|

[launcher] Re: PharoLauncher howto (was: SimplePersistence ...)

Ben Coman
In reply to this post by Sean P. DeNigris
Sean P. DeNigris wrote:
Torsten Bergmann wrote
  
Usually for "end user experience" the launcher opens in full world mode -
so you see no Pharo
background/world menu - only the launcher.
    

I liked the "full world" effect once I got used to it, but Pharo's idea of
"fullscreen" is jarring in the Mac world. Also, since there's no longer an
item in the World Menu, one has to dig into the core to find out how to
un-fullscreen oneself. IMHO, I would not open in fullscreen by default.



  

By 'dig into the core' do you mean you need more than what the 'Enable development environment' setting does to revert fullscreen.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: [launcher] Re: PharoLauncher howto (was: SimplePersistence ...)

Sean P. DeNigris
Administrator
btc wrote
By 'dig into the core' do you mean you need more than what the 'Enable
development environment' setting does to revert fullscreen.
Oh, I saw that but didn't know what it did. Very strange... now PharoLauncher no longer opens in #fullscreen, even if I download a fresh image from the ci server...
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: [launcher] Re: PharoLauncher howto

Ben Coman
Sean P. DeNigris wrote:
btc wrote
  
By 'dig into the core' do you mean you need more than what the 'Enable
development environment' setting does to revert fullscreen. 
    

Oh, I saw that but didn't know what it did. Very strange... now
PharoLauncher no longer opens in #fullscreen, even if I download a fresh
image from the ci server...



-----
Cheers,
Sean
--
View this message in context: http://forum.world.st/PharoLauncher-howto-was-SimplePersistence-tp4724028p4724170.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.


  

Do you mean that de-selecting 'Enable development environment' does not revert to full screen mode?
You trace through from a breakpoint in PhLDeployment class>>doAll.  (note, this might be on the instance side, having only recently moved to class side)

Also just double-checking you know...

https://ci.inria.fr/pharo-contribution/job/PharoLauncher
is delivered in development mode.

https://ci.inria.fr/pharo-contribution/job/PharoLauncherFinalUserImage
is delivered in full screen mode.

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: PharoLauncher howto (was: SimplePersistence ...)

Damien Cassou
In reply to this post by Torsten Bergmann
On Thu, Nov 21, 2013 at 5:01 PM, Torsten Bergmann <[hidden email]> wrote:
> Hope this helps a little bit


This helps a lot, thank you very much. I copy/pasted and edited your
how to a little to get a nice documentation on
http://www.smalltalkhub.com/#!/~Pharo/PharoLauncher. I hope you are ok
with that.

Thanks again

--
Damien Cassou
http://damiencassou.seasidehosting.st

"Success is the ability to go from one failure to another without
losing enthusiasm."
Winston Churchill