[ 
https://issues.apache.org/jira/browse/OFBIZ-1999?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639992#action_12639992
 ] 

David E. Jones commented on OFBIZ-1999:
---------------------------------------


Here are my notes so far. As I mentioned they are pretty similar to what Bruno 
has put together, which is very cool: 


Basic Entity Model (not fleshed out all the way, mostly general structure):

PortalPortlet
-portalPortletId*
-screenLocation
-portletName (possibly use screen name if empty, or just leave this field out)

PortalPage
-portalPageId*

PortalPageColumn
-portalPageId*
-columnSeqId*
-columnWidthPixels: numeric
-columnWidthPercentage: numeric

PortalPagePortlet
-portalPageId*
-portalPortletId*
-columnSeqId: id (note: could be part of pk, would make it always required and 
allow a particular portlet to be on the page multiple time in different 
columns, which might be weird)
-sequenceInColumn: numeric

New Screen Widget "widget element": include-portal-page, attributes: 
portalPageId

The portalPageId value should be expandable so that a variable can be used, 
possibly driven by a drop-down or other UI element so the user can select among 
various portal pages.

Could also have a ControlServlet view handler for portal page, but would have 
problems with decoration that using a simple screen widget include element 
would take care of.

NOTE: each screen used in a portlet should be responsible for it's own 
permissions. May want to add something to the UI for adding portlets to a 
portal page that somehow checks permissions on available pages to not show the 
ones not available to the user. Could be done by always using a permission 
service instead of direct permission checking in screen actions, and then add 
the permissionServiceName to the PortalPortlet entity.



> A portal/portlet implementation
> -------------------------------
>
>                 Key: OFBIZ-1999
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-1999
>             Project: OFBiz
>          Issue Type: New Feature
>          Components: ALL COMPONENTS
>            Reporter: Bruno Busco
>            Priority: Minor
>         Attachments: portal.zip, screenshot-1.jpg, screenshot-2.jpg
>
>
> Hi devs,
> I am trying to set up a portal/portlet model similar to what is implemented 
> into JIRA user interface.
> The Idea is that every component can "register" its selected screens as 
> system portlets using something like:
> <Portlet portletId="WELCOME" name="Welcome" description="Welcome message" 
> screenPath="component://portal/widget/CommonScreens.xml#welcome" />
> In this case the portal component has registered a welcome screen as 
> "WELCOME" portlet.
> The portlets can later be "mounted" into portals with the entity:
>     <PortalPortletAppl portalId="DEFAULT" portletId="WELCOME"      
> columnNum="1" sequenceNum="1" />
>     <PortalPortletAppl portalId="DEFAULT" portletId="LOGIN"        
> columnNum="2" sequenceNum="2" />
>     <PortalPortletAppl portalId="DEFAULT" portletId="PORTLET001"   
> columnNum="1" sequenceNum="2" />
>     <PortalPortletAppl portalId="DEFAULT" portletId="PORTLET002"   
> columnNum="3" sequenceNum="2" />
>     <PortalPortletAppl portalId="DEFAULT" portletId="PORTLET003"   
> columnNum="1" sequenceNum="2" />
> In this case the portlets WELCOME, LOGIN, PORTLET001, PORTLET002 and 
> PORTLET003 are mounted into the DEFAULT portal into the indicated solumns and 
> with the indicated order.
> Every portal is defined by the entity:
> <Portal portalId="DEFAULT" name="Default home portal" description="The 
> default OFBiz portal" owner="admin" />
> And is related to a specific user. So every user can have as many portals he 
> needs and a DEFAULT portal can be defined by the admin.
> In the attached zip file there is a very draft implementation of this that I 
> would like so submit to your attention to share ideas about it and eventually 
> develop together.
> Many thanks for your feedbacks,
> Bruno

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to