The Inbox: Help-Squeak-Project-tpr.75.mcz

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

The Inbox: Help-Squeak-Project-tpr.75.mcz

commits-2
tim Rowledge uploaded a new version of Help-Squeak-Project to project The Inbox:
http://source.squeak.org/inbox/Help-Squeak-Project-tpr.75.mcz

==================== Summary ====================

Name: Help-Squeak-Project-tpr.75
Author: tpr
Time: 23 December 2019, 4:36:19.331385 pm
UUID: ee7dca1a-ed4f-45d6-a315-b5c75b1b3332
Ancestors: Help-Squeak-Project-mt.74

Some proposed improvements to Help pages.

=============== Diff against Help-Squeak-Project-mt.74 ===============

Item was changed:
  ----- Method: SqueakHelp class>>introduction (in category 'pages') -----
  introduction
  "This method was automatically generated. Edit it using:"
  "SqueakHelp edit: #introduction"
+ ^(HelpTopic
- ^HelpTopic
  title: 'Welcome'
  contents:
  'Welcome to Squeak
 
  Visit http://www.squeak.org for the lastest information.
 
  Squeak is an open-source Smalltalk programming system available for all major platforms. It features the Morphic framework, which promotes low effort graphical, interactive application development and maintenance. Many projects have been successfully created with Squeak in a wide range of domains such as education, multimedia, gaming, research, and commerce. Squeak is fast, flexible and free.
 
  It''s Smalltalk!!!!
+ Everything is an object. Objects collaborate by sending messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.
- Everything is an object. Objects collaborate by exchanging messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.
 
  Morphic UI Framework
  All graphical objects are tangible and interactively changeable. This promotes short feedback loops and low-effort application development. Morphic thus leverages the live programming experience of traditional Smalltalk environments from a mainly text-focused domain to a graphical one.
 
  Powerful Tooling
  The dynamic Squeak environment provides a variety of tools for browsing, writing, executing, and versioning Smalltalk code. Multiple debugging sessions can be served concurrently. Thanks to Morphic, tool customization can be achieved with reasonable effort.
 
  Fast Virtual Machine
+ There are several fast Squeak VMs that also support other languages of the Smalltalk family. Meta-tracing, just-in-time compilation, stack-to-register mapping, and aggressive in-line message caching yield efficiency in executing Smalltalk code.
- There are several fast Squeak VMs that also support other languages of the Smalltalk family. Meta-tracing, just-in-time compilation, stack-to-register mapping, and aggressive in-line message caching yield efficiency in executing Smalltalk byte code.
 
  Web Development
+ With frameworks like Seaside and AIDA, Squeak can be a web server. It provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably, and maintainably.
- With frameworks like Seaside and AIDA, Squeak can be a web server. It provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably,` and maintainably.
 
  Multi-Platform Support
  Squeak supports Windows, Linux (X86, X64 and ARM), and OS X and is preinstalled on C.H.I.P., Raspberry Pi, and OLPC XO.!!
+ ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 247 15 22 7 5 4 18 3 163 22 120)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openForCodeOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,i,,Rhttp://www.seaside.st/;,,Rhttp://www.aidaweb.si/;,,Rcode://WebClient;,,i,!!' readStream nextChunkText)
+ key: #introduction;
+ shouldStyle: false;
+ yourself!
- ]style[(19 5 1 21 29 399 15 18 6 36 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 252 15 22 7 5 4 18 3 164 22 120)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openForCodeOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,i,,Rhttp://www.seaside.st/;,,Rhttp://www.aidaweb.si/;,,Rcode://WebClient;,,i,!!' readStream nextChunkText!

Item was changed:
  ----- Method: SqueakLicenseHelp class>>licenseChange (in category 'pages') -----
  licenseChange
 
  ^(HelpTopic
+ title: 'License Details and History'
- title: 'License has changed with 4.0'
  readOnlyContents:
  'On 23 September 1996, Apple Computer Inc. released Squeak V1.1 under the "Squeak License" (SqL).
 
  On May 8, 2006 Apple agreed to relicense original Squeak V1.1 under the Apple Public Source License.
 
  On October 12, 2006 Apple granted permission to relicense under Apache license 2.0.
 
  In 2006, VPRI began to collect "Distribution Agreements" for all contributors to Squeak since V1.1 up to V3.8, asking them to relicense their contributions, which were originally licensed under SqL, to the MIT license. This was a great effort on behalf of many and VPRI has 100s of signed documents agreeing to this.
 
  Do you want to contribute source to Squeak? All new contributions since 4.0 must be under the MIT license. When you make your code available, please state explicitly in some form such as the description on a web site or email announcement that your contribution is under the MIT license. (It doesn''t have to be exclusive; you can release it under difference licenses at the same time.)
 
  Have you contributed source to Squeak? If you believe you have, but have not sent in an agreement to allow your submission(s) to be licensed under the MIT license then please see http://netjam.org/squeak/contributors. There you can find a list of known contributors and a PDF of the agreement with instructions. The snail mail address is found in the agreement PDF file.
 
  Also there are a few people for which we are lacking full contact information. If you think you can help please also visit the link above and see if you can identify any of the unknown developer initials or any of the developers for whom we do not have a current email address.!!
  ]style[(603 43 344 38 141 37 433),b,,b,,Rhttp://netjam.org/squeak/contributors;,!!' readStream nextChunkText)
  key: #licenseChange!

Item was changed:
  ----- Method: SqueakLicenseHelp class>>pages (in category 'accessing') -----
  pages
+ ^#( officialLicense licenseChange)!
- ^#(licenseChange officialLicense)!

Item was changed:
  ----- Method: SqueakProjectHelp class>>squeakUserInterface (in category 'pages') -----
  squeakUserInterface
  "This method was automatically generated. Edit it using:"
  "SqueakProjectHelp edit: #squeakUserInterface"
  ^(HelpTopic
  title: 'Squeak User Interface'
  contents:
  'The Squeak User Interface
 
  The Squeak UI has some unusual elements that you may not have seen before.  Here is a brief introduction to those elements.
 
+ 1. Red/Yellow/Blue button
- 1. Projects
 
+ Squeak''s UI expects three button mice and still sticks with the ancient PARC tradition of naming them Red (left), Yellow (middle) and Blue (right). You''ll see these names in code referring to things like ''blueButtonActivity''.
+ Of course, not many mice used these days actually have the buttons colored, and quite a few have different numbers of buttons and even scroller wheels or trackpad surfaces; all of which can make it confusing to explain what button needs to be used.  Laptops tend to have trackpads with perhaps a button, or two, or perhaps require a ctl or alt or cmd key to be pressed at the same time as the trackpad.
- A project is an entire Squeak desktop full of windows.  Projects can be used to change quickly from one task to another.  An inactive project is represented by a project window, which shows a thumbnail of its state.  Project windows are actually more like doors than windows, since you can enter the project just by clicking on them.  You can create a new project by choosing ''open...project'' from the screen menu.  To exit a project (and return to its parent project), choose ''previous project'' from the screen menu.  Each project maintains its own set of windows and other information.
 
+ In general on a Mac you can hold the alt key down to get the Yellow button action, or the cmd key for the Blue Button action.
+ On a Windows laptop you can use the alt key for Yellow and the ctl key for Blue.
+ On the assorted unix systems out ther you are on your own; the choice of window manager etc can change anything.
- 2. Morphic Halos
 
+ In the Preference Browser you can ''swap mouse buttons'' to swap the Yellow and Blue buttons if you prefer; this may feel more familiar.
- In a morphic project, pressing cmd-click (Mac) or alt-click (Windows) on a graphical object (e.g. a window) will surround it with a constellation of colored circles.  These are called "halo handles."  Additional clicks will cycle through the halos for the other graphical objects in the nesting structure.  If you hold down the Shift key while cmd/alt-clicking, the nested morphs will be traversed from innermost outward.  Clicking without the cmd/alt key will dismiss the halo.  While the halo is up, letting the cursor linger over one of the halo handles for a few seconds will cause a balloon to pop up with the name of that handle.  Three useful handles are the top-left "X" handle (delete), the bottom-right yellow handle (resize), and the brown handle (slide the object within its containing object).  Halos allow complex graphical objects to be explored - or even disassembled (using the black halo handle).  Usually no harm results from taking apart an object; you can just discard the pi
 eces and create a new one.
 
+ 2. Projects
- 3. Flaps
 
+ A project is an entire Squeak desktop full of windows and is akin to the desktop spaces used in some window systems.  Projects can be used to change quickly from one task to another.  An inactive project is represented by a project window, which shows a thumbnail of its state.  Project windows are actually more like doors than windows, since you can enter the project just by clicking on them.
+ You can create a new project by choosing ''Create MVC Project'' or ''Create Morphic Project'' from the dock menu.  The MVC projects use the older MVC type windows - the original windowing system. Note that not all tools work well - or at all - in MVC projects and you should generllly use Morphic pjojects.  The default project is a Morphic project.
+ To exit a project (and return to its parent project), choose ''previous project'' from the screen menu.  Each project maintains its own set of windows and other information.
- To enable Flaps, click on the desktop to show the world menu, choose the "Flaps..." menu and "show shared tags". Tabs labeled "Squeak", "Tools", "Supplies", etc., will appear along the edges of the Squeak desktop.  Click on any tab to open the corresponding flap.  Drag a tab to resize the flap and to relocate the tab.  Bring up the halo on any tab and click on its menu handle to be presented with many options relating to the flap.  Use the "Flaps..." menu, reached via the desktop menu, to control which flaps are visible and for other flap-related options and assistance.
 
+ 3. Morphic Halos
- 4. Parts Bins
 
+ In a morphic project, pressing the Blue Button (see above!!!!) on a graphical object (e.g. a window) will surround it with a constellation of colored circles.  These are called "halo handles."  Additional clicks will cycle through the halos for the other graphical objects in the nesting structure.  If you hold down the Shift key while blue-clicking, the nested morphs will be traversed from innermost outward.  Clicking Red or Yellow will dismiss the halo.  While the halo is up, letting the cursor linger over one of the halo handles for a few seconds will cause a balloon to pop up with the name of that handle.  Three useful handles are the top-left "X" handle (delete), the bottom-right yellow handle (resize), and the brown handle (slide the object within its containing object).  Halos allow complex graphical objects to be explored - or even disassembled (using the black halo handle).  Usually no harm results from taking apart an object; you can just discard the pieces and create a ne
 w one.
+
+ 4. Flaps
+
+ The Flaps are a sort of sliding menu - a drawer - containing tools etc as one way to access them.  To enable Flaps, red-click on the desktop background to show the world menu, choose the "Flaps..." menu and "show shared tabs". Tabs labeled "Squeak", "Tools", "Supplies", etc., will appear around the edges of the Squeak desktop.  Click on any tab to open the corresponding flap.  Drag a tab to resize the flap and to relocate the tab.  Bring up the halo on any tab and click on its menu handle to be presented with many options relating to the flap.  Use the "Flaps..." menu, reached via the desktop menu, to control which flaps are visible and for other flap-related options and assistance.
+
+ 5. Parts Bins
+
  You can obtain new objects in many ways.  The "Objects Catalog" (choose "objects'' from the world menu or open the objects flap) and several of the standard flaps (e.g. "Tools" and "Supplies") serve as "Parts Bins" the for new objects.  Drag any icon you see in a Parts Bin and a fresh copy of the kind of object it represents will appear "in your hand"; click to deposit the new object anywhere you wish.  You can also add your own objects to any of the flaps - just drag your object over the tab, wait for the flap to pop open, then drop the object at the desired position in the flap.
  !!
+ ]style[(25 127 133 1 14 1 17 1 960 223 16 678 16 48 1 91 15 848 7 696 13 48 15 525)b,,i,ib,i,ib,i,ib,i,,Rcode://(ProjectViewMorph newProjectViewInAWindowFor: MorphicProject new) openInWorld;,,i,,b,,Rcode://SystemWindow topWindow addHalo;,,i,,i,,Rcode://Project current world activateObjectsTool;,!!' readStream nextChunkText)
+ key: #squeakUserInterface;
+ shouldStyle: false;
+ yourself!
- ]style[(25 127 12 161 16 413 17 150 15 860 8 580 14 48 15 525)b,,i,,Rcode://(ProjectViewMorph newProjectViewInAWindowFor: MorphicProject new) openInWorld;,,i,,Rcode://SystemWindow topWindow addHalo;,,i,,i,,Rcode://Project current world activateObjectsTool;,!!' readStream nextChunkText)
- key: #squeakUserInterface!

Item was changed:
  ----- Method: SqueakProjectHelp class>>workingWithSqueak (in category 'pages') -----
  workingWithSqueak
  "This method was automatically generated. Edit it using:"
  "SqueakProjectHelp edit: #workingWithSqueak"
  ^(HelpTopic
  title: 'Working with Squeak'
  contents:
+ 'Take few minutes and get familiar with the image concept of the Squeak/Smalltalk system. This includes starting and quitting the image, learning where all the objects live, and understanding where your source code resides.
- 'Working with Squeak
 
- Take few minutes and get familiar with the image concept of the Squeak/Smalltalk system. This includes starting and quitting the image, learning where all the objects live, and understanding where your source code resides.
-
  1. Starting and Quitting
 
+ Like most Smalltalks, the machine-executable portion is a relatively small program known as the "virtual machine" (VM).  The VM''s job is to provide services from the physical machine to the Smalltalk system; services like imemory management, input from keybords, mice,  and networks, output to screens, files and networks.  The Smalltalk system, including all data and code, is a system of objects built from the ground up, and interpreted by this virtual computer.  This affords a Smalltalk system platform portability.
- Like most Smalltalks, the machine-executable portion is a relatively small program known as the "virtual machine" (VM).  The VM''s job is to provide services from the physical machine to real Smalltalk objects.  Services like input and output.  The Smalltalk system, including all data and code, is a system of objects, built from the ground up, and interpreted by this virtual computer.  This affords Smalltalk system platform portability.
 
  Smalltalk cannot run without the VM.  The VM can''t do anything useful except process Smalltalk systems.
 
+ To start the system
+ - on most OS you can double-click on the ''.image'' file  and the OS file type handler will start the VM with that image file.
+ - on many OS, drag the ".image" data file to the VM executable application, typically named "Squeak"+ some version name such as "Squeak5.3.
+ - where a command line terminal or shell is used, there are several command-line options for starting the system. typically you can run `squeak --help` for some help.
+ By default, the system will open on the screen in a single OS hosted window, though there are options for headless usage.
- To start the system, drag the ".image" data file to the VM executable "squeak".  There are myriad command-line options for starting the system via the command-line (see squeak --help).  By default, the system will open on the screen in a single OS window.
 
+ To quit a Squeak session, choose ''quit'' from the Squeak-logo menu at the left of the menu bar (the Dock) at the top of the window. That will close the session and you will lose any work you did.
+ If you ''save'', the image file will be overwritten and resume from that place the next time it''s launched.
+ In general you should not over-write the delivered image file but instead use the ''save as'' option to create your own work copy.
- To quit a Squeak session, choose ''quit'' from the menu bar.  If you save, the image file will be overwritten and resume from that place the next time it''s launched.
 
  2. The Image File
 
  Squeak is an environment built in its own objects from the ground up, including one or more end-user applications.  All of the objects in the system -- Classes, Dictionaries, Windows, Customers and other objects that make up the Squeak environment are stored in a binary ".image" file.  This is the "object-data file" loaded by the VM when Squeak is launched.
 
  When an image is started, every object resumes exactly from where it was last saved.
 
  3. The Sources File
 
  Smalltalk is traditionally includes the source code in the running system.  However, keeping multiple copies of the same source code in all images files is wasteful.  Therefore, the source code itself is kept in a read-only .sources file and accessed by all images.  The image files merely have pointers into this file, which is read on-the-fly to present original source code.
 
  The code of the base system is stored in the file "SqueakV50.sources".  This file does not change except between releases of Squeak.  Normally this file should be placed in the folder containing the VM executable.
 
  4. The Changes File
 
+ The purpose of Squeak is to develop new programs and systems.  Code changes to the running system are effective immediately.  But since multiple images can be running, they could not all update the .sources file safely.  Therefore, each image file is accompanied by a ".changes" file which contains source code changes for that and only that Smalltalk system..
- The purpose of Squeak is to develop new programs and systems.  Code changes to the running system are effective immediately.  But since multiple images can be running, they cannot all update the .sources file safely.  Therefore, each image file is accompanied by a ".changes" file which contains source code changes for that and only that Smalltalk system..
 
  The changes file is important for project work.  It keeps a sequential log of development activity for the purpose of recovering work performed since the last image-save.  Any of several events could lead to the need to recover work, including a power-outage or making an erroneous change to code required to keep the system running.
 
  The changes file does not consume memory space, so Squeak is able to keep a complete history of all program changes.  This makes it easy to examine or even reinstate older versions of methods (see ''versions'' option in browser selector pane).  This encourages experimentation, since you can easily revert to the original versions of any set of methods.
 
  In extreme cases where sources and/or changes files are not available, the system can still run, and will automatically decompile the bytecode methods in image memory, if necessary, into readable and editable versions of the original source code (only comments and temporary variable names are lost).
 
  5. Transferring Code-Snippets Between Images
 
  In addition to the ''save'' command that saves the entire state of the system, the code of individual methods, categories or classes may be ''filed out'' and then filed-in to another image.
 
  6. Packages
 
+ The code of an entire project is encapsulated in a Package.  This allows users to share their code with other users.  Code of packages are delineated by the categories of their classes, and methods.  The Monticello browser is then used to wrap that code into a Package object which can be saved to a Monticello repository. Visit the Squeak swiki for more info - http://wiki.squeak.org/squeak/1287
- The code of an entire project is encapsulated by a Package.  This allows users to share their code with other users.  Code of packages are delineated by the categories of their classes, and methods.  The Monticello browser is then used to wrap that code into a Package object which can be saved to a Monticello repository at http://ss3.gemtalksystems.com/ss.
 
+ Some projects end up using the resources provided by several packages, resulting in a hierarchy of packages that make up a system.  The ''Installer'' class can be used to install such systems.!!' readStream nextChunkText)
+ key: #workingWithSqueak;
+ shouldStyle: false;
+ yourself!
- Some projects end up using the resources provided by several packages, resulting in a hierarchy of packages that make up a system.  Installer can be used to install such systems.!!
- ]style[(19 225 26 969 17 449 19 596 19 1351 44 189 12 539)b,,i,,i,,i,,i,,i,,i,!!' readStream nextChunkText)
- key: #workingWithSqueak!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Help-Squeak-Project-tpr.75.mcz

marcel.taeumel
Hmm... some of the text actions got lost. Let me merge those changes manually.

Best,
Marcel

Am 24.12.2019 01:36:33 schrieb [hidden email] <[hidden email]>:

tim Rowledge uploaded a new version of Help-Squeak-Project to project The Inbox:
http://source.squeak.org/inbox/Help-Squeak-Project-tpr.75.mcz

==================== Summary ====================

Name: Help-Squeak-Project-tpr.75
Author: tpr
Time: 23 December 2019, 4:36:19.331385 pm
UUID: ee7dca1a-ed4f-45d6-a315-b5c75b1b3332
Ancestors: Help-Squeak-Project-mt.74

Some proposed improvements to Help pages.

=============== Diff against Help-Squeak-Project-mt.74 ===============

Item was changed:
----- Method: SqueakHelp class>>introduction (in category 'pages') -----
introduction
"This method was automatically generated. Edit it using:"
"SqueakHelp edit: #introduction"
+ ^(HelpTopic
- ^HelpTopic
title: 'Welcome'
contents:
'Welcome to Squeak

Visit http://www.squeak.org for the lastest information.

Squeak is an open-source Smalltalk programming system available for all major platforms. It features the Morphic framework, which promotes low effort graphical, interactive application development and maintenance. Many projects have been successfully created with Squeak in a wide range of domains such as education, multimedia, gaming, research, and commerce. Squeak is fast, flexible and free.

It''s Smalltalk!!!!
+ Everything is an object. Objects collaborate by sending messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.
- Everything is an object. Objects collaborate by exchanging messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.

Morphic UI Framework
All graphical objects are tangible and interactively changeable. This promotes short feedback loops and low-effort application development. Morphic thus leverages the live programming experience of traditional Smalltalk environments from a mainly text-focused domain to a graphical one.

Powerful Tooling
The dynamic Squeak environment provides a variety of tools for browsing, writing, executing, and versioning Smalltalk code. Multiple debugging sessions can be served concurrently. Thanks to Morphic, tool customization can be achieved with reasonable effort.

Fast Virtual Machine
+ There are several fast Squeak VMs that also support other languages of the Smalltalk family. Meta-tracing, just-in-time compilation, stack-to-register mapping, and aggressive in-line message caching yield efficiency in executing Smalltalk code.
- There are several fast Squeak VMs that also support other languages of the Smalltalk family. Meta-tracing, just-in-time compilation, stack-to-register mapping, and aggressive in-line message caching yield efficiency in executing Smalltalk byte code.

Web Development
+ With frameworks like Seaside and AIDA, Squeak can be a web server. It provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably, and maintainably.
- With frameworks like Seaside and AIDA, Squeak can be a web server. It provides a layered set of abstractions over HTTP and HTML that let you build highly interactive web applications quickly, reusably,` and maintainably.

Multi-Platform Support
Squeak supports Windows, Linux (X86, X64 and ARM), and OS X and is preinstalled on C.H.I.P., Raspberry Pi, and OLPC XO.!!
+ ]style[(19 5 1 21 29 399 15 18 6 33 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 247 15 22 7 5 4 18 3 163 22 120)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openForCodeOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,i,,Rhttp://www.seaside.st/;,,Rhttp://www.aidaweb.si/;,,Rcode://WebClient;,,i,!!' readStream nextChunkText)
+ key: #introduction;
+ shouldStyle: false;
+ yourself!
- ]style[(19 5 1 21 29 399 15 18 6 36 8 87 14 80 8 2 8 2 17 161 20 27 8 254 16 64 8 11 9 6 10 152 20 252 15 22 7 5 4 18 3 164 22 120)a0b,a0,a0b,Rhttp://www.squeak.org;,a0,,i,,Rcode://Object;,,Rcode://MessageSend;,,Rcode://HelpBrowser openForCodeOn: TerseGuideHelp;,,Rcode://Compiler;,,Rcode://Debugger;,,Rcode://Browser;,,i,,Rcode://Morph new openInHand;,,i,,Rcode://ToolSet browse: String selector: #findTokens:;,,Rcode://7/0;,,Rcode://MCWorkingCopyBrowser new show;,,i,,i,,Rhttp://www.seaside.st/;,,Rhttp://www.aidaweb.si/;,,Rcode://WebClient;,,i,!!' readStream nextChunkText!

Item was changed:
----- Method: SqueakLicenseHelp class>>licenseChange (in category 'pages') -----
licenseChange

^(HelpTopic
+ title: 'License Details and History'
- title: 'License has changed with 4.0'
readOnlyContents:
'On 23 September 1996, Apple Computer Inc. released Squeak V1.1 under the "Squeak License" (SqL).

On May 8, 2006 Apple agreed to relicense original Squeak V1.1 under the Apple Public Source License.

On October 12, 2006 Apple granted permission to relicense under Apache license 2.0.

In 2006, VPRI began to collect "Distribution Agreements" for all contributors to Squeak since V1.1 up to V3.8, asking them to relicense their contributions, which were originally licensed under SqL, to the MIT license. This was a great effort on behalf of many and VPRI has 100s of signed documents agreeing to this.

Do you want to contribute source to Squeak? All new contributions since 4.0 must be under the MIT license. When you make your code available, please state explicitly in some form such as the description on a web site or email announcement that your contribution is under the MIT license. (It doesn''t have to be exclusive; you can release it under difference licenses at the same time.)

Have you contributed source to Squeak? If you believe you have, but have not sent in an agreement to allow your submission(s) to be licensed under the MIT license then please see http://netjam.org/squeak/contributors. There you can find a list of known contributors and a PDF of the agreement with instructions. The snail mail address is found in the agreement PDF file.

Also there are a few people for which we are lacking full contact information. If you think you can help please also visit the link above and see if you can identify any of the unknown developer initials or any of the developers for whom we do not have a current email address.!!
]style[(603 43 344 38 141 37 433),b,,b,,Rhttp://netjam.org/squeak/contributors;,!!' readStream nextChunkText)
key: #licenseChange!

Item was changed:
----- Method: SqueakLicenseHelp class>>pages (in category 'accessing') -----
pages
+ ^#( officialLicense licenseChange)!
- ^#(licenseChange officialLicense)!

Item was changed:
----- Method: SqueakProjectHelp class>>squeakUserInterface (in category 'pages') -----
squeakUserInterface
"This method was automatically generated. Edit it using:"
"SqueakProjectHelp edit: #squeakUserInterface"
^(HelpTopic
title: 'Squeak User Interface'
contents:
'The Squeak User Interface

The Squeak UI has some unusual elements that you may not have seen before. Here is a brief introduction to those elements.

+ 1. Red/Yellow/Blue button
- 1. Projects

+ Squeak''s UI expects three button mice and still sticks with the ancient PARC tradition of naming them Red (left), Yellow (middle) and Blue (right). You''ll see these names in code referring to things like ''blueButtonActivity''.
+ Of course, not many mice used these days actually have the buttons colored, and quite a few have different numbers of buttons and even scroller wheels or trackpad surfaces; all of which can make it confusing to explain what button needs to be used. Laptops tend to have trackpads with perhaps a button, or two, or perhaps require a ctl or alt or cmd key to be pressed at the same time as the trackpad.
- A project is an entire Squeak desktop full of windows. Projects can be used to change quickly from one task to another. An inactive project is represented by a project window, which shows a thumbnail of its state. Project windows are actually more like doors than windows, since you can enter the project just by clicking on them. You can create a new project by choosing ''open...project'' from the screen menu. To exit a project (and return to its parent project), choose ''previous project'' from the screen menu. Each project maintains its own set of windows and other information.

+ In general on a Mac you can hold the alt key down to get the Yellow button action, or the cmd key for the Blue Button action.
+ On a Windows laptop you can use the alt key for Yellow and the ctl key for Blue.
+ On the assorted unix systems out ther you are on your own; the choice of window manager etc can change anything.
- 2. Morphic Halos

+ In the Preference Browser you can ''swap mouse buttons'' to swap the Yellow and Blue buttons if you prefer; this may feel more familiar.
- In a morphic project, pressing cmd-click (Mac) or alt-click (Windows) on a graphical object (e.g. a window) will surround it with a constellation of colored circles. These are called "halo handles." Additional clicks will cycle through the halos for the other graphical objects in the nesting structure. If you hold down the Shift key while cmd/alt-clicking, the nested morphs will be traversed from innermost outward. Clicking without the cmd/alt key will dismiss the halo. While the halo is up, letting the cursor linger over one of the halo handles for a few seconds will cause a balloon to pop up with the name of that handle. Three useful handles are the top-left "X" handle (delete), the bottom-right yellow handle (resize), and the brown handle (slide the object within its containing object). Halos allow complex graphical objects to be explored - or even disassembled (using the black halo handle). Usually no harm results from taking apart an object; you can just discard the pi
eces and create a new one.

+ 2. Projects
- 3. Flaps

+ A project is an entire Squeak desktop full of windows and is akin to the desktop spaces used in some window systems. Projects can be used to change quickly from one task to another. An inactive project is represented by a project window, which shows a thumbnail of its state. Project windows are actually more like doors than windows, since you can enter the project just by clicking on them.
+ You can create a new project by choosing ''Create MVC Project'' or ''Create Morphic Project'' from the dock menu. The MVC projects use the older MVC type windows - the original windowing system. Note that not all tools work well - or at all - in MVC projects and you should generllly use Morphic pjojects. The default project is a Morphic project.
+ To exit a project (and return to its parent project), choose ''previous project'' from the screen menu. Each project maintains its own set of windows and other information.
- To enable Flaps, click on the desktop to show the world menu, choose the "Flaps..." menu and "show shared tags". Tabs labeled "Squeak", "Tools", "Supplies", etc., will appear along the edges of the Squeak desktop. Click on any tab to open the corresponding flap. Drag a tab to resize the flap and to relocate the tab. Bring up the halo on any tab and click on its menu handle to be presented with many options relating to the flap. Use the "Flaps..." menu, reached via the desktop menu, to control which flaps are visible and for other flap-related options and assistance.

+ 3. Morphic Halos
- 4. Parts Bins

+ In a morphic project, pressing the Blue Button (see above!!!!) on a graphical object (e.g. a window) will surround it with a constellation of colored circles. These are called "halo handles." Additional clicks will cycle through the halos for the other graphical objects in the nesting structure. If you hold down the Shift key while blue-clicking, the nested morphs will be traversed from innermost outward. Clicking Red or Yellow will dismiss the halo. While the halo is up, letting the cursor linger over one of the halo handles for a few seconds will cause a balloon to pop up with the name of that handle. Three useful handles are the top-left "X" handle (delete), the bottom-right yellow handle (resize), and the brown handle (slide the object within its containing object). Halos allow complex graphical objects to be explored - or even disassembled (using the black halo handle). Usually no harm results from taking apart an object; you can just discard the pieces and create a ne
w one.
+
+ 4. Flaps
+
+ The Flaps are a sort of sliding menu - a drawer - containing tools etc as one way to access them. To enable Flaps, red-click on the desktop background to show the world menu, choose the "Flaps..." menu and "show shared tabs". Tabs labeled "Squeak", "Tools", "Supplies", etc., will appear around the edges of the Squeak desktop. Click on any tab to open the corresponding flap. Drag a tab to resize the flap and to relocate the tab. Bring up the halo on any tab and click on its menu handle to be presented with many options relating to the flap. Use the "Flaps..." menu, reached via the desktop menu, to control which flaps are visible and for other flap-related options and assistance.
+
+ 5. Parts Bins
+
You can obtain new objects in many ways. The "Objects Catalog" (choose "objects'' from the world menu or open the objects flap) and several of the standard flaps (e.g. "Tools" and "Supplies") serve as "Parts Bins" the for new objects. Drag any icon you see in a Parts Bin and a fresh copy of the kind of object it represents will appear "in your hand"; click to deposit the new object anywhere you wish. You can also add your own objects to any of the flaps - just drag your object over the tab, wait for the flap to pop open, then drop the object at the desired position in the flap.
!!
+ ]style[(25 127 133 1 14 1 17 1 960 223 16 678 16 48 1 91 15 848 7 696 13 48 15 525)b,,i,ib,i,ib,i,ib,i,,Rcode://(ProjectViewMorph newProjectViewInAWindowFor: MorphicProject new) openInWorld;,,i,,b,,Rcode://SystemWindow topWindow addHalo;,,i,,i,,Rcode://Project current world activateObjectsTool;,!!' readStream nextChunkText)
+ key: #squeakUserInterface;
+ shouldStyle: false;
+ yourself!
- ]style[(25 127 12 161 16 413 17 150 15 860 8 580 14 48 15 525)b,,i,,Rcode://(ProjectViewMorph newProjectViewInAWindowFor: MorphicProject new) openInWorld;,,i,,Rcode://SystemWindow topWindow addHalo;,,i,,i,,Rcode://Project current world activateObjectsTool;,!!' readStream nextChunkText)
- key: #squeakUserInterface!

Item was changed:
----- Method: SqueakProjectHelp class>>workingWithSqueak (in category 'pages') -----
workingWithSqueak
"This method was automatically generated. Edit it using:"
"SqueakProjectHelp edit: #workingWithSqueak"
^(HelpTopic
title: 'Working with Squeak'
contents:
+ 'Take few minutes and get familiar with the image concept of the Squeak/Smalltalk system. This includes starting and quitting the image, learning where all the objects live, and understanding where your source code resides.
- 'Working with Squeak

- Take few minutes and get familiar with the image concept of the Squeak/Smalltalk system. This includes starting and quitting the image, learning where all the objects live, and understanding where your source code resides.
-
1. Starting and Quitting

+ Like most Smalltalks, the machine-executable portion is a relatively small program known as the "virtual machine" (VM). The VM''s job is to provide services from the physical machine to the Smalltalk system; services like imemory management, input from keybords, mice, and networks, output to screens, files and networks. The Smalltalk system, including all data and code, is a system of objects built from the ground up, and interpreted by this virtual computer. This affords a Smalltalk system platform portability.
- Like most Smalltalks, the machine-executable portion is a relatively small program known as the "virtual machine" (VM). The VM''s job is to provide services from the physical machine to real Smalltalk objects. Services like input and output. The Smalltalk system, including all data and code, is a system of objects, built from the ground up, and interpreted by this virtual computer. This affords Smalltalk system platform portability.

Smalltalk cannot run without the VM. The VM can''t do anything useful except process Smalltalk systems.

+ To start the system
+ - on most OS you can double-click on the ''.image'' file and the OS file type handler will start the VM with that image file.
+ - on many OS, drag the ".image" data file to the VM executable application, typically named "Squeak"+ some version name such as "Squeak5.3.
+ - where a command line terminal or shell is used, there are several command-line options for starting the system. typically you can run `squeak --help` for some help.
+ By default, the system will open on the screen in a single OS hosted window, though there are options for headless usage.
- To start the system, drag the ".image" data file to the VM executable "squeak". There are myriad command-line options for starting the system via the command-line (see squeak --help). By default, the system will open on the screen in a single OS window.

+ To quit a Squeak session, choose ''quit'' from the Squeak-logo menu at the left of the menu bar (the Dock) at the top of the window. That will close the session and you will lose any work you did.
+ If you ''save'', the image file will be overwritten and resume from that place the next time it''s launched.
+ In general you should not over-write the delivered image file but instead use the ''save as'' option to create your own work copy.
- To quit a Squeak session, choose ''quit'' from the menu bar. If you save, the image file will be overwritten and resume from that place the next time it''s launched.

2. The Image File

Squeak is an environment built in its own objects from the ground up, including one or more end-user applications. All of the objects in the system -- Classes, Dictionaries, Windows, Customers and other objects that make up the Squeak environment are stored in a binary ".image" file. This is the "object-data file" loaded by the VM when Squeak is launched.

When an image is started, every object resumes exactly from where it was last saved.

3. The Sources File

Smalltalk is traditionally includes the source code in the running system. However, keeping multiple copies of the same source code in all images files is wasteful. Therefore, the source code itself is kept in a read-only .sources file and accessed by all images. The image files merely have pointers into this file, which is read on-the-fly to present original source code.

The code of the base system is stored in the file "SqueakV50.sources". This file does not change except between releases of Squeak. Normally this file should be placed in the folder containing the VM executable.

4. The Changes File

+ The purpose of Squeak is to develop new programs and systems. Code changes to the running system are effective immediately. But since multiple images can be running, they could not all update the .sources file safely. Therefore, each image file is accompanied by a ".changes" file which contains source code changes for that and only that Smalltalk system..
- The purpose of Squeak is to develop new programs and systems. Code changes to the running system are effective immediately. But since multiple images can be running, they cannot all update the .sources file safely. Therefore, each image file is accompanied by a ".changes" file which contains source code changes for that and only that Smalltalk system..

The changes file is important for project work. It keeps a sequential log of development activity for the purpose of recovering work performed since the last image-save. Any of several events could lead to the need to recover work, including a power-outage or making an erroneous change to code required to keep the system running.

The changes file does not consume memory space, so Squeak is able to keep a complete history of all program changes. This makes it easy to examine or even reinstate older versions of methods (see ''versions'' option in browser selector pane). This encourages experimentation, since you can easily revert to the original versions of any set of methods.

In extreme cases where sources and/or changes files are not available, the system can still run, and will automatically decompile the bytecode methods in image memory, if necessary, into readable and editable versions of the original source code (only comments and temporary variable names are lost).

5. Transferring Code-Snippets Between Images

In addition to the ''save'' command that saves the entire state of the system, the code of individual methods, categories or classes may be ''filed out'' and then filed-in to another image.

6. Packages

+ The code of an entire project is encapsulated in a Package. This allows users to share their code with other users. Code of packages are delineated by the categories of their classes, and methods. The Monticello browser is then used to wrap that code into a Package object which can be saved to a Monticello repository. Visit the Squeak swiki for more info - http://wiki.squeak.org/squeak/1287
- The code of an entire project is encapsulated by a Package. This allows users to share their code with other users. Code of packages are delineated by the categories of their classes, and methods. The Monticello browser is then used to wrap that code into a Package object which can be saved to a Monticello repository at http://ss3.gemtalksystems.com/ss.

+ Some projects end up using the resources provided by several packages, resulting in a hierarchy of packages that make up a system. The ''Installer'' class can be used to install such systems.!!' readStream nextChunkText)
+ key: #workingWithSqueak;
+ shouldStyle: false;
+ yourself!
- Some projects end up using the resources provided by several packages, resulting in a hierarchy of packages that make up a system. Installer can be used to install such systems.!!
- ]style[(19 225 26 969 17 449 19 596 19 1351 44 189 12 539)b,,i,,i,,i,,i,,i,,i,!!' readStream nextChunkText)
- key: #workingWithSqueak!