[squeak-dev] application packaging

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

[squeak-dev] application packaging

Mark Volkmann
I have previously asked for tips on how to package non-web apps for  
distribution to users. Several people suggested that I should follow  
the examples set by Plopp and Sophie. Unfortunately I haven't been  
able to locate a description of what they do. I asked on the Sophie  
mailing list, but got no response. Is there a summary of the approach  
they use on the web somewhere?

---
Mark Volkmann





Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] application packaging

Edgar J. De Cleene

On 03/11/2008, at 09:04, Mark Volkmann wrote:

I have previously asked for tips on how to package non-web apps for distribution to users. Several people suggested that I should follow the examples set by Plopp and Sophie. Unfortunately I haven't been able to locate a description of what they do. I asked on the Sophie mailing list, but got no response. Is there a summary of the approach they use on the web somewhere?


---

Mark Volkmann


The "One Click" technique now is used by Seaside, Pier and Aida also.
All you need is the last OS X VM you could find

For OS X, you see as one thing, but for the others OS is a folder with subfolders like this of Pier

Pier.app
Into this "folder"
pier.exe
- Contents
- - Linux686
- - MacOS
- Resources
And into the Resources folder the pier.changes, pier.image, SqueakV39.sources and some other files.

So all you need is some app for open the app and put all you need into.
Or do all by hand using another OS and not Mac OS X.

Edgar



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] application packaging

Mark Volkmann
On Nov 3, 2008, at 7:56 AM, Edgar J. De Cleene wrote:

On 03/11/2008, at 09:04, Mark Volkmann wrote:

I have previously asked for tips on how to package non-web apps for distribution to users. Several people suggested that I should follow the examples set by Plopp and Sophie. Unfortunately I haven't been able to locate a description of what they do. I asked on the Sophie mailing list, but got no response. Is there a summary of the approach they use on the web somewhere?

---
Mark Volkmann

The "One Click" technique now is used by Seaside, Pier and Aida also.
All you need is the last OS X VM you could find

For OS X, you see as one thing, but for the others OS is a folder with subfolders like this of Pier

Pier.app
Into this "folder"
pier.exe
- Contents
- - Linux686
- - MacOS
- Resources
And into the Resources folder the pier.changes, pier.image, SqueakV39.sources and some other files.

So all you need is some app for open the app and put all you need into.
Or do all by hand using another OS and not Mac OS X.

My apologies, but I still don't comprehend the steps to be taken. Suppose my application is a simple as this. I have a class with a single class method as follows:

sayHello
self inform: 'Hello World!'

After the user presses the "OK" button, the application can exit.

How can I turn that into an application that a user can launch where they aren't dumped into the Squeak environment where they can do things like open browsers.

---
Mark Volkmann






Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: application packaging

fstephany
Hi Mark,

The Laser Game tutorial of Stephan Wessels explains how to do that.
See http://squeak.preeminent.org/tut2007/html/205.html and the next
pages to see how you can have the behaviour you want...

> My apologies, but I still don't comprehend the steps to be taken.
> Suppose my application is a simple as this. I have a class with a single
> class method as follows:
>
> sayHello
> self inform: 'Hello World!'
>
> After the user presses the "OK" button, the application can exit.
>
> How can I turn that into an application that a user can launch where
> they aren't dumped into the Squeak environment where they can do things
> like open browsers.
>
> ---
> Mark Volkmann


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] application packaging

Edgar J. De Cleene
In reply to this post by Mark Volkmann

On 03/11/2008, at 10:57, Mark Volkmann wrote:

My apologies, but I still don't comprehend the steps to be taken. Suppose my application is a simple as this. I have a class with a single class method as follows:

sayHello
self inform: 'Hello World!'

After the user presses the "OK" button, the application can exit.

How can I turn that into an application that a user can launch where they aren't dumped into the Squeak environment where they can do things like open browsers.

---
Mark Volkmann


Ok, this is different requeriment.
You wish a RTS (run time system) and the person who use this 'MyHelloWorld.image" should not realize is made with Squeak or if realize is made in Squeak can't open any Tools, etc.
For that exist some old of Ned Kontz in SqueakMap, but is not enough.
You need change the way of World (the current PasteUpMorph with all Flaps, Windows, etc ) deal with clicks and keyboard.

This afternoon I put TodaMafalda.1.RTS.image in ftp for all and look my computer for code I do for made it.
It's a Squeak version of Quino famous comic book for children and not so.
In less of 20 mb you have all, image, 300 plus page comic book, and I send the modifications to normal Squeak for you do this.

Keep in touch...

Edgar



Reply | Threaded
Open this post in threaded view
|

Re[2]: [squeak-dev] application packaging

