I have an alpha kit that does pretty much what you're describing here:
Components that awake, handle actions, draw and sleep along with the servlet
which contains them in some type of template. I had called it ComponentKit,
but will rename it for the Beta release, per Chuck's request.
ComponentKit as it stands now supports a display templating and caching
structure via classes, not scripts or includes. Component output can be
cached to memory and/or file system uniquely based on the arguments required
for the output. Components can handle their own actions. Instances of
dynamic Component classes (ie no cached output) are cached at an application
level via a subclass of Application called, funnily enough,
ComponentApplication. The instance caching structure is modeled on WebKit's
servlet instance cache.
ComponentKit interfaces with WebKit via ComponentPage, which inherits both
WebKit.Page and ComponentKit.CompoundComponent, which is a component
container. A WebKit context can freely mix ComponentPage's with normal Page
servlets or anything else for that matter. Use of ComponentKit does not
preclude any other kit.
ComponentKit also has been developed to interface with admin screens
allowing targeted content administration. This system may be bundled into
ComponentKit, or released as a separate open-source add-on.
I'm part of a team developing a large commercial website with Webware via
ComponentKit. We're still changing the spec and iterating on the
architecture, but plan to release both the site, and a beta version of
renamed ComponentKit in the next month or so.
I'll post to this list as soon as the Kit API is beta-stable, and available
for download. And will welcome criticism/contribution!
[mailto:webware-discuss-admin@... Behalf Of Chuck
Sent: Monday, October 22, 2001 2:50 PM
To: jcz-webwarej@...; webware-discuss@...
Subject: Re: [Webware-discuss] Webware component (subwindow in page)
At 04:30 PM 10/22/2001 +0200, jcz-webwarej@... wrote:
>a) has Webware community such Class ?
Not directly in Webware. I cooked up something like this for a project, but
there are so many choices involved, I wasn't sure about putting it directly
I'm sure there is general interest in this.
Please don't call them "components" as we already use that name for the
Webware packages. I call mine "Panels". I was also thinking of an abstract
class called "Pane" which is a Panel without the decorative border, eg, a
rectangular area and no more.
I have uploaded some of these utility classes AS IS to:
They probably won't work outside the context of the project, but you can
take a look at them and see what you think. I gave them an arbitrary
version number in case I end up uploading new versions.
Note that I assign the write() method of the panel to its owner (eg, the
Page). This is fairly efficient.
SitePanel is just an example of how you will probably want a customized
panel for your project, similar to SitePage.
Webware-discuss mailing list