[ANN] JQueryWidgetbox and Metacello

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

[ANN] JQueryWidgetbox and Metacello

Torsten Bergmann
Hi,

the JQuery Widget box project now switched to Metacello:

 - there is now a "ConfigurationOfJQueryWidgetBox" project/class
   in htp://squeaksource.com/MetacelloRepository
 - this configuration includes a baseline and a first version 1.0
 - the old "loader" project (JQWidgetBox-Loader) - in
   http://squeaksource.com/JQueryWidgetBox can be used
   as before - it now internally uses Metacello

How to get started:
===================
We assume a clean image - for instance the latest pharo core
(PharoCore-1.0-10506rc1.image) - without any Seaside here:

 A. THE OLD WAY
 --------------
    To get the old loader (which is now ALWAYS loading the latest version
    from the metacello configuration) evaluate:

        Gofer new
   squeaksource: 'JQueryWidgetBox';
   package: 'JQWidgetBox-Loader';
   load.
       

     Answer yes - and see how Seaside 3.0 and the widget project
     is loaded. When finished start a webserver through

        WAKom startOn: 9092

     and point browser to

      http://localhost:9092/browse/jquery-widgets

     This is working as before - but not as flexible as with Metacello.


 B. THE NEW (METACELLO) WAY
 --------------------------
   First you need to load the Metacello configuration for the project

         Gofer new
   squeaksource: 'MetacelloRepository';
   package: 'ConfigurationOfJQueryWidgetBox';
   load.

   You can now decide to get:
   ==========================
   B.1. the latest version (including all tests, examples and widgets - similar to the old loader in A.)

        (Smalltalk at: #ConfigurationOfJQueryWidgetBox) loadLatestVersion

   B.2. a specific version (currently there is only one)

        ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load

   B.3. load a specific widget for your seaside project from Widget box version 1.0 (without tests and examples)

        ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load: 'JQWidgetBox-Growl-Core'  

   B.4. load a specific widget for your seaside project from Widget box version 1.0 (including tests and examples)

        ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load: 'JQWidgetBox-Growl-Dev'  

   B.5. load three widgets for your seaside project from Widget box version 1.0 (two with tests/examples and the first without tests/examples)

        ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load: #('JQWidgetBox-Growl-Core' 'JQWidgetBox-Calculator-Dev' 'JQWidgetBox-Calculator-Dev')

   B.6. load all the latest packages from the 1.0 baseline - with all widgets, respective tests and examples to do development

        ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0-baseline') load  

   
   If an example for a widget is loaded it will automatically appear at
   http://localhost:9092/browse/jquery-widgets


   Things to note:
   ===============
   If one wraps and adds new jquery widgets to the widget box project he must
   now add it in the metacello configuration. The old loader project should
   stay unchanged and remains for compatibility reasons.

Have fun,
T.









--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] JQueryWidgetbox and Metacello

Nick
Hi Torsten,

A great set of JQuery examples I particularly liked the fold sample.
 
I've been experimenting with integrating JQuery widgets myself so it was instructive to see how you'd performed the Seaside integration. One question, is there a reason why you use explicit id's? For example:

JQSheetExample>>renderContentOn: html
|id|
id := html nextId.
html div
id: id.
html script: ((html jQuery id: id) sheet 
buildSheetOfSize: 3@4;
urlTheme: self themeURL)

can be rewritten as:

JQSheetExample>>renderContentOn: html
html div script: ((html jQuery this) sheet 
buildSheetOfSize: 3@4;
urlTheme: self themeURL).


The rewritten code seems neater, but perhaps there's a reason for preferring your original code?

Cheers

Nick


2010/1/14 Torsten Bergmann <[hidden email]>
Hi,

the JQuery Widget box project now switched to Metacello:

 - there is now a "ConfigurationOfJQueryWidgetBox" project/class
  in htp://squeaksource.com/MetacelloRepository
 - this configuration includes a baseline and a first version 1.0
 - the old "loader" project (JQWidgetBox-Loader) - in
  http://squeaksource.com/JQueryWidgetBox can be used
  as before - it now internally uses Metacello

How to get started:
===================
We assume a clean image - for instance the latest pharo core
(PharoCore-1.0-10506rc1.image) - without any Seaside here:

 A. THE OLD WAY
 --------------
   To get the old loader (which is now ALWAYS loading the latest version
   from the metacello configuration) evaluate:

       Gofer new
         squeaksource: 'JQueryWidgetBox';
         package: 'JQWidgetBox-Loader';
         load.


    Answer yes - and see how Seaside 3.0 and the widget project
    is loaded. When finished start a webserver through

       WAKom startOn: 9092

    and point browser to

     http://localhost:9092/browse/jquery-widgets

    This is working as before - but not as flexible as with Metacello.


 B. THE NEW (METACELLO) WAY
 --------------------------
  First you need to load the Metacello configuration for the project

        Gofer new
         squeaksource: 'MetacelloRepository';
         package: 'ConfigurationOfJQueryWidgetBox';
         load.

  You can now decide to get:
  ==========================
  B.1. the latest version (including all tests, examples and widgets - similar to the old loader in A.)

       (Smalltalk at: #ConfigurationOfJQueryWidgetBox) loadLatestVersion

  B.2. a specific version (currently there is only one)

       ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load

  B.3. load a specific widget for your seaside project from Widget box version 1.0 (without tests and examples)

       ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load: 'JQWidgetBox-Growl-Core'

  B.4. load a specific widget for your seaside project from Widget box version 1.0 (including tests and examples)

       ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load: 'JQWidgetBox-Growl-Dev'

  B.5. load three widgets for your seaside project from Widget box version 1.0 (two with tests/examples and the first without tests/examples)

       ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0') load: #('JQWidgetBox-Growl-Core' 'JQWidgetBox-Calculator-Dev' 'JQWidgetBox-Calculator-Dev')

  B.6. load all the latest packages from the 1.0 baseline - with all widgets, respective tests and examples to do development

       ((Smalltalk at: #ConfigurationOfJQueryWidgetBox) project version: '1.0-baseline') load


  If an example for a widget is loaded it will automatically appear at
  http://localhost:9092/browse/jquery-widgets


  Things to note:
  ===============
  If one wraps and adds new jquery widgets to the widget box project he must
  now add it in the metacello configuration. The old loader project should
  stay unchanged and remains for compatibility reasons.

Have fun,
T.









--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


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