Hi Heiko,
adding infinispan-dev.
Thanks for taking the time to investigate this. One of the things that
would need to be "exposed" to such portlets is the ability to link to
RHQ views/portlets (e.g. go to a specific service view) so that
"drilling-down" would show the appropriate detailed node.
Additionally we would like to provide RHQ-specific configuration when
installing our "server" plugin, such as cache/containers dynagroups,
maybe even a custom initial dashboard. Can it be done ?
Tristan
On 02/08/2014 07:43 PM, Heiko W.Rupp wrote:
Hey,
after talking with Tristan Tarrant from Infinispan I got the idea, that we could create a
generic Portlet, that
gets its content data as HTML from a server plugin. The server plugin then has access to
all the server logic
to do its task and can e.g. compute various stats of an Infinispan cluster.
The following drawing illustrates that idea:
Instances of the portlet will call to the selected server plugin and invoking a well
known "interface" like "getMessage".
This message will then do the processing and return a HTML-snippet (not a full page),
which is then displayed
inside the portlet window.
Attached are two screen shots from such a portlet + some PoC code.
This is created in the backend via (abbreviated)
complexResults.put(new PropertySimple("results", "<h1>Hello
World</h1>Welcome to RHQ<br/>Have FUN<br/>Current date: " +
date));
This is the "generic" config screen:
The drop down shows the list of plugins available.
In this PoC, the plugin writer is responsible for creating sane HTML,
if we decided to put that into RHQ, we may want to do some additional
sanitation. I also have no idea about styling the inner content.
While this is probably not the way for the (long term) future, at least
the backend plugins can be re-used if we move to an Angular-based UI,
so this investment would not be lost.
Heiko