automated seaside interface to a visualworks and gemstone application framework – bob nemec
TRANSCRIPT
1
Seaside Interface to Legacy Smalltalk App
Bob NemecCherniak Software
2
RequirementsProvide a web based interface to existing VW views with minimal additional effort by the domain developer.
A web interface for free.
3
A Seaside builderThis is not a general solutionIt uses framework meta data to build Seaside
components
4
5
6
7
8
9
10
BuilderReads the window spec identified by the meta dataCreates a ‘widget component’ for each type of widgetEach component has the widget’s window spec detailsFramework metadata defines widget behavior
ButtonCheck boxCombo boxDividerGroup boxInput fieldLabel
NotebookRadio buttonListSubcanvasTableText editor
11
ContainerLayout the generated components using the size and
position information in the window spec
12
Component layoutAdd to new line
Add to a group box
Add to same line
13
Component layout
Add tall component
Add to tall row
14
Widget position and sizeAdded convenience methods to Array
#specElementAfter:#specElementAfter:ifAbsent:
Extract origin and corner as offset from parentTranslate proportional values to fixed points
15
AdjustmentsIt’s easier to have a small adjustment than to make the
layout code perfect
16
Dialog promptsSemaphore handoff to forked process
17
Reporting Print preview in VW client
18
Reporting Print preview in browser
19
ReportingWrite output to a Pixmap Render result in lightbox
image := pixmap asGif.…image gifBytes seasideMimeDocument
mimeType: Seaside.WAMimeType imageGif
Full report would be printed to a PDF
20
Mobile devicesSimplified views will be used for mobile devicesFlag is set on launcher entries and window specs
21
Diagnostic toolsWindow spec view – build window spec from components
22
Load balancingA dispatcher image uses OpenTalk to find idle client
imageA cookie with port number & millisecond clock value is
used to bind session to client image
23
Dispatcher
24
Client portalsUsing both domain and coded Seaside components
25
More SeasideIssue LibraryPatch ManagerMediaWiki contentIVR VXML serveriCal serverXML data for MS Office
26
Issue Library
27
Patch Manager
28
MediaWiki content
{{#webservice:cslx4.cherniaksoftware.com:48197/Issues?wiki=problems:summary| %//div%}}
{{#webservice:cslx4.cherniaksoftware.com:48197/Issues?wiki=sidebar| %//div%}}
29
IVR VXML Server
30
Next stepsLots of javascript Mobile devicesIntegration with client web sites
Thank you to everyone that has contributed to Seaside