Etoys in 2018
Last updated at 4:08 pm UTC on 24 June 2018
This page is intended to list activities and have links to Etoys related activities and plans in 2018. This is the successor page to Etoys in 2017.
This is work in progress. Please edit and contribute ...
There is also wiki page EtoysProject which deals with the current development.
Status of Etoys as of June 2018
These notes are based on a report by Tim Felgentreff sent to the Squeak list on Wed, Jun 6, 2018 at 11:09 AM
Further update needs of Etoys code in the trunk
- Make sure we get the deprecated sends out of the Etoys code
- Renaming and/or moving some of the classes is surely necessary.
- Etoys should also, I guess, be split into multiple packages so that not all games and extras are mashed together with the core functionality.
Note about the merge done in 2016
During the merge we took extreme care not to replace classes or methods outright and we manually went through hundreds of methods to manually categorize and merge them in a way that would keep unloading working as much as it did before.
Note about preparing an Etoys image.
TODO : add some background information about the process. Which version of Squeak does it refer to?
Paste more notes here to be edited
What has been accomplished so far?
In Squeak 5.2a it is possible to do Etoys projects from scratch and also load and run some Etoys projects done in the earlier Squeakland version.
TODO: Link to examples.
(Etoys) ProjectLoading tests in 5.2
Class EtoysProject and configuration
The release 5.1 brought a better structure for Project objects. This allows to go for a specially configured EtoysProject subclass of MorphicProject.
An EtoysProject is a project that is configured for running Etoys. On first entry to a new EtoysProject, the playground and project preferences
are initialized to provide an environment similar to that of a traditional standalone Etoys image.
Certain preferences that are required for Etoys are initialized on project entry, overriding their global preference values while this EtoysProject is active. On leaving the project, these preferences are restored to their previous values.
"ProjectViewMorph openOn: EtoysProject new"
More see this mailing list thread
Description of test cases:
- successful - The car tutorials (works); e.g. drop car.pr into Squeak 5.2 (loads more or less successfully or could be made to fully load)
- unsucessful ... drop ..project files from ealier versions (not everything works)
This is work in progress mostly scheduled for 5.3
Etoys on different platforms
Etoys runs on all platforms where Squeak runs.
Etoys on SoaS
Etoys is used on Sugar (SoaS) on a stick (actually the earlier Squeak land version). The current issue is to maintain installation instructions to keep Etoys running platforms such as SoaS.
The way forward for the Squeak release 5.2 ...
Etoys is one of the reasons we do not go for 6.0 but keep it 5.2.
But for 5.2 important Etoys work has been accomplished and it is left with a few things to do to get a better Etoys experience in 5.2
- Write a Help file entry about the status of Etoys in 5.2 referring to some wiki pages, maybe an updated version of this one.
- The Etoys merger added some nice games, which can be played via the Objects catalog (see draft of upcoming Squeak 5.2 Release Notes).
- Scan deprecated messages and make sure they do not get sent in the Trunk. Meaning allDeprecated packages. The Etoys merger introduced some again.
- Unloading of packages or classes that have not been there in 5.1 is not a good way to move forward. We have to understand the concepts and mechanics first and then propose some useful refactorings of the code. Etoys is a great chance to discover valuable extension points in our tools and code base. Yet, this takes more time than we seem to have available for the 5.2 release. But write down some of the issues as 'known' and suggestions how to move on. However some people using 5.2 might not want to have Etoys loaded and thus need unloading instructions. The procedure for unloading. Update that page and explain what works and what does not work.
The way forward later (e.g 5.3) ...
- Modularization for Etoys - split the large Etoys package into parts.
- Try to understand and improve all extension methods that Etoys sprinkles into the base system.