加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Developing Portlets

发布时间:2020-12-16 09:35:51 所属栏目:百科 来源:网络整理
导读:http://www.cnblogs.com/Ivan-j2ee/archive/2012/07/26/2610173.html This document explains the way to setup a portlet. Entities Involved How To Setup Screen Setup Entities Involved PortletCategory – Used to define category for portlets. Port

http://www.cnblogs.com/Ivan-j2ee/archive/2012/07/26/2610173.html

This document explains the way to setup a portlet.

  • Entities Involved
    • How To Setup
    • Screen Setup

Entities Involved

  • PortletCategory – Used to define category for portlets.
  • PortalPortlet – All the information about a portlet is stored here.
  • PortletPortletCategory – This associates the portlets with the logical categories.
  • PortalPage – A portal page. Every Portal Page has a owner associated to it (userLoginId). To move a portlet from one Portal Page to another can be done
    • If the logged in user is the owner of the portal page or
    • If the portal page is a system page. (userLoginId="NA")
  • PortalPageColumn – The number of the columns can be defined for a portal page.
  • PortalPagePortlet – The portlets that belong to a portal page.
  • PortalPageAndUserLogin – (View entity PortalPage + UserLoginSecurityGroup) - The portal pages that are accessible to a user if he belongs to certain security group.
  • PortletAttribute – This defines all the attributes of a portlet. For example,to display a portlet,it needs a roleTypeId (attrName) = PLACING_CUSTOMER (attrName).

How To Setup

Here I am taking an example from OOTB implementation to show how do we setup a portlet.
The reference file here is PartyPortletData.xml Data preparation needs to be done as shown bellow this is all done for viewprofile page in partymgr:

Following is the first portlet with its all the associations and details:
<PortletCategory portletCategoryId="PROFILE" description="Profiles"/>
<PortalPortlet portalPortletId="party"
    portletName="Party Info"
    screenName="Party"
    screenLocation="component://party/widget/partymgr/ProfileScreens.xml"
    description="General information about a person or party group"
    screenshot="/images/portlets/party.png"/>
<PortletPortletCategory portalPortletId="party" portletCategoryId="PROFILE"/>
<PortalPage portalPageId="PartyProfile" sequenceNum="0" portalPageName="Party Profile Portal Page" description="Party profile page using flexible Portal technology" ownerUserLoginId="_NA_"/>
<PortalPageColumn portalPageId="PartyProfile" columnSeqId="00001" columnWidthPercentage="50"/>
<PortalPageColumn portalPageId="PartyProfile" columnSeqId="00002"/><!-- no width in pixels or percent,use the rest of the space available -->
<PortalPagePortlet portalPageId="PartyProfile" portalPortletId="party" portletSeqId="00001" columnSeqId="00001" sequenceNum="0"/>

Screen Setup

(OFBiz Trunk)
Now following code works in the screen to have portlets in action:
Trace the screen "viewprofile" from /party/widget/partymgr/PartyScreens.xml. We need to set portalPageId in parameters and include generic screen PortalPageScreen from component://common/widget/CommonScreens.xml
Which is as follows(Reference commit in OFBiz trunk rev. 900156):

<screen name="PortalPageScreen">
    <section>
        <actions>
            <entity-one entity-name="PortalPage" value-field="portalPage"/>
            <get-related value-field="portalPage" relation-name="PortalPageColumn" list="portalPageColumns"/>
            <entity-and entity-name="PortalPagePortletView" list="portalPagePortlets">
                <field-map field-name="portalPageId" from-field="portalPage.portalPageId"/>
            </entity-and>            
        </actions>
        <widgets>
            <platform-specific>
                <html><html-template location="component://common/webcommon/portal/showPortalPage.ftl"/></html>
            </platform-specific>
        </widgets>
    </section>
</screen>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读