RFC: Portlets for Conductor

Jirka Tomasek jtomasek at redhat.com
Thu Oct 18 15:25:59 UTC 2012


On 10/15/2012 04:33 PM, Tzu-Mainn Chen wrote:
> Hi,
>
> Matt and I have come up with a design for creating portlets in Conductor for use in dashboard and the like.  Here's a summary design document:
>
> https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Portlets
>
> Please send any feedback you may have!
>
> Thanks,
> Tzu-Mainn Chen

Hi,

Regarding the implementation, if I understand correctly, the 
display_count is a count of items the collection will include,
so the _retrieve_data_ method should include .limit(display_count) and 
then the rendered partial called in _display_ method
would include :locals => {:collection => @collection} instead of 
:display_count. Is that right?

Also for me the initialize method params seem to be quite straighforward 
here as the collection might not always be based on one Model (Class name)
Does this mean that the given PortletType would strictly define how the 
collection would be collected? I am getting the feeling that we
would end up with different PortletType every time we'd want to use some 
portlet.

IMO what we need to render the Portlet is the partial which would define 
the structure and then the collection which is used to build it (passed 
as a local)
So the partials would define the portlet type and the data needed would 
get passed from the controller. Putting the logic into separate
Module seems to me as quite overkill, considering that we'll have 4-6 
different portlets (made using say 3 different partials) in the Dashboard.
With the Portlet types we'd end up having 4-6 different PortletTypes 
each rendered once, each with specific retrieve_data method.

Of course we can create helper for view, just to call 
render_portlet(partial_name, data_collection) for simplifying the call 
in the view.

I aggree to use the model method or Module for retrieving the data 
collection to not to clutter the controller if the logic for retrieving 
the data would be
more than few lines.

Jirka





More information about the aeolus-devel mailing list