30
Bob Nemec Chernia k Software 1

Seaside Interface to Legacy Smalltalk App

Embed Size (px)

Citation preview

Page 1: Seaside Interface to Legacy Smalltalk App

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

Page 2: Seaside Interface to Legacy Smalltalk App

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

Page 3: Seaside Interface to Legacy Smalltalk App

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

Page 4: Seaside Interface to Legacy Smalltalk App

8/7/2019 Seaside Interface to Legacy Smalltalk App

http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 4/30

4

Page 5: Seaside Interface to Legacy Smalltalk App

8/7/2019 Seaside Interface to Legacy Smalltalk App

http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 5/30

5

Page 6: Seaside Interface to Legacy Smalltalk App

8/7/2019 Seaside Interface to Legacy Smalltalk App

http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 6/30

6

Page 7: Seaside Interface to Legacy Smalltalk App

8/7/2019 Seaside Interface to Legacy Smalltalk App

http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 7/30

7

Page 8: Seaside Interface to Legacy Smalltalk App

8/7/2019 Seaside Interface to Legacy Smalltalk App

http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 8/30

8

Page 9: Seaside Interface to Legacy Smalltalk App

8/7/2019 Seaside Interface to Legacy Smalltalk App

http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 9/30

9

Page 10: Seaside Interface to Legacy Smalltalk App

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

Page 11: Seaside Interface to Legacy Smalltalk App

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

Page 12: Seaside Interface to Legacy Smalltalk App

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

Page 13: Seaside Interface to Legacy Smalltalk App

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

Page 14: Seaside Interface to Legacy Smalltalk App

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

Page 15: Seaside Interface to Legacy Smalltalk App

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

Page 16: Seaside Interface to Legacy Smalltalk App

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

Page 17: Seaside Interface to Legacy Smalltalk App

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

Page 18: Seaside Interface to Legacy Smalltalk App

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

Page 19: Seaside Interface to Legacy Smalltalk App

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

Page 20: Seaside Interface to Legacy Smalltalk App

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

Page 21: Seaside Interface to Legacy Smalltalk App

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

Page 22: Seaside Interface to Legacy Smalltalk App

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

Page 23: Seaside Interface to Legacy Smalltalk App

8/7/2019 Seaside Interface to Legacy Smalltalk App

http://slidepdf.com/reader/full/seaside-interface-to-legacy-smalltalk-app 23/30

Dispatcher

23

Page 24: Seaside Interface to Legacy Smalltalk App

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

Page 25: Seaside Interface to Legacy Smalltalk App

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

Page 26: Seaside Interface to Legacy Smalltalk App

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

Page 27: Seaside Interface to Legacy Smalltalk App

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

Page 28: Seaside Interface to Legacy Smalltalk App

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%}}

Page 29: Seaside Interface to Legacy Smalltalk App

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

Page 30: Seaside Interface to Legacy Smalltalk App

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