Herbert König
In reply to this post by Mark Volkmann
Hello Mark,

you seem a bit pressed, so let me reply as good as I can, hoping that
when you made it I find a nicer version on your web place :-))

MV> asked on the Sophie mailing list, but got no response. Is there a
MV> summary of the approach they use on the web somewhere?

The task is threefold:

Part one: make a Squeak image which presents your application (and
nothing else) to the user.

Part two: make your Squeak VM behave like your application.

Part three: make an installer, maybe for several OS.

Part one:
- you can use the startup mechanism of Squeak to start your app (has
been discussed recently).
- you can just prepare your image with the application started.
- you need to remove the programmer facilities.
- to quit you can use SmalltalkImage current snapshot: false andQuit: true,
iirc other alternatives have been discussed.

For this part I use a batch which starts my prepared image with a
script.

One example script (an st file):
"make it Autostart"
Smalltalk addToStartUpList: AssemblerAuswertungApp.
"Flaps killen"
Flaps globalFlapTabsIfAny do:   [:aFlapTab | Flaps removeFlapTab: aFlapTab keepInList: false].
GZipReadStream fileIn: 'SqueakLockdown-nk.1.cs.gz' asFileName.
Preferences disableProgrammerFacilities. SmalltalkImage current snapshot: true andQuit: true.

IIrc the last two statements need to stay on a single line.
       


Part two:
- you need to resource-hack your Squeak.exe (windows) to display your
icon in the title bar.
- can't tell you what came out of the recent discussion about "Quit
Squeak without saving".
- at least I'm not able to make Squeak perform as expected while
resizing the window. Only experience on Windows.
- there might be other unresolved issues in standard Squeak which may
have been solved in some of the mentioned apps.


I guess you are familiar with part three:
- you need any old installer to unzip and copy your package, place an
Icon on the desktop, associate filetypes with your application and so
on.

This is not different from any other language.

Does this help?


Cheers

Herbert                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] application packaging

Edgar J. De Cleene
In reply to this post by Edgar J. De Cleene



El 11/3/08 12:18 PM, "Edgar J. De Cleene" <[hidden email]>
escribió:

>
> On 03/11/2008, at 10:57, Mark Volkmann wrote:
>
> My apologies, but I still don't comprehend the steps to be taken. Suppose my
> application is a simple as this. I have a class with a single class method as
> follows:
>
> sayHello
> self inform: 'Hello World!'
>
> After the user presses the "OK" button, the application can exit.
>
> How can I turn that into an application that a user can launch where they
> aren't dumped into the Squeak environment where they can do things like open
> browsers.
>
> ---
> Mark Volkmann
>
>
> Ok, this is different requeriment.
> You wish a RTS (run time system) and the person who use this
> 'MyHelloWorld.image" should not realize is made with Squeak or if realize is
> made in Squeak can't open any Tools, etc.
> For that exist some old of Ned Kontz in SqueakMap, but is not enough.
> You need change the way of World (the current PasteUpMorph with all Flaps,
> Windows, etc ) deal with clicks and keyboard.
>
> This afternoon I put TodaMafalda.1.RTS.image in ftp for all and look my
> computer for code I do for made it.
> It's a Squeak version of Quino famous comic book for children and not so.
> In less of 20 mb you have all, image, 300 plus page comic book, and I send the
> modifications to normal Squeak for you do this.
>
> Keep in touch...
>
> Edgar

>From original image , before I close it
The original tip is from Ned
And now all could download  at
ftp://www.squeak.org/various_images/TodaMafalda.1.RTS.image

Enjoy the Quino wisdom !

----SNAPSHOT----#(20 September 2005 10:12:25 am) TodaMafalda.1.image
priorSource: 4351630!
!Libro class methodsFor: 'no messages' stamp: 'edc 9/20/2005 11:26'!
makeRTS: t1
    | t2 t3 |
    t1 delete.
    Preferences disable: #cmdDotEnabled;
         disable: #cmdGesturesEnabled;
         disable: #cmdKeysInText;
         enable: #noviceMode;
         disable: #warnIfNoSourcesFile;
         disable: #warnIfNoChangesFile;
         enable: #eToyFriendly;
         disable: #honorDesktopCmdKeys;
         enable: #appendToErrorLog;
         enable: #noDebugButton.
    t2 _ FileDirectory localNameFor: Smalltalk imageName.
    t3 _ (t2
                copyFrom: 1
                to: (t2 findString: '.image'))
                , 'RTS.image'.

    Smalltalk
        changeImageNameTo: (FileDirectory default fullNameFor: t3);
         closeSourceFiles;
         openSourceFiles;
         snapshot: true andQuit: true! !