As promised ;) I have written down some ideas about a visual support for an integrated Squeak Tutorials. A simple idea is this.
We can write tutorial using html and some "magic" urls, using the Scamper borwser for viewing the tutorial.
The advantage is simple: you can re-use existing documentation and adding documentation in html is simpler than using xml docbook or sgml.
I have tried to define a new special "Url" called a SqueakTutorialUrl. It looks like:
squeak://openForMe/Celeste
This url sends to Celeste the open method. This emulates the "open for me xxxx" link used under Apple and Windows online help.
squeak://tutorialAction/TutorialName/action Do something of special using a TutorialName instance (for example: executing 'TutorialName newTutorial action').
Some extension: squeak://?SomethingThatCanGenerateDynamicContents
squeak://loadTutorial/Tutorial.zip Unzip and load the Tutorial.zip. Tutorial.zip contains some html pages (Tutorial-1.html, etc) and a Tutorial.st code file. This url load Tutorial.st and then return Tutorial-1.html as contents. Tutorial.st defines the class TutorialName Then url like squeak://tutorialAction/TutorialName/action will work.
Benefits: + It is simple (I had only to extend the absoluteFromText: method in the Url class). + It is simple to extend/embed: you can build a new tutorial, bringing with you a special TutorialClassCode.st file). +It is quiet efficient. +It can give us compatibility with current old style html tutorial. +You can embed the tutorial in a project or in the image with small efforts.
But: +It is not secure (malicious code can be inserted). +Only Scamper/Squeak can handle these special urls. +Feature must me minimal and well thinked.
What do you think? Ciao ciao Giovanni Giorgi
squeakfoundation@lists.squeakfoundation.org