seaside interface to legacy smalltalk app

Post on 08-Apr-2018

220 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related