Web controls for Seaside

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Web controls for Seaside

Burella Juan M.
In order to ease the work with our web application  we have added component support for Seaside. It's what is called "AJAX Framework" out there, although we preferred not to call it "framework" nor toolkit by now. Much of the ideas of this package are based on WindowBuilder Pro, a commercial window builder that enables visual programming.  

Right now we have support for most common web controls (TextField, Panel, RadioButton, TextArea, Label, Button, Anchor, CheckBoxGroup, RadioButtonGroup, ListBox, FieldSet) and we are working on a builder tool for generate Seaside components (pages) dinamically. We call it SeasideBuilder.  

Using our package, for example, if you want to specify a ListBox of countries you have to (without the builder):

>>countryControl
    "Private - Answer a ListBox with the countries. If panes not includes it then this is added"  

    ^self  
        paneNamed: #countryList
        ifNonePut: [ (SFListBox new)
                        printSelector: #viewerString;
                        styleClass: 'large';
                        items: self countries;  
                        label: 'País';
                        layout: self layout;
                        addItem: nil labelFrom: 'Ninguno';
                        when: #selectedChanged  
                             send: #selectedItem
                            to: self;
                        yourself]

and it's rendered with:

>>renderContentOn: html  
    "Private - Render the receiver"  
    
    html render: self countryControl

With the builder you'll have to pick the control you want, configure properties, preview if you want it, and finally add to a page layout tree. When the tree is already configured properly, code for the rendering and controls is compiled into the class, along with tree support for future editing with the tool, although this is under heavy developement.  

Maybe this work could be interesting for someone out there. If so,  we'd have to ask our institution for permission to release a public version under an appropiate licensing (GPL, LGPL, BSD, etc).  

Juan M. Burella, Hernán Morales and Norberto Manzanos, CAICYT  
<a href="http://www.caicyt.gov.ar" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.caicyt.gov.ar
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Web controls for Seaside

Lukas Renggli
> In order to ease the work with our web application  we have added component
> support for Seaside. It's what is called "AJAX Framework" out there,
> although we preferred not to call it "framework" nor toolkit by now. Much of
> the ideas of this package are based on WindowBuilder Pro, a commercial
> window builder that enables visual programming.

That sounds very exciting. Is the JavaScript part specific to Seaside
or did you reuse an existing libraries?

> Right now we have support for most common web controls (TextField, Panel,
> RadioButton, TextArea, Label, Button, Anchor, CheckBoxGroup,
> RadioButtonGroup, ListBox, FieldSet) and we are working on a builder tool
> for generate Seaside components (pages) dinamically. We call it
> SeasideBuilder.

Will SeasideBuilder also allow to visually connect controls with each
other and the model, like this is done for example in Cocoa? How does
it update the control (polling, server push)?

> With the builder you'll have to pick the control you want, configure
> properties, preview if you want it, and finally add to a page layout tree.
> When the tree is already configured properly, code for the rendering and
> controls is compiled into the class, along with tree support for future
> editing with the tool, although this is under heavy developement.

Drag & Drop? Will you be able to edit a control again, after it has been added?

> Maybe this work could be interesting for someone out there. If so,  we'd
> have to ask our institution for permission to release a public version under
> an appropiate licensing (GPL, LGPL, BSD, etc).

That would be great! Please consider that Seaside and most (if not
all) Seaside related frameworks are released under the MIT license.

Looking forward testing your "framework".

Lukas

--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Web controls for Seaside

Burella Juan M.
Hello Lukas.

> In order to ease the work with our web application  we have added component
> support for Seaside. It's what is called "AJAX Framework" out there,
> although we preferred not to call it "framework" nor toolkit by now. Much of
> the ideas of this package are based on WindowBuilder Pro, a commercial
> window builder that enables visual programming.

That sounds very exciting. Is the JavaScript part specific to Seaside
or did you reuse an existing libraries?

Javascript is specific to Seaside, we are trying to provide a common interface for event handling and to mix well with Scriptaculous but we are evaluating alternatives.


> Right now we have support for most common web controls (TextField, Panel,
> RadioButton, TextArea, Label, Button, Anchor, CheckBoxGroup,
> RadioButtonGroup, ListBox, FieldSet) and we are working on a builder tool
> for generate Seaside components (pages) dinamically. We call it
> SeasideBuilder.

Will SeasideBuilder also allow to visually connect controls with each
other and the model, like this is done for example in Cocoa? How does
it update the control (polling, server push)?

No. If you are thinking in Visual Language Systems with icons like LabVIEW, ProGraph or even PARTS, that's not what we had in mind at first. Right now it would fall into a web interface for a textual language.
If I understood right your question, the builder uses a proxy over the control, that's updated after you finished with the properties.

> With the builder you'll have to pick the control you want, configure
> properties, preview if you want it, and finally add to a page layout tree.
> When the tree is already configured properly, code for the rendering and
> controls is compiled into the class, along with tree support for future
> editing with the tool, although this is under heavy developement.

Drag & Drop? Will you be able to edit a control again, after it has been added?

That's the idea.


> Maybe this work could be interesting for someone out there. If so,  we'd
> have to ask our institution for permission to release a public version under
> an appropiate licensing (GPL, LGPL, BSD, etc).

That would be great! Please consider that Seaside and most (if not
all) Seaside related frameworks are released under the MIT license.

