Sort of like Wordpress or Jenkins plugins right? Yeah it's probably not the
easiest thing to get started learning Tapestry with this problem but we
should have some better answers for you than "don't do it". How the
BeanEditor works is you contribute page blocks to handle specific types of
input fields (or your override specific input instances on per page basis),
however in this case I'd perhaps try to structure it so that you'd dictate
some loose structure for each plugin - for example each needs to have a
PluginSettings page with a Settings block. They'd also contribute some
information about the plugin to a PluginConfiguration. Finally, in your
plugin container application, you'd collect and render these blocks on
Plugins page. I haven't tried building anything like that so you'll
probably run into issues. However, I think it's a pretty common use case
and it'd be great to have some best practice answers for it.

Kalle


On Mon, Apr 15, 2013 at 4:06 PM, Valerie Wagner <valerie.wag...@sri.com>wrote:

>
> I'm just getting started with learning Tapestry and am struggling a bit
> with the "static structure, dynamic behavior." We are developing an
> application that is going to allow plugins from third-parties. For example,
> the plugins will each provide a capability and have their own settings. We
> want each plugin to be able to provide its own Tapestry Component to allow
> the user to configure the plugin. For example, I may have a page that
> renders all the settings of all plugins (or perhaps the user selects a
> plugin from a list & views on that setting).
>
> I'm doing as much reading as I can through the documentation and examples,
> but it's just not clear to me how to structure this. If my application
> doesn't know the complete list of Components ahead of time, I haven't
> thought of a way to dynamically render them. I've been looking at
> delegates, form injection, filtering...but none of it seems appropriate to
> me.
>
> I'd appreciate any help or thoughts on this. What I need is something
> along the lines of:
>
> foreach plugin in our list
>     render the "settings" component for that plugin
> end
>
> or
>
> render the "settings" component for plugin with id X
>
> thanks,
> Valerie
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org>
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to