Post on 08-Apr-2018
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 1/30
Bob Nemec
Cherniak Software
1
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 2/30
RequirementsProvide a web based interface to existingVW views with minimal additional effortby the domain developer.
A web interface for free.
2
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 3/30
A Seaside buildery This is not a general solutiony It uses framework meta data to build Seaside
components
3
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 4/30
4
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 5/30
5
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 6/30
6
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 7/30
7
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 8/30
8
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 9/30
9
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 10/30
Buildery Reads the window spec identified by the meta datay Creates a widget component for each type of widgety Each component has the widget s window spec detailsy Framework metadata defines widget behavior
10
ButtonCheck boxCombo boxDividerGroup boxInput fieldLabel
NotebookRadio buttonListSubcanvasTableText editor
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 11/30
Container
11
y Layout the generated components using the size andposition information in the window spec
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 12/30
Component layout
12
Add to new line
Add to a group box
Add to same line
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 13/30
Component layout
13
Add tall component
Add to tall row
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 14/30
Widget position and sizey Added convenience methods to Array
y #specElement After:
y #specElement After:if Absent:y Extract origin and corner as offset from parenty Translate proportional values to fixed points
14
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 15/30
Adjustmentsy It s easier to have a small adjustment than to make the
layout code perfect
15
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 16/30
Dialog promptsy Semaphore handoff to forked process
16
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 17/30
Reporting
17
Print preview in VW client
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 18/30
Reporting
18
Print preview in browser
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 19/30
Reportingy Write output to a Pixmapy Render result in lightbox
19
image := pixmap asGif.
image gifBytes seasideMimeDocumentmimeType: Seaside.W AMimeType imageGif
y Full report would be printed to a PDF
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 20/30
Mobile devicesy Simplified views will be used for mobile devicesy Flag is set on launcher entries and window specs
20
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 21/30
Diagnostic toolsy Window spec view build window spec from components
21
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 22/30
Load balancingy A dispatcher image uses OpenTalk to find idle client imagey A cookie with port number & millisecond clock value is
used to bind session to client image
22
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 23/30
Dispatcher
23
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 24/30
Client portalsy Using both domain and coded Seaside components
24
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 25/30
More Seasidey Issue Libraryy Patch Managery MediaWiki contenty IVR VXML servery iCal servery XML data for MS Office
25
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 26/30
Issue Library
26
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 27/30
Patch Manager
27
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 28/30
MediaWiki content
28
{{#webservice:cslx 4.cherniaksoftware.com: 48 197/ Issues?wiki=problems:summary| % // div%}}
{{#webservice:cslx 4.cherniaksoftware.com: 48 197/ Issues?wiki=sidebar| % // div%}}
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 29/30
IVR VXML Server
29
8/7/2019 Seaside Interface to Legacy Smalltalk App
http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 30/30
Next stepsy Lots of javascripty Mobile devices
y Integration with client web sites
30
Thank you to everyone that has contributed to Seaside