Dynamic Web Development with Seaside

Table of Figures

1
The Seaside development environment
2
The Seaside server running
3
Create a category
4
An empty category has been created
5
Creating the class WebCounter
6
The class has been created
7
Adding a method category
8
Compiling a method
9
The method has been compiled
10
A simple counter
11
Register a component as an application from a workspace
12
Compiling a class method
13
Adding the executable comment
14
A simple counter with actions
15
A simple counter with a different value
16
A class comment
17
Monticello Browser
18
Monticello Repository Browser
19
Loading Seaside
20
Seaside dispatcher
21
Seaside Settings
22
Creating a name space
23
Create a class
24
Add our application
25
Configuring the application
26
Registered Component
27
A counter with action
28
GLASS Virtual Appliance status page
29
GLASS Virtual Appliance status
30
GLASS Virtual Appliance menu
31
GLASS Virtual Appliance Seaside page
32
GemStone/S Login window
33
GemStone/S Transcript window
34
WAcomponent subclass template
35
Create a category
36
A simple counter
37
A simple counter with increment and decrement actions
38
GemStone Monticello browser
39
GemStone Monticello repository
40
Squeak Monticello repository
41
Making sure tests pass
42
VA Smalltalk Feature Loader
43
Open Seaside Control Panel
44
Initial Seaside Server Control Panel
45
Seaside Server Control Panel Add Adaptor
46
Add Seaside Server Adaptor Dialog
47
Start Server Adaptor
48
Started Server Adaptor
49
Sample Counter
50
VASmalltalkApplicationManager
51
Simple-counter
52
VAST sample counter with actions
53
Hello World in Seaside
54
Some simple XHTML elements in Seaside
55
The Seaside tool bar
56
A component decorated with halos.
57
XHTML of a component generated by Seaside
58
Using Smalltalk to write a loop in our rendering method.
59
Rendering images vertically
60
Rendering images horizontally
61
Rendering object with the #render: method.
62
Two equivalent forms.
63
Select brush, configure it, and render it
64
Brush Simplifications
65
A list of items
66
A table of items
67
Essential CSS structural elements
68
A simple anchor
69
Using a callback
70
Displaying the contact database
71
Contact list with Add contact link
72
Contacts can now be removed
73
With a removal confirmation
74
With mailto anchor
75
Filling up our contact view
76
Gender as a drop-down menu
77
Gender as a list
78
With radio buttons
79
With the checkbox
80
Full contact view
81
File uploads
82
New version of the ContactListView
83
Call and Answer at Work
84
Contact edition with a cancel button
85
Embedding a ContactView into another component
86
Embedding a ContactView into another component with Halos
87
With components all the way down
88
A readonly view of the ContactView
89
Adding a message around a component
90
Decorating a component with a window
91
Using a decoration to add buttons and form to a ContactView
92
Guessing Game interaction
93
A simple reservation based on task
94
A simple reservation with feedback
95
A scoped browser onto the Store package
96
The Code Critics Result Browser
97
A simple model with items and an item container
98
The application is registered in Seaside
99
Our application is there, but nothing is rendered
100
Our todo application simply displaying its title.
101
Our todo application, displaying its title and a list of its items colored according to status.
102
TodoWithAnchors
103
Our todo application with add functionality
104
Our todo application with checkboxes and save buttons
105
Getting an editor to edit new item
106
With an item added
107
TodoFinal
108
Just started playing
109
The column labels look like this
110
Row labels are letters, column labels are numbers
111
The Sudoku board with the style sheet applied
112
The Sudoku grid is showing the possible values for each cell
113
A partially filled Sudoku grid
114
A solved Sudoku grid
115
Error when trying to replace 6 by 7
116
Including an external picture into your components
117
Setting the Resource Base URL of your application
118
Displaying Pharo Morphs
119
Application with enabled style sheet
120
Configuring file libraries through the web interface: clicking on files - configure
121
File libraries
122
Adding file to MyLibrary
123
An empty CounterLibrary
124
Adding files to the CounterLibrary.
125
Counter with the updateRoot: method defined
126
The Pharo String Hierarchy
127
The session of miniInn is now InnSession
128
With Session
129
With Session: Enter your name
130
With Session: Starting Date and Ending Date
131
The lifetime of a Seaside session.
132
Lifetime of a session
133
The Really Simple Syndication icon
134
The ToDo Feed subscribed
135
Scriptaculous Demo and Functional Test Suite
136
The todo application with help text faded in
137
A full request (1) and an AJAX request (2) updating part of the page
138
Reorder the items in the todo list
139
In-place item editor
140
Firebug: Web development evolved
141
Logging to the Firebug console
142
The inspector displays an up-to-date view on the DOM tree. Changes are automatically highlighted.
143
The console shows the AJAX requests and responses exchanged between Seaside and the web browser.
144
jQuery Demo and Functional Test Suite
145
jQuery Lifecycle in Smalltalk
146
Comet enables the server to push data to the client, without that the client has to poll the server for fresh content.
147
Comet requires a server adapter that supports streaming of the response.
148
The counter application synchronized along different web browsers.
149
Configure an application for deployment
150
Configuration options for absolute URLs
151
Seaside-Hosting Portal
152
Apache Load Balancer Manager
153
Starting the RFB Server in Pharo
154
System Status Tool
155
First architecture: adding REST to an existing application.
156
Second architecture: REST centric core.
157
Request handling of WARestfulFilter and WAApplication
158
Inspecting a request
159
An object is described by a description which is defined on its class
160
Describing an Address
161
Our adress
162
Address example1 asComponent
163
Same Magritte generated component with buttons and validation
164
Description hierarchy
165
Descriptions are a composite and connected via accessors
166
Exceptions
167
Accessors in Magritte
168
Mementos (simplified version)
169
Some Magritte specific widgets

Copyright © 19 March 2024 Stéphane Ducasse, Lukas Renggli, C. David Shaffer, Rick Zaccone
This book is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 license.

This book is published using Seaside, Magritte and the Pier book publishing engine.