[Seaside] Re: 2.9 & jQue

Lukas Renggli renggli at gmail.com
Wed Nov 5 07:19:41 UTC 2008

> If you don't mind helping me a bit, I'd like to (try to) help.

Sure that would be great.

> Perhaps you
> can also point out where the approach is different from Sebastian's, as his
> squeaksource project seems to have some of this too?

I did not know about Sebastian's work when I started. The approaches
look similar, with the exception that that mine is building on the new
extracted JavaScript functionality (of Seaside 2.9). So the JQuery
package does not depend on the Scriptaculous package.

When browsing through the code of Sebastian I was missing
functionality. My goal is to have a complete support of JQuery and
JQueryUI, and everything should be accessible from Smalltalk. There is
more to JQuery than just the queries. One goal was to make the
different layers of JQuery as meaningful as possible.

For example:

" 1. creates an ajax object $.ajax(...) "
html jQuery ajax

" 2. creates a query object $('div') "
html jQuery expr: 'div'

" 3. creates a widget on the query object "
(html jQuery id: #foo) accordion

In fact, I tried to map these layers to something like objects and
classes, as this feels natural to me. "html jQuery" returns a "class".
Note that this is just the concept of a class, it is not an actual
Smalltalk class. #ajax is factory method that creates an ajax object.
#expr: and #id: are constructor methods that creates a new query
instances. Most commands and widgets are created on such queries.

> Is there a wiki where the docs should go? Or just in the image?

The API is mostly complete. I created it automatically using a
workspace script from the JQuery Wiki. So all the methods and classes
should contain the original documentation. Since the documentation is
extracted from the wiki we need to go through and clean it up (and
maybe extend it with Seaside specific explanations).

The things I see remain to do are the following:

1. Write examples and functional tests for the JQuery basic
functionality, this is mostly done for JQueryUI.

2. Use the library, find missing functionality, and bugs. Improve the API.

3. Write an introductionary paragraph about each functional test of
JQuery and JQueryUI.

4. Go through the documentation and adapt to Seaside.

5. Write unit tests that cover every method of JQueryUI, this is
mostly done for JQuery.

6. Provide a set of plugins as separate packages (this is the lowest
in the priority!).

It would be great to get help on all these points from you and other
people interested.


Lukas Renggli

More information about the seaside mailing list