At 03:36 PM 5/31/01 -0400, Robert Landrum wrote:
>At 10:51 PM +0800 5/31/01, Gunther Birznieks wrote:
>>At 11:02 AM 5/29/01 -0400, Robert Landrum wrote:
>>>At 9:53 PM +0800 5/29/01, Gunther Birznieks wrote:
>>>>At 05:17 PM 5/28/01 -0400, Stephen Adkins wrote:
>
>>>[...]
>>>Yes, but that's only because it defines 4 widgets...  I'd probably 
>>>expect somewhere between 50-100 widgets on average, and more the 500 in 
>>>extreme cases.
>>
>>Really? I think you are an extreme case then. Do you really have more 
>>than 50 form elements on a page usually? I think the container of the 
>>widgets is roughly equivalent to a page that has to be rendered. It isn't 
>>necessarily every widget in the entire app.
>
>Not on a single page, but throughout an entire site....
>
>And we're not just talking about widgets that draw input boxes... Widgets 
>are any page elements, such as images, buttons, links, etc... 
>Right?  Perhaps the way I've implemented widgets is different from the way 
>you implement widgets.
>
>I define a widget as any configurable, reusable, code segment that 
>produces output intended to be view by the end user.
>
>For instance, we have something called a 
>CapWiz::Widget::CongressToday.  And to call it, you pass it data from the 
>database, and any configuration options, and out comes HTML.
>
>   my $w = CapWiz::Widget::CongressToday->new({
>     'data' => \@records_from_database,
>     'color' => '#CCCCCC',
>     'width' => 385
>   });
>   $r->print($w->draw());
>
>And we have several hundred (200+) of these widgets to draw everything 
>from Member Vote Tallies to Navigation Elements.
>
>Keep in mind that this is just how we have implemented widgets, and our 
>only requirement was that it output XHTML... Not WM/WAPL, JavaScript, or 
>GNOME/Gtk code.`

I think the way you are describing widgets is somewhat different from how I 
describe widgets. While widgets can be overloaded to be a draw-only 
component, the idea behind widgets is really as an application medium *not* 
a content management medium.

What you are describing is closer to a model like Zope. Whilst I agree that 
content mgmt is important, my gut feeling is that there are subtle 
differences that make abstraction of simply any component like this quite 
hard. And that's exactly what I would call them, components.

A widget has a specific behavior and is meant to interact with an 
application, have form data sent to it, have the data posted and sent back 
to data validator in the CGI script. etc.... I am not a content management 
guru, but I am frightened about the possibility that something as difficult 
as CMS will break into a version 1 widget library unless it's really clear 
that it won't bloat the API.

I do not have experience with CMS, but I imagine it must be complex or Zope 
for Perl would already exist today. Although perhaps the same could be said 
for widgets. :)


>>>A perl hashref config file requires knowledge of perl data structures, 
>>>which most designers won't grasp.  Since I'm not the designer for my 
>>>site, nor am I the guy
>>
>>This is true.
>>
>>>developing the underlying data structure, I wouldn't feel comfortable 
>>>using perl as the config file. XML makes for a nice, easily understood 
>>>medium for communicating configuration directives.
>>
>>Yes, but nice as an option. The worst part about an XML Config file is 
>>everyone will have differences of opinion about what to XMLify and how 
>>complex to make the defaults. So I think it's best as noted before, to 
>>leave as a subclass.
>
>Agreed.

And I guess through this mechanism you could use widgets as your components 
because you'll probably a very complex config because of how many widgets 
you are dealing with in the scope of CMS.

Later,
    Gunther

PS I am posting these last few msgs to mod_perl because I only just 
subscribed to the sourceforge list (which I recommend everyone doing).  But 
I am waiting a day to let everyone else get caught up as well on signing up 
so that the first posts will go to everyone.


Reply via email to