+ Split input-fields into two structures:
+ surflets/my-input-fields allows you to create your own input-fields.
(complete with structure surflets/input-field-value)
+ surflets/surflet-input-fields are the proposals for input-fields
from SUrflets. They support annotated input-fields where
appropriate (select, radio, checkbox, hidden) and changing of attributes,
e.g. default values. See test.scm for examples.
The interface of the structure SURFLETS has only changed slightly
concerning the input fields
(make-higher-input-field --> make-multi-input-field should be the
main change)
+ Adapt examples to new input-field interface
+ Note new structures in documentation.
Callbacks may now be annotated with arbitrary arguments with which the
function will be called. See surflets/test.scm for a (non-didactic) example.
* The extended callbacks justify an extra structure for callbacks:
surflets/callbacks
- make-callback was moved from surflets/utilities to surflets/callbacks
limited to strings).
For this purpose, the ADDRESS object uses an internal storage that is freed
as soon the ADDRESS object is freed.
admin-surflets.scm shows an example.
Basic User, Advanced User, Administrative User
+ see file SURFLETS-STRUCTURES.TXT for details
+ Adapt example surflets to new structures. Only surflets that use extended
features should need adaptations.
- Removing surflets.scm
+ The surflets package remains and collects the most usual used packages
It does not export any more the outdaters, the access to IDs
(like session-id), callbacks, form-query-list.
(and maybe some other stuff I've forgot to mention here, see list
below).
The new packages are (not included in surflets are marked (*)):
+ surflets/addresses: MAKE-ADDRESS, MAKE-ANNOTATED-ADDRESS
+ surflets/bindings: GET-BINDINGS, EXTRACT-BINDINGS and stuff
+ surflets/ids (*): MY-SESSION-ID, .., INSTANCE-SESSION-ID
+ surflets/input-fields: MAKE-INPUT-FIELD, MAKE-NUMBER-INPUT-FIELD...
+ surflets/outdaters(*): MAKE-OUTDATER, OUTDATER?...
+ surflets/returned-via: RETURNED-VIA, CASE-RETURNED-VIA
+ surflets/send-html: SEND-HTML/SUSPEND...
+ surflets/surflet-sxml: URL-RULE,..., SURLFET-SXML-RULES, ...
+ surflets/sxml: SXML->STRING, DEFAULT-RULE,...
+ surflets/typed-optionals(*): TYPED-OPTIONALS, OPTIONALS
+ surflets/utilities(*): MAKE-CALLBACK, FORM-QUERY-LIST,
GENERATE-UNIQUE-NAME...
default-rules (default, text, attribute, plain-html and url)
surflet-form-rules (input-field and surflet-form)
+ according to mainzelm: lowercase URL tag to url in surflet-xml
The servlet programmer is (nearly) unaware of this.
This removes the problem that arises if send/suspend is called in HTTPD
while transmitting data to the browser.