Looking forward testing your "framework".

Lukas

Juan  M.


_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Web controls for Seaside

Sebastian Sastre-2
In reply to this post by Burella Juan M.
Hi there,
 
    very interesting. I want to see it. I'm working on a little framework too to ease app develop too.
 
    Did you guys make something to define the composable layout of the components?  like the so called complex layout in ExtJS?
   
    cheers,
 

Sebastian Sastre

 


De: [hidden email] [mailto:[hidden email]] En nombre de Burella Juan M.
Enviado el: Viernes, 15 de Junio de 2007 15:00
Para: [hidden email]; [hidden email]
Asunto: [Seaside] Web controls for Seaside

In order to ease the work with our web application  we have added component support for Seaside. It's what is called "AJAX Framework" out there, although we preferred not to call it "framework" nor toolkit by now. Much of the ideas of this package are based on WindowBuilder Pro, a commercial window builder that enables visual programming.  

Right now we have support for most common web controls (TextField, Panel, RadioButton, TextArea, Label, Button, Anchor, CheckBoxGroup, RadioButtonGroup, ListBox, FieldSet) and we are working on a builder tool for generate Seaside components (pages) dinamically. We call it SeasideBuilder.  

Using our package, for example, if you want to specify a ListBox of countries you have to (without the builder):

>>countryControl
    "Private - Answer a ListBox with the countries. If panes not includes it then this is added"  

    ^self  
        paneNamed: #countryList
        ifNonePut: [ (SFListBox new)
                        printSelector: #viewerString;
                        styleClass: 'large';
                        items: self countries;  
                        label: 'País';
                        layout: self layout;
                        addItem: nil labelFrom: 'Ninguno';
                        when: #selectedChanged  
                             send: #selectedItem
                            to: self;
                        yourself]

and it's rendered with:

>>renderContentOn: html  
    "Private - Render the receiver"  
    
    html render: self countryControl

With the builder you'll have to pick the control you want, configure properties, preview if you want it, and finally add to a page layout tree. When the tree is already configured properly, code for the rendering and controls is compiled into the class, along with tree support for future editing with the tool, although this is under heavy developement.  

Maybe this work could be interesting for someone out there. If so,  we'd have to ask our institution for permission to release a public version under an appropiate licensing (GPL, LGPL, BSD, etc).  

Juan M. Burella, Hernán Morales and Norberto Manzanos, CAICYT  
<A onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.caicyt.gov.ar" target=_blank>http://www.caicyt.gov.ar

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Web controls for Seaside

Burella Juan M.
Hola Sebastian,
             Layout stuff is in early stages, as our application uses a basic tableless design using CSS boxes, we never need to dig too much in there. There's a lot of cool things out there (including VPL's and ideas from other packages) surely we'll take a look if can be easily incorporated into our model.

Saludos
Juan M.
         

On 6/15/07, Sebastian Sastre <[hidden email]> wrote:
Hi there,
 
    very interesting. I want to see it. I'm working on a little framework too to ease app develop too.
 
    Did you guys make something to define the composable layout of the components?  like the so called complex layout in ExtJS?
   
    cheers,
 

Sebastian Sastre

 



De: [hidden email] [mailto:[hidden email]] En nombre de Burella Juan M.
Enviado el: Viernes, 15 de Junio de 2007 15:00
Para: [hidden email]; [hidden email]
Asunto: [Seaside] Web controls for Seaside

In order to ease the work with our web application  we have added component support for Seaside. It's what is called "AJAX Framework" out there, although we preferred not to call it "framework" nor toolkit by now. Much of the ideas of this package are based on WindowBuilder Pro, a commercial window builder that enables visual programming.  

Right now we have support for most common web controls (TextField, Panel, RadioButton, TextArea, Label, Button, Anchor, CheckBoxGroup, RadioButtonGroup, ListBox, FieldSet) and we are working on a builder tool for generate Seaside components (pages) dinamically. We call it SeasideBuilder.  

Using our package, for example, if you want to specify a ListBox of countries you have to (without the builder):

>>countryControl
    "Private - Answer a ListBox with the countries. If panes not includes it then this is added"  

    ^self  
        paneNamed: #countryList
        ifNonePut: [ (SFListBox new)
                        printSelector: #viewerString;
                        styleClass: 'large';
                        items: self countries;  
                        label: 'País';
                        layout: self layout;
                        addItem: nil labelFrom: 'Ninguno';
                        when: #selectedChanged  
                             send: #selectedItem
                            to: self;
                        yourself]

and it's rendered with:

>>renderContentOn: html  
    "Private - Render the receiver"  
    
    html render: self countryControl

With the builder you'll have to pick the control you want, configure properties, preview if you want it, and finally add to a page layout tree. When the tree is already configured properly, code for the rendering and controls is compiled into the class, along with tree support for future editing with the tool, although this is under heavy developement.  

Maybe this work could be interesting for someone out there. If so,  we'd have to ask our institution for permission to release a public version under an appropiate licensing (GPL, LGPL, BSD, etc).  

Juan M. Burella, Hernán Morales and Norberto Manzanos, CAICYT  
<a href="http://www.caicyt.gov.ar" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.caicyt.gov.ar

_______________________________________________
Seaside mailing list
[hidden email]
<a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside