[squeak-dev] Camp Smalltalk Vanisle presentation - Squeak Services

Chris Cunnington brasspen at gmail.com
Sun Oct 5 13:00:09 UTC 2014

Here are my notes on a presentation I made here in Nanaimo on the homepage, SqueakMap, and Swiki. The two main ideas are adding a wiki interface to the current homepage and converting Swiki XML files to object graphs that can be rendered in Seaside and HelpBrowser. 


Camp Smalltalk Vanisle presentation 

- homepage; Squeak Map Server; Swiki: an exploration of where these three applications are and where they could go
- the code is available at SqueakSource3 at SqueakServices 
- this stuff is politically contentious; I’m not speaking for the Squeak community; it’s just an interesting problem space  
- the focus of this talk is to explore an idea. That idea is to write a TinyWiki graph Generator for Xtreams called TWGraphGenerator
- Is it possible that creating this subclass of Actor in XTreams could be useful in both the homepage and in a Squeak wiki application? 
- show the two Shapes app graphics

1. Homepage: Altitude (XTreams) & Twitter Bootstrap
- the video for XTreams is Martin Kobetic at Barcelona ESUG 2010 on YouTube 
- Altitude: tour the running application; move to the the keys; change the URI strategy; then go to the locator; then talk about resources
- self first resources at: (self first resources keys first)
- show ALExampleApplication>>initializeLocator; show hierarchy of ALExample classes
- show squeak.org; talk about 24 char foo versus squeak.org URIs 
- no rendering tree; has inheritance for its pages 
- it’s mainly about Twitter Bootstrap and could be skinned to any framework 
- some miss Aida; but is that what they really miss? A wiki interface. That’s what the code behind the homepage should do
- go back to the Shapes app graphics 

2. SMServer: Seaside2.8 & SqueakSource & Twitter Bootstrap 

- HTTPView2
- SMBaseView to HVHttpView and its hierarchy; pages as subclasses; 
- SMSqueakMapView>>#default 
- has a Canvas and a Builder like Seaside2.6; compare the Builder to the Canvas with #anchorWithPopupAction:name:extent:toggles:do:; moved from one method per tag to one class per tag 
- HTTPView2 never evolved to the Canvas it was developing; show selectors for #newaccount in HTTPView2
- There is no HTTPView2 that I can obtain that works in localhost. 
- sm directory with map files and accounts and cache dirs; there is /sm/accounts and /sm/cache/; One for the server; one for the client; Why does the server have cache directories at all? I don’t know. 
- the concept of gathering content in the cloud and consuming it on a desktop with a file is a good one that could be extended to the Swiki
- SMServer; talk about the object graph of the model; Account—>Package—>Release 
- uses a list component from SqueakSource; uses WALabelledFormDialog for forms
- you can see it running at oopfile.com 

3. Swiki: Seaside2.8 & SqueakSource & Twitter Bootstrap & TinyWiki 

- show the XML files 
- ComSwiki
- show the wiki format in the edit button of a running ComSwiki 
- transform the XML files into an intermediate text format with a NuSwikiPageConverter 
- the NuSwikiPageConverter is an image with Swiki.cs and SS2
- Then feed those strings in the Swiki format to an XTreams parser using #grammarWiki and TWGraphGenerator to make an object graph like TinyWiki’s 
- we turn every XML page into an instance of TinyWiki; TinyWiki is the wiki in every SqueakSource project that nobody uses 
- then we render them in Seaside with an application, which could be Ohana
- Ohana is Hawaiian for ‘family’, as in ‘a family of wiki objects’; TinyWiki instances 
- change the text files into TWFolder instances and then render them in both Seaside and the HelpBrowser 
- perhaps use a program like Ohana, which is a hacked SqueakSource the brings the TinyWiki instances to the fore 
- or use Pier, but I suspect an older version in a Seaside 2.8 would be easier to manage than an current version of Pier 
- all XML pages would be stored as TWFolder objects in a single SSRepository, which could be downloaded and rendered in HelpBrowser by writing a subclass for TWVisitor
- covert the TWFolder object graph to the HelpTopic object graph with the Visitor pattern in TinyWiki 
- the class that makes this all possible is SSProject; it’s stored in SSRepository; it has three ivars that are useful and powerful, which are id; wiki; and viewer
- if you want a page with not just one TinyWiki, but several or with components, you subclass SSProjectView 
- use XTreams to replace SmallCC, TWScanner, and TWParser by creating a TWGraphGenerator class 
- use the idea of collecting content form a web app and consuming it locally from a file in the manner of SqueakMap and its map file 

- show the second Shapes app image again  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20141005/0ce654e0/attachment.htm

More information about the Squeak-dev mailing list