You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by er...@apache.org on 2010/04/20 15:57:27 UTC

svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Author: erwan
Date: Tue Apr 20 13:57:26 2010
New Revision: 935923

URL: http://svn.apache.org/viewvc?rev=935923&view=rev
Log:
Adding a whole set of generic portlets. Those are more designed to be customised

Added:
    ofbiz/trunk/framework/common/data/CommonPortletData.xml   (with props)
Modified:
    ofbiz/trunk/framework/common/ofbiz-component.xml
    ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy
    ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
    ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl
    ofbiz/trunk/framework/common/widget/PortalPageForms.xml
    ofbiz/trunk/framework/common/widget/PortalPageScreens.xml
    ofbiz/trunk/framework/common/widget/PortletEditForms.xml

Added: ofbiz/trunk/framework/common/data/CommonPortletData.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/data/CommonPortletData.xml?rev=935923&view=auto
==============================================================================
--- ofbiz/trunk/framework/common/data/CommonPortletData.xml (added)
+++ ofbiz/trunk/framework/common/data/CommonPortletData.xml Tue Apr 20 13:57:26 2010
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+<entity-engine-xml>
+    <PortletCategory portletCategoryId="GENERIC_PORTLET" description="Generics portlets usable for easily parametrize portalPages"/>
+    <PortalPortlet portalPortletId="GenericPortalPage" portletName="Sub PortalPage" screenName="GenericPortalPage" screenLocation="component://common/widget/PortalPageScreens.xml" editFormName="GenericPortalPageParam" editFormLocation="component://common/widget/PortalEditForms.xml" description="a portlet which included a portalPage to be able to have multiple line, each line being a sub page. This portlet has 1 mandatory parameters." securityServiceName="" securityMainAction="VIEW"/>
+    <PortletPortletCategory portalPortletId="GenericPortalPage" portletCategoryId="GENERIC_PORTLET"/>
+    <PortalPortlet portalPortletId="FindGenericEntity" portletName="Entity List simple search criteria" screenName="FindGenericEntity" screenLocation="component://common/widget/PortalPageScreens.xml" editFormName="FindGenericEntityParam" editFormLocation="component://common/widget/PortalEditForms.xml" description="Simple search criteria, only Id (param idName) and description for entityList, result is sent to List${Entity}Area (FindGenericEntityPrtl define this area). This portel has 3 mandatory parameters." securityServiceName="" securityMainAction="VIEW"/>
+    <PortletPortletCategory portalPortletId="FindGenericEntity" portletCategoryId="GENERIC_PORTLET"/>
+    <PortalPortlet portalPortletId="GenericScreenlet" portletName="Screenlet with one screen" screenName="GenericScreenlet" screenLocation="component://common/widget/PortalPageScreens.xml" editFormName="GenericScreenletParam" editFormLocation="component://common/widget/PortalEditForms.xml" description="Simple portlet using screenlet, with one screen. This portlet has 3 mandatory parameters." securityServiceName="" securityMainAction="VIEW"/>
+    <PortletPortletCategory portalPortletId="GenericScreenlet" portletCategoryId="GENERIC_PORTLET"/>
+    <PortalPortlet portalPortletId="GenericScreenletAjax" portletName="Screenlet with one screen called by ajax" screenName="GenericScreenletAjax" screenLocation="component://common/widget/PortalPageScreens.xml" editFormName="GenericScreenletAjaxParam" editFormLocation="component://common/widget/PortalEditForms.xml" description="Simple portlet using screenlet, with one screen which was update by ajax process, so with a div. This portlet has 4 mandatory parameters." securityServiceName="" securityMainAction="VIEW"/>
+    <PortletPortletCategory portalPortletId="GenericScreenletAjax" portletCategoryId="GENERIC_PORTLET"/>
+    <PortalPortlet portalPortletId="GricScltAjaxWithMenu" portletName="Screenlet with one screen, and one menu called by ajax" screenName="GenericScreenletAjaxWithMenu" screenLocation="component://common/widget/PortalPageScreens.xml" editFormName="GenericScreenletAjaxWithMenuParam" editFormLocation="component://common/widget/PortalEditForms.xml" description="Simple portlet using screenlet with a menu, with one screen which was update by ajax process, so with a div. This portlet has 6 mandatory parameters." securityServiceName="" securityMainAction="VIEW"/>
+    <PortletPortletCategory portalPortletId="GricScltAjaxWithMenu" portletCategoryId="GENERIC_PORTLET"/>
+    <PortalPage portalPageId="_NA_" sequenceNum="000" portalPageName="For using genericPortletScreen" description="To be able to have parameters at the portlet level, not PortletPage level" ownerUserLoginId="_NA_"/>
+</entity-engine-xml>

Propchange: ofbiz/trunk/framework/common/data/CommonPortletData.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/framework/common/data/CommonPortletData.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/trunk/framework/common/data/CommonPortletData.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/framework/common/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/ofbiz-component.xml?rev=935923&r1=935922&r2=935923&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/ofbiz-component.xml (original)
+++ ofbiz/trunk/framework/common/ofbiz-component.xml Tue Apr 20 13:57:26 2010
@@ -52,6 +52,7 @@ under the License.
     <entity-resource type="data" reader-name="seed" loader="main" location="data/UnitData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/PeriodData.xml"/>
     <entity-resource type="data" reader-name="seed" loader="main" location="data/DimensionTypeData.xml"/>
+    <entity-resource type="data" reader-name="seed" loader="main" location="data/CommonPortletData.xml"/>
 
     <service-resource type="model" loader="main" location="servicedef/services.xml"/>
     <service-resource type="model" loader="main" location="servicedef/services_cdyne.xml"/>

Modified: ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy?rev=935923&r1=935922&r2=935923&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy (original)
+++ ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy Tue Apr 20 13:57:26 2010
@@ -25,6 +25,16 @@ portalPortletId = request.getAttribute("
 portletSeqId = request.getAttribute("portletSeqId");
 
 portletAttributes = delegator.findList("PortletAttribute",
+                                        EntityCondition.makeCondition([portalPageId : "_NA_", portalPortletId: portalPortletId, portletSeqId: "00000"]),
+                                        null, null, null, false);
+iter = portletAttributes.iterator();
+
+while (iter) {
+  attribute = iter.next();
+  context.put(attribute.attrName, attribute.attrValue);
+}
+
+portletAttributes = delegator.findList("PortletAttribute",
                                         EntityCondition.makeCondition([portalPageId : portalPageId, portalPortletId: portalPortletId, portletSeqId: portletSeqId]),
                                         null, null, null, false);
 

Modified: ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml?rev=935923&r1=935922&r2=935923&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml (original)
+++ ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml Tue Apr 20 13:57:26 2010
@@ -28,6 +28,10 @@ under the License.
         <security https="true" auth="true"/>
         <response name="success" type="view" value="showPortlet"/>
     </request-map>
+    <request-map uri="refreshPortlet">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="showPortletUiLabelDecorator"/>
+    </request-map>
     <request-map uri="showPortletMainDecorator">
         <security https="true" auth="true"/>
         <response name="success" type="view" value="showPortletMainDecorator"/>
@@ -137,6 +141,7 @@ under the License.
     <!-- View Mappings -->
     <view-map name="showPortalPage" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortalPage"/>
     <view-map name="showPortlet" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortlet"/>
+    <view-map name="showPortletUiLabelDecorator" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortletUiLebelDecorator"/>
     <view-map name="showPortletMainDecorator" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortletMainDecorator"/>
     <view-map name="showPortletSimpleDecorator" type="screen" page="component://common/widget/PortalPageScreens.xml#showPortletSimpleDecorator"/>
     <view-map name="ManagePortalPages" type="screen" page="component://common/widget/PortalPageScreens.xml#ManagePortalPages"/>

Modified: ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl?rev=935923&r1=935922&r2=935923&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl (original)
+++ ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl Tue Apr 20 13:57:26 2010
@@ -28,11 +28,18 @@ under the License.
             <#assign portletFields = '<input name="portalPageId" value="' + portlet.portalPageId + '" type="hidden"/><input name="portalPortletId" value="' + portlet.portalPortletId + '" type="hidden"/><input name="portletSeqId" value="' + portlet.portletSeqId  + '" type="hidden"/>'>
             <form method="post" action="<@o...@ofbizUrl>" name="movePP_${portlet_index}">${portletFields}<input name="newPortalPageId" value="${portlet.portalPageId}" type="hidden"/></form>
             <div id="portalPortlet_${portlet_index}" class="noClass">
-            ${setRequestAttribute("portalPageId", portalPage.portalPageId)}
-            ${setRequestAttribute("portalPortletId", portlet.portalPortletId)}
-            ${setRequestAttribute("portletSeqId", portlet.portletSeqId)}
-            ${screens.render(portlet.screenLocation, portlet.screenName)}
-            ${screens.setRenderFormUniqueSeq(portlet_index)}
+              <#assign idRefreshAttr = delegator.findOne("PortletAttribute", {"portalPageId":portlet.portalPageId, "portalPortletId":portlet.portalPortletId, "portletSeqId": portlet.portletSeqId, "attrName": "divIdRefresh"},true)?if_exists />
+              <#if idRefreshAttr?has_content>
+                <div id="${idRefreshAttr.attrValue}">
+              <#else>
+                <div id="${portlet.portalPortletId}_refresh">
+              </#if>
+              ${setRequestAttribute("portalPageId", portalPage.portalPageId)}
+              ${setRequestAttribute("portalPortletId", portlet.portalPortletId)}
+              ${setRequestAttribute("portletSeqId", portlet.portletSeqId)}
+              ${screens.render(portlet.screenLocation, portlet.screenName)}
+              ${screens.setRenderFormUniqueSeq(portlet_index)}
+              </div>
             </div>
             <#-- DragNDrop is only activated, when the portal Page isn't the Default page -->
             <#if portalPage.originalPortalPageId?has_content><script type="text/javascript">setMousePointer("${portlet_index}")</script></#if>

Modified: ofbiz/trunk/framework/common/widget/PortalPageForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortalPageForms.xml?rev=935923&r1=935922&r2=935923&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/widget/PortalPageForms.xml (original)
+++ ofbiz/trunk/framework/common/widget/PortalPageForms.xml Tue Apr 20 13:57:26 2010
@@ -115,7 +115,7 @@ under the License.
         </field>
         <field name="description" title="${uiLabelMap.CommonDescription}"><display/></field>
     </form>
-    
+
     <form name="PortletList" type="list" separate-columns="true" list-name="portlets"
         odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
         <actions>
@@ -128,5 +128,17 @@ under the License.
         </field>
         <field name="description"><display/></field>
     </form>
-    
+
+    <form name="FindGenericEntity" type="single" target="list${entity}" title="" focus-field-name="idName">
+        <field name="hideSearch"><hidden value="Y"/></field>  
+        <field name="idName" title="${uiLabelMap.FormFieldTitle_${pkIdName}"><text size="16"/></field>
+        <field name="idName_op" ><hidden value="contains"/></field>
+        <field name="idName_ic" ><hidden value="Y"/></field>
+        <field name="description" ><text size="16"/></field>
+        <field name="description_op" ><hidden value="contains"/></field>
+        <field name="description_ic" ><hidden value="Y"/></field>
+        <field name="submitButton" title=" " widget-style="smallSubmit">
+            <hyperlink target="javascript:ajaxUpdateArea('List${entity}Area', 'list${entity}', $(FindGenericEntity).serialize());" target-type="plain"  description="${uiLabelMap.CommonSearch}"/>
+        </field>
+    </form>
 </forms>

Modified: ofbiz/trunk/framework/common/widget/PortalPageScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortalPageScreens.xml?rev=935923&r1=935922&r2=935923&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/widget/PortalPageScreens.xml (original)
+++ ofbiz/trunk/framework/common/widget/PortalPageScreens.xml Tue Apr 20 13:57:26 2010
@@ -44,6 +44,17 @@ under the License.
             </widgets>
         </section>
     </screen>
+    <screen name="showPortletUiLabelDecorator">
+        <section>
+            <widgets>
+                <decorator-screen name="uiLabelDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <include-screen name="showPortlet"/>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
     <screen name="showPortletMainDecorator">
         <section>
             <widgets>
@@ -179,4 +190,69 @@ under the License.
             </widgets>
         </section>
     </screen>
+
+    <screen name="GenericPortalPage">
+        <section>
+            <actions>
+                <script location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
+                <set field="portalPageId" value="${pageId}"/>
+            </actions>
+            <widgets>
+                <include-screen name="PortalPageScreen" location="component://common/widget/CommonScreens.xml"/>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="FindGenericEntity">
+        <section>
+            <actions>
+                <script location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
+            </actions>
+            <widgets>
+                <screenlet title="${uiLabelMap.${titleLabel}}">
+                    <include-form name="FindGenericEntity" location="component://common/widget/PortalPageForms.xml"/>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="GenericScreenlet">
+        <section>
+            <actions>
+                <script location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
+            </actions>
+            <widgets>
+                <screenlet title="${uiLabelMap.${titleLabel}}">
+                    <include-form name="${formName}" location="${formLocation}"/>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="GenericScreenletAjax">
+        <section>
+            <actions>
+                <script location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
+            </actions>
+            <widgets>
+                <screenlet title="${uiLabelMap.${titleLabel}}">
+                    <container id="${divIdArea}">
+                        <include-screen name="${screenName}" location="${screenLocation}"/>
+                    </container>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
+    <screen name="GenericScreenletAjaxWithMenu">
+        <section>
+            <actions>
+                <script location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
+            </actions>
+            <widgets>
+                <screenlet title="${uiLabelMap.${titleLabel}}" navigation-menu-name="${menuName}">
+                    <include-menu name="${menuName}" location="${menuLocation}"/>
+                    <container id="${divIdArea}">
+                        <include-screen name="${screenName}" location="${screenLocation}"/>
+                    </container>
+                </screenlet>
+            </widgets>
+        </section>
+    </screen>
 </screens>

Modified: ofbiz/trunk/framework/common/widget/PortletEditForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortletEditForms.xml?rev=935923&r1=935922&r2=935923&view=diff
==============================================================================
--- ofbiz/trunk/framework/common/widget/PortletEditForms.xml (original)
+++ ofbiz/trunk/framework/common/widget/PortletEditForms.xml Tue Apr 20 13:57:26 2010
@@ -33,5 +33,41 @@ under the License.
         <field name="portalPortletId"><hidden value="${parameters.portalPortletId}"/></field>
         <field name="portletSeqId"><hidden value="${parameters.portletSeqId}"/></field>
     </form>
+    <form name="GenericPortalPageParam" extends="CommonPortletEdit">
+        <field name="pageId" required-field="true"><text/></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="FindGenericEntityParam" extends="CommonPortletEdit">
+        <field name="titleLabel" required-field="true"><text/></field>
+        <field name="entity" required-field="true"><text/></field>
+        <field name="pkIdName" required-field="true"><text/></field>
+        <field name="divIdRefresh"><text/></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericScreenletParam" extends="CommonPortletEdit">
+        <field name="titleLabel" required-field="true"><text/></field>
+        <field name="divIdRefresh"><text/></field>
+        <field name="formName" required-field="true"><text/></field>
+        <field name="formLocation" required-field="true"><text/></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericScreenletAjaxParam" extends="CommonPortletEdit">
+        <field name="titleLabel" required-field="true"><text/></field>
+        <field name="divIdRefresh"><text/></field>
+        <field name="divIdArea" required-field="true"><text/></field>
+        <field name="screenName" required-field="true"><text/></field>
+        <field name="screenLocation" required-field="true"><text/></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+    <form name="GenericScreenletAjaxWithMenuParam" extends="CommonPortletEdit">
+        <field name="titleLabel" required-field="true"><text/></field>
+        <field name="divIdRefresh"><text/></field>
+        <field name="divIdArea" required-field="true"><text/></field>
+        <field name="screenName" required-field="true"><text/></field>
+        <field name="screenLocation" required-field="true"><text/></field>
+        <field name="menuName" required-field="true"><text/></field>
+        <field name="menuLocation" required-field="true"><text/></field>
+        <field name="submit" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
 
 </forms>



Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Bruno Busco <br...@gmail.com>.
Wow!
We should say Adam we do not need webslinger any more! ;-)


2010/9/13 Nicolas Malin <ma...@librenberry.net>

> I just understand it :)
>
> When you define a portlet you can use GenericScreenlet to locationScreen
> and pass formLocation and formName by portletAttribute. I think it's really
> useful for customer site when you want to add quickly form in PagePortlet
> without develop new specific file.
>
> Nicolas
>
> Le 13/09/2010 15:11, Bruno Busco a écrit :
>
>  I connot see what is the purpose of a portlet like this:
>>
>>     <screen name="GenericScreenlet">
>>         <section>
>>             <actions>
>>                 <script
>>
>> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>>             </actions>
>>             <widgets>
>>                 <screenlet title="${uiLabelMap.${titleLabel}}"
>> collapsible="true" id="scrlt_${formName}">
>>                     <include-form name="${formName}"
>> location="${formLocation}"/>
>>                 </screenlet>
>>             </widgets>
>>         </section>
>>     </screen>
>>
>> could you please help me?
>> Thank you.
>>
>> 2010/9/13 Erwan de FERRIERES<er...@nereide.fr>
>>
>>
>>
>>> Le 13/09/2010 11:19, Bruno Busco a écrit :
>>>
>>>  Erwan,
>>>
>>>
>>>> the portlet Attributes can already be edited by the user. When you go in
>>>> the
>>>> Admin portal pages there is a little icon on each portlet (the pencil
>>>> with
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>> Hi,
>>>
>>> technical parameters are today used in portletAttributes, but this should
>>> be improved.
>>> One of the goals for those new parameters is to add genericity to
>>> portlets.
>>>
>>>
>>> --
>>> Erwan de FERRIERES
>>> www.nereide.biz
>>>
>>>
>>>
>>
>>
>
>
> --
> Nicolas MALIN
> Consultant
> Tél : 06.17.66.40.06
> Site projet : http://www.neogia.org/
> -------
> Société LibrenBerry
> Tél : 02.48.02.56.12
> Site : http://www.librenberry.net/
>
>

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Nicolas Malin <ma...@librenberry.net>.
I just understand it :)

When you define a portlet you can use GenericScreenlet to locationScreen 
and pass formLocation and formName by portletAttribute. I think it's 
really useful for customer site when you want to add quickly form in 
PagePortlet without develop new specific file.

Nicolas

Le 13/09/2010 15:11, Bruno Busco a écrit :
> I connot see what is the purpose of a portlet like this:
>
>      <screen name="GenericScreenlet">
>          <section>
>              <actions>
>                  <script
> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>              </actions>
>              <widgets>
>                  <screenlet title="${uiLabelMap.${titleLabel}}"
> collapsible="true" id="scrlt_${formName}">
>                      <include-form name="${formName}"
> location="${formLocation}"/>
>                  </screenlet>
>              </widgets>
>          </section>
>      </screen>
>
> could you please help me?
> Thank you.
>
> 2010/9/13 Erwan de FERRIERES<er...@nereide.fr>
>
>    
>> Le 13/09/2010 11:19, Bruno Busco a écrit :
>>
>>   Erwan,
>>      
>>> the portlet Attributes can already be edited by the user. When you go in
>>> the
>>> Admin portal pages there is a little icon on each portlet (the pencil with
>>>
>>>        
>>>>
>>>>          
>>>        
>> Hi,
>>
>> technical parameters are today used in portletAttributes, but this should
>> be improved.
>> One of the goals for those new parameters is to add genericity to portlets.
>>
>>
>> --
>> Erwan de FERRIERES
>> www.nereide.biz
>>
>>      
>    


-- 
Nicolas MALIN
Consultant
Tél : 06.17.66.40.06
Site projet : http://www.neogia.org/
-------
Société LibrenBerry
Tél : 02.48.02.56.12
Site : http://www.librenberry.net/


Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by BJ Freeman <bj...@free-man.net>.
like to see this in the commit log

Bruno Busco sent the following on 9/18/2010 12:46 PM:
> I think there are already too many generic portlets.
> The portlet attributes were not thought to be used to change the actual form
> a generic portlet will render, the actual menu, etc. They were supposed to
> be used by the end user to customiza the portlet just like JIRA does.
> In any case I will start committing other changes to the portlet system
> (transforming to widget) and then I will come back on this theme.
>
> -Bruno
>
> 2010/9/18 Jacques Le Roux<ja...@les7arts.com>
>
>> Erwan, Bruno,
>>
>> Do you agree on Nicolas's proposition, other opinions?
>>
>> Jacques
>>
>> From: "Nicolas Malin"<ma...@librenberry.net>
>>
>>   I think they are to different visions between you and erwan.
>>> With a developper POV it's really easy to define new portlets as you do.
>>> With a more functionnal POV, I know many person that prefer create small
>>> portlets by reusing existing code  definition in database to design customer
>>> sites instead of creating a new file/code.
>>>
>>> I haven't an opinion on the issue, perhaps there is a possibility to
>>> manage the two solutions. I suggest that we create in common a file
>>> GenericPagePortlet.xml with an explanation on how to use each of them ?
>>>
>>> Nicolas
>>>
>>>
>>> Bruno Busco a écrit :
>>>
>>>> I would simply write:
>>>>
>>>>     <screen name="MyPortletScreen">
>>>>         <section>
>>>>             <widgets>
>>>>                 <screenlet title="${uiLabelMap.MyPortletScreenTitle}"
>>>> collapsible="true" id="scrlt_findWorkflowType">
>>>>                     <include-form name="findWorkflowType"
>>>> location="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>>>                 </screenlet>
>>>>             </widgets>
>>>>         </section>
>>>>     </screen>
>>>>
>>>>     <PortalPortlet portalPortletId="TActWorkflowMgm"  portletName="My
>>>> specific portlet name that I could not write"
>>>>         screenName="MyPortletScreen"
>>>> screenLocation="component://tcm/widget/tcm/IntervTypesScreens.xml"
>>>>         description="My specific portlet description that I could not
>>>> write"/>
>>>>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>>>> portalPortletId="TActWorkflowMgm" portletSeqId="00001"
>>>> columnSeqId="00001"
>>>> sequenceNum="5"/>
>>>>
>>>> And I could add more like groovy script calling, specific UILabel
>>>> resources
>>>> loading etc.
>>>> It is not so much code...
>>>>
>>>> -Bruno
>>>>
>>>> 2010/9/13 Bruno Busco<br...@gmail.com>
>>>>
>>>>
>>>>   I do not see the benefit if you still need to add entity definition in
>>>>> the
>>>>> XML data file.
>>>>>
>>>>>
>>>>> 2010/9/13 Erwan de FERRIERES<er...@nereide.fr>
>>>>>
>>>>>
>>>>>   Le 13/09/2010 15:11, Bruno Busco a écrit :
>>>>>>
>>>>>>
>>>>>>   I connot see what is the purpose of a portlet like this:
>>>>>>>
>>>>>>>
>>>>>>>     <screen name="GenericScreenlet">
>>>>>>>         <section>
>>>>>>>             <actions>
>>>>>>>                 <script
>>>>>>>
>>>>>>>
>>>>>>> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>>>>>>>             </actions>
>>>>>>>             <widgets>
>>>>>>>                 <screenlet title="${uiLabelMap.${titleLabel}}"
>>>>>>> collapsible="true" id="scrlt_${formName}">
>>>>>>>                     <include-form name="${formName}"
>>>>>>> location="${formLocation}"/>
>>>>>>>                 </screenlet>
>>>>>>>             </widgets>
>>>>>>>         </section>
>>>>>>>     </screen>
>>>>>>>
>>>>>>> could you please help me?
>>>>>>> Thank you.
>>>>>>>
>>>>>>>   Here is an example on how to use it :
>>>>>>>
>>>>>>>      <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>>>>>> portalPortletId="GenericScreenlet" portletSeqId="00001"
>>>>>> columnSeqId="00001"
>>>>>> sequenceNum="5"/>
>>>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>>>> portalPortletId="GenericScreenlet" attrName="titleLabel"
>>>>>> attrValue="PageTitleTActWorkflowMgmt"/>
>>>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>>>> portalPortletId="GenericScreenlet" attrName="formName"
>>>>>> attrValue="findWorkflowType"/>
>>>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>>>> portalPortletId="GenericScreenlet" attrName="formLocation"
>>>>>> attrValue="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>>>>>
>>>>>> As you can see, we are just defining the simple parameters for a form,
>>>>>> and
>>>>>> it's included as a portlet in a portal
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Erwan de FERRIERES
>>>>>> www.nereide.biz
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
>>
>


Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Bruno Busco <br...@gmail.com>.
I think there are already too many generic portlets.
The portlet attributes were not thought to be used to change the actual form
a generic portlet will render, the actual menu, etc. They were supposed to
be used by the end user to customiza the portlet just like JIRA does.
In any case I will start committing other changes to the portlet system
(transforming to widget) and then I will come back on this theme.

-Bruno

2010/9/18 Jacques Le Roux <ja...@les7arts.com>

> Erwan, Bruno,
>
> Do you agree on Nicolas's proposition, other opinions?
>
> Jacques
>
> From: "Nicolas Malin" <ma...@librenberry.net>
>
>  I think they are to different visions between you and erwan.
>> With a developper POV it's really easy to define new portlets as you do.
>> With a more functionnal POV, I know many person that prefer create small
>> portlets by reusing existing code  definition in database to design customer
>> sites instead of creating a new file/code.
>>
>> I haven't an opinion on the issue, perhaps there is a possibility to
>> manage the two solutions. I suggest that we create in common a file
>> GenericPagePortlet.xml with an explanation on how to use each of them ?
>>
>> Nicolas
>>
>>
>> Bruno Busco a écrit :
>>
>>> I would simply write:
>>>
>>>    <screen name="MyPortletScreen">
>>>        <section>
>>>            <widgets>
>>>                <screenlet title="${uiLabelMap.MyPortletScreenTitle}"
>>> collapsible="true" id="scrlt_findWorkflowType">
>>>                    <include-form name="findWorkflowType"
>>> location="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>>                </screenlet>
>>>            </widgets>
>>>        </section>
>>>    </screen>
>>>
>>>    <PortalPortlet portalPortletId="TActWorkflowMgm"  portletName="My
>>> specific portlet name that I could not write"
>>>        screenName="MyPortletScreen"
>>> screenLocation="component://tcm/widget/tcm/IntervTypesScreens.xml"
>>>        description="My specific portlet description that I could not
>>> write"/>
>>>    <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>>> portalPortletId="TActWorkflowMgm" portletSeqId="00001"
>>> columnSeqId="00001"
>>> sequenceNum="5"/>
>>>
>>> And I could add more like groovy script calling, specific UILabel
>>> resources
>>> loading etc.
>>> It is not so much code...
>>>
>>> -Bruno
>>>
>>> 2010/9/13 Bruno Busco <br...@gmail.com>
>>>
>>>
>>>  I do not see the benefit if you still need to add entity definition in
>>>> the
>>>> XML data file.
>>>>
>>>>
>>>> 2010/9/13 Erwan de FERRIERES <er...@nereide.fr>
>>>>
>>>>
>>>>  Le 13/09/2010 15:11, Bruno Busco a écrit :
>>>>>
>>>>>
>>>>>  I connot see what is the purpose of a portlet like this:
>>>>>>
>>>>>>
>>>>>>    <screen name="GenericScreenlet">
>>>>>>        <section>
>>>>>>            <actions>
>>>>>>                <script
>>>>>>
>>>>>>
>>>>>> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>>>>>>            </actions>
>>>>>>            <widgets>
>>>>>>                <screenlet title="${uiLabelMap.${titleLabel}}"
>>>>>> collapsible="true" id="scrlt_${formName}">
>>>>>>                    <include-form name="${formName}"
>>>>>> location="${formLocation}"/>
>>>>>>                </screenlet>
>>>>>>            </widgets>
>>>>>>        </section>
>>>>>>    </screen>
>>>>>>
>>>>>> could you please help me?
>>>>>> Thank you.
>>>>>>
>>>>>>  Here is an example on how to use it :
>>>>>>
>>>>>>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>>>>> portalPortletId="GenericScreenlet" portletSeqId="00001"
>>>>> columnSeqId="00001"
>>>>> sequenceNum="5"/>
>>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>>> portalPortletId="GenericScreenlet" attrName="titleLabel"
>>>>> attrValue="PageTitleTActWorkflowMgmt"/>
>>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>>> portalPortletId="GenericScreenlet" attrName="formName"
>>>>> attrValue="findWorkflowType"/>
>>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>>> portalPortletId="GenericScreenlet" attrName="formLocation"
>>>>> attrValue="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>>>>
>>>>> As you can see, we are just defining the simple parameters for a form,
>>>>> and
>>>>> it's included as a portlet in a portal
>>>>>
>>>>>
>>>>> --
>>>>> Erwan de FERRIERES
>>>>> www.nereide.biz
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
>

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Jacques Le Roux <ja...@les7arts.com>.
Erwan, Bruno,

Do you agree on Nicolas's proposition, other opinions?

Jacques

From: "Nicolas Malin" <ma...@librenberry.net>
>I think they are to different visions between you and erwan.
> With a developper POV it's really easy to define new portlets as you do.
> With a more functionnal POV, I know many person that prefer create small portlets by reusing existing code  definition in database 
> to design customer sites instead of creating a new file/code.
>
> I haven't an opinion on the issue, perhaps there is a possibility to manage the two solutions. I suggest that we create in common 
> a file GenericPagePortlet.xml with an explanation on how to use each of them ?
>
> Nicolas
>
>
> Bruno Busco a écrit :
>> I would simply write:
>>
>>     <screen name="MyPortletScreen">
>>         <section>
>>             <widgets>
>>                 <screenlet title="${uiLabelMap.MyPortletScreenTitle}"
>> collapsible="true" id="scrlt_findWorkflowType">
>>                     <include-form name="findWorkflowType"
>> location="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>                 </screenlet>
>>             </widgets>
>>         </section>
>>     </screen>
>>
>>     <PortalPortlet portalPortletId="TActWorkflowMgm"  portletName="My
>> specific portlet name that I could not write"
>>         screenName="MyPortletScreen"
>> screenLocation="component://tcm/widget/tcm/IntervTypesScreens.xml"
>>         description="My specific portlet description that I could not
>> write"/>
>>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>> portalPortletId="TActWorkflowMgm" portletSeqId="00001" columnSeqId="00001"
>> sequenceNum="5"/>
>>
>> And I could add more like groovy script calling, specific UILabel resources
>> loading etc.
>> It is not so much code...
>>
>> -Bruno
>>
>> 2010/9/13 Bruno Busco <br...@gmail.com>
>>
>>
>>> I do not see the benefit if you still need to add entity definition in the
>>> XML data file.
>>>
>>>
>>> 2010/9/13 Erwan de FERRIERES <er...@nereide.fr>
>>>
>>>
>>>> Le 13/09/2010 15:11, Bruno Busco a écrit :
>>>>
>>>>
>>>>> I connot see what is the purpose of a portlet like this:
>>>>>
>>>>>
>>>>>     <screen name="GenericScreenlet">
>>>>>         <section>
>>>>>             <actions>
>>>>>                 <script
>>>>>
>>>>> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>>>>>             </actions>
>>>>>             <widgets>
>>>>>                 <screenlet title="${uiLabelMap.${titleLabel}}"
>>>>> collapsible="true" id="scrlt_${formName}">
>>>>>                     <include-form name="${formName}"
>>>>> location="${formLocation}"/>
>>>>>                 </screenlet>
>>>>>             </widgets>
>>>>>         </section>
>>>>>     </screen>
>>>>>
>>>>> could you please help me?
>>>>> Thank you.
>>>>>
>>>>>  Here is an example on how to use it :
>>>>>
>>>>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>>>> portalPortletId="GenericScreenlet" portletSeqId="00001" columnSeqId="00001"
>>>> sequenceNum="5"/>
>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>> portalPortletId="GenericScreenlet" attrName="titleLabel"
>>>> attrValue="PageTitleTActWorkflowMgmt"/>
>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>> portalPortletId="GenericScreenlet" attrName="formName"
>>>> attrValue="findWorkflowType"/>
>>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>>> portalPortletId="GenericScreenlet" attrName="formLocation"
>>>> attrValue="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>>>
>>>> As you can see, we are just defining the simple parameters for a form, and
>>>> it's included as a portlet in a portal
>>>>
>>>>
>>>> --
>>>> Erwan de FERRIERES
>>>> www.nereide.biz
>>>>
>>>>
>>>
>>
>>
> 



Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Nicolas Malin <ma...@librenberry.net>.
I think they are to different visions between you and erwan.
With a developper POV it's really easy to define new portlets as you do.
With a more functionnal POV, I know many person that prefer create small 
portlets by reusing existing code  definition in database to design 
customer sites instead of creating a new file/code.

I haven't an opinion on the issue, perhaps there is a possibility to 
manage the two solutions. I suggest that we create in common a file 
GenericPagePortlet.xml with an explanation on how to use each of them ?

Nicolas


Bruno Busco a écrit :
> I would simply write:
>
>     <screen name="MyPortletScreen">
>         <section>
>             <widgets>
>                 <screenlet title="${uiLabelMap.MyPortletScreenTitle}"
> collapsible="true" id="scrlt_findWorkflowType">
>                     <include-form name="findWorkflowType"
> location="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>                 </screenlet>
>             </widgets>
>         </section>
>     </screen>
>
>     <PortalPortlet portalPortletId="TActWorkflowMgm"  portletName="My
> specific portlet name that I could not write"
>         screenName="MyPortletScreen"
> screenLocation="component://tcm/widget/tcm/IntervTypesScreens.xml"
>         description="My specific portlet description that I could not
> write"/>
>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
> portalPortletId="TActWorkflowMgm" portletSeqId="00001" columnSeqId="00001"
> sequenceNum="5"/>
>
> And I could add more like groovy script calling, specific UILabel resources
> loading etc.
> It is not so much code...
>
> -Bruno
>
> 2010/9/13 Bruno Busco <br...@gmail.com>
>
>   
>> I do not see the benefit if you still need to add entity definition in the
>> XML data file.
>>
>>
>> 2010/9/13 Erwan de FERRIERES <er...@nereide.fr>
>>
>>     
>>> Le 13/09/2010 15:11, Bruno Busco a écrit :
>>>
>>>       
>>>> I connot see what is the purpose of a portlet like this:
>>>>
>>>>
>>>>     <screen name="GenericScreenlet">
>>>>         <section>
>>>>             <actions>
>>>>                 <script
>>>>
>>>> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>>>>             </actions>
>>>>             <widgets>
>>>>                 <screenlet title="${uiLabelMap.${titleLabel}}"
>>>> collapsible="true" id="scrlt_${formName}">
>>>>                     <include-form name="${formName}"
>>>> location="${formLocation}"/>
>>>>                 </screenlet>
>>>>             </widgets>
>>>>         </section>
>>>>     </screen>
>>>>
>>>> could you please help me?
>>>> Thank you.
>>>>
>>>>  Here is an example on how to use it :
>>>>         
>>>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>>> portalPortletId="GenericScreenlet" portletSeqId="00001" columnSeqId="00001"
>>> sequenceNum="5"/>
>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>> portalPortletId="GenericScreenlet" attrName="titleLabel"
>>> attrValue="PageTitleTActWorkflowMgmt"/>
>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>> portalPortletId="GenericScreenlet" attrName="formName"
>>> attrValue="findWorkflowType"/>
>>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>>> portalPortletId="GenericScreenlet" attrName="formLocation"
>>> attrValue="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>>
>>> As you can see, we are just defining the simple parameters for a form, and
>>> it's included as a portlet in a portal
>>>
>>>
>>> --
>>> Erwan de FERRIERES
>>> www.nereide.biz
>>>
>>>       
>>     
>
>   


Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Bruno Busco <br...@gmail.com>.
I would simply write:

    <screen name="MyPortletScreen">
        <section>
            <widgets>
                <screenlet title="${uiLabelMap.MyPortletScreenTitle}"
collapsible="true" id="scrlt_findWorkflowType">
                    <include-form name="findWorkflowType"
location="component://tcm/widget/tcm/IntervTypesForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>

    <PortalPortlet portalPortletId="TActWorkflowMgm"  portletName="My
specific portlet name that I could not write"
        screenName="MyPortletScreen"
screenLocation="component://tcm/widget/tcm/IntervTypesScreens.xml"
        description="My specific portlet description that I could not
write"/>
    <PortalPagePortlet portalPageId="TActWorkflowMgmt"
portalPortletId="TActWorkflowMgm" portletSeqId="00001" columnSeqId="00001"
sequenceNum="5"/>

And I could add more like groovy script calling, specific UILabel resources
loading etc.
It is not so much code...

-Bruno

2010/9/13 Bruno Busco <br...@gmail.com>

> I do not see the benefit if you still need to add entity definition in the
> XML data file.
>
>
> 2010/9/13 Erwan de FERRIERES <er...@nereide.fr>
>
>> Le 13/09/2010 15:11, Bruno Busco a écrit :
>>
>>> I connot see what is the purpose of a portlet like this:
>>>
>>>
>>>     <screen name="GenericScreenlet">
>>>         <section>
>>>             <actions>
>>>                 <script
>>>
>>> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>>>             </actions>
>>>             <widgets>
>>>                 <screenlet title="${uiLabelMap.${titleLabel}}"
>>> collapsible="true" id="scrlt_${formName}">
>>>                     <include-form name="${formName}"
>>> location="${formLocation}"/>
>>>                 </screenlet>
>>>             </widgets>
>>>         </section>
>>>     </screen>
>>>
>>> could you please help me?
>>> Thank you.
>>>
>>>  Here is an example on how to use it :
>>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
>> portalPortletId="GenericScreenlet" portletSeqId="00001" columnSeqId="00001"
>> sequenceNum="5"/>
>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>> portalPortletId="GenericScreenlet" attrName="titleLabel"
>> attrValue="PageTitleTActWorkflowMgmt"/>
>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>> portalPortletId="GenericScreenlet" attrName="formName"
>> attrValue="findWorkflowType"/>
>> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
>> portalPortletId="GenericScreenlet" attrName="formLocation"
>> attrValue="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>>
>> As you can see, we are just defining the simple parameters for a form, and
>> it's included as a portlet in a portal
>>
>>
>> --
>> Erwan de FERRIERES
>> www.nereide.biz
>>
>
>

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Bruno Busco <br...@gmail.com>.
I do not see the benefit if you still need to add entity definition in the
XML data file.


2010/9/13 Erwan de FERRIERES <er...@nereide.fr>

> Le 13/09/2010 15:11, Bruno Busco a écrit :
>
>> I connot see what is the purpose of a portlet like this:
>>
>>
>>     <screen name="GenericScreenlet">
>>         <section>
>>             <actions>
>>                 <script
>>
>> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>>             </actions>
>>             <widgets>
>>                 <screenlet title="${uiLabelMap.${titleLabel}}"
>> collapsible="true" id="scrlt_${formName}">
>>                     <include-form name="${formName}"
>> location="${formLocation}"/>
>>                 </screenlet>
>>             </widgets>
>>         </section>
>>     </screen>
>>
>> could you please help me?
>> Thank you.
>>
>>  Here is an example on how to use it :
>     <PortalPagePortlet portalPageId="TActWorkflowMgmt"
> portalPortletId="GenericScreenlet" portletSeqId="00001" columnSeqId="00001"
> sequenceNum="5"/>
> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
> portalPortletId="GenericScreenlet" attrName="titleLabel"
> attrValue="PageTitleTActWorkflowMgmt"/>
> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
> portalPortletId="GenericScreenlet" attrName="formName"
> attrValue="findWorkflowType"/>
> <PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001"
> portalPortletId="GenericScreenlet" attrName="formLocation"
> attrValue="component://tcm/widget/tcm/IntervTypesForms.xml"/>
>
> As you can see, we are just defining the simple parameters for a form, and
> it's included as a portlet in a portal
>
>
> --
> Erwan de FERRIERES
> www.nereide.biz
>

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Erwan de FERRIERES <er...@nereide.fr>.
Le 13/09/2010 15:11, Bruno Busco a écrit :
> I connot see what is the purpose of a portlet like this:
>
>      <screen name="GenericScreenlet">
>          <section>
>              <actions>
>                  <script
> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
>              </actions>
>              <widgets>
>                  <screenlet title="${uiLabelMap.${titleLabel}}"
> collapsible="true" id="scrlt_${formName}">
>                      <include-form name="${formName}"
> location="${formLocation}"/>
>                  </screenlet>
>              </widgets>
>          </section>
>      </screen>
>
> could you please help me?
> Thank you.
>
Here is an example on how to use it :
      <PortalPagePortlet portalPageId="TActWorkflowMgmt" 
portalPortletId="GenericScreenlet" portletSeqId="00001" 
columnSeqId="00001" sequenceNum="5"/>
<PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001" 
portalPortletId="GenericScreenlet" attrName="titleLabel" 
attrValue="PageTitleTActWorkflowMgmt"/>
<PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001" 
portalPortletId="GenericScreenlet" attrName="formName" 
attrValue="findWorkflowType"/>
<PortletAttribute portalPageId="TActWorkflowMgmt" portletSeqId="00001" 
portalPortletId="GenericScreenlet" attrName="formLocation" 
attrValue="component://tcm/widget/tcm/IntervTypesForms.xml"/>

As you can see, we are just defining the simple parameters for a form, 
and it's included as a portlet in a portal

-- 
Erwan de FERRIERES
www.nereide.biz

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Bruno Busco <br...@gmail.com>.
I connot see what is the purpose of a portlet like this:

    <screen name="GenericScreenlet">
        <section>
            <actions>
                <script
location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
            </actions>
            <widgets>
                <screenlet title="${uiLabelMap.${titleLabel}}"
collapsible="true" id="scrlt_${formName}">
                    <include-form name="${formName}"
location="${formLocation}"/>
                </screenlet>
            </widgets>
        </section>
    </screen>

could you please help me?
Thank you.

2010/9/13 Erwan de FERRIERES <er...@nereide.fr>

> Le 13/09/2010 11:19, Bruno Busco a écrit :
>
>  Erwan,
>> the portlet Attributes can already be edited by the user. When you go in
>> the
>> Admin portal pages there is a little icon on each portlet (the pencil with
>>
>>>
>>>
>>
> Hi,
>
> technical parameters are today used in portletAttributes, but this should
> be improved.
> One of the goals for those new parameters is to add genericity to portlets.
>
>
> --
> Erwan de FERRIERES
> www.nereide.biz
>

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Erwan de FERRIERES <er...@nereide.fr>.
Le 13/09/2010 11:19, Bruno Busco a écrit :
> Erwan,
> the portlet Attributes can already be edited by the user. When you go in the
> Admin portal pages there is a little icon on each portlet (the pencil with
>>
>

Hi,

technical parameters are today used in portletAttributes, but this 
should be improved.
One of the goals for those new parameters is to add genericity to portlets.

-- 
Erwan de FERRIERES
www.nereide.biz

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Bruno Busco <br...@gmail.com>.
Erwan,
the portlet Attributes can already be edited by the user. When you go in the
Admin portal pages there is a little icon on each portlet (the pencil with
the paper) that allows the user to access the parameter edit form. The icon
is only visible if the portlet has the edit form registered.
All this was done trying to emulate the portlet that you can find in JIRA.
If you try the dashboard in JIRA you will see the kind of attributes you
will be able to edit in a portlet. For sure you are not allowed to change
the actual screen the portlet renders.
This expose the system in a way that a user could change the screen a
portlet renders to ANY screen by only knowing its name and location.
This is definitively not what the intial portlet system was supposed to do.

Please give a look to these pages I wrote when the Portlet system was
designed. They are not updated but still useful.

https://cwiki.apache.org/confluence/display/OFBIZ/Configurable+Dashboard
https://cwiki.apache.org/confluence/display/OFBIZ/Customizing+the+Dashboard

-Bruno


2010/9/13 Erwan de FERRIERES <er...@nereide.fr>

> Le 12/09/2010 10:37, Bruno Busco a écrit :
>
>  Sorry to comment this commit very late.
>> I am looking into the PortalPortlet system how it is now. IMO it is now
>> too
>> complicated with the portlet attribute feature not used as supposed by the
>> original design.
>>
>> The generic portlets added with this commit use the Portlet Attribute
>> system
>> to actually render a screenlet defined by the portlet attributes.
>> There is a portlet to show a GenericScreenlet, this defines a
>> (collapsible)
>> screenlet retrieves the screenlet title from a portlet attribute, and
>> include a form selected by means of other portlet attributes.
>> Then we have similar additional portlets GenericScreenletAjax,
>> GenericScreenletAjaxWithMenu that add more features using more attributes.
>>
>> How is all this useful?
>> The original idea behind the portlet attributes was to offer to the user a
>> portlet (but not so much generic) that could be customized is some way.
>> Examples of Attributes usage could be:
>> - A portlet lists all new orders or new communications. Attributes could
>> be
>> used to limit the max number of orders to be displayed, or the order
>> status
>> etc.
>>
>> The Generic portlets added in this commit use the Attributes to select the
>> actual screen to render, the menu to include etc. So the attributes are
>> not
>> intended to be used by the user any more but by the developer.
>> So how do they differ from Decorators that are already designed for this.
>>
>> I propose to eliminate all this stuff. It seems to me just more things to
>> know to use OFBiz and do not add any real feature.
>>
>> Thank you,
>> -Bruno
>>
>>
> Hi Bruno,
>
> I must say I disagree with you on this. Those porlets should be seen as
> kind of decorators. Those generic portlets are useful and  help in quickly
> creating new interfaces.
>
> maybe it's the use of the term portletAttributes which bothers you ? If you
> have a better idea on how to handle this, we may discuss it. But frankly,
> this is working great and add a new funtionality to the portal system. If
> you want a detailed wiki page, or maybe an admin page, where users can
> select those attributes for a portlet, this could be arranged.
>
> HTH,
>
> --
> Erwan de FERRIERES
> www.nereide.biz
>

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Erwan de FERRIERES <er...@nereide.fr>.
Le 12/09/2010 10:37, Bruno Busco a écrit :
> Sorry to comment this commit very late.
> I am looking into the PortalPortlet system how it is now. IMO it is now too
> complicated with the portlet attribute feature not used as supposed by the
> original design.
>
> The generic portlets added with this commit use the Portlet Attribute system
> to actually render a screenlet defined by the portlet attributes.
> There is a portlet to show a GenericScreenlet, this defines a (collapsible)
> screenlet retrieves the screenlet title from a portlet attribute, and
> include a form selected by means of other portlet attributes.
> Then we have similar additional portlets GenericScreenletAjax,
> GenericScreenletAjaxWithMenu that add more features using more attributes.
>
> How is all this useful?
> The original idea behind the portlet attributes was to offer to the user a
> portlet (but not so much generic) that could be customized is some way.
> Examples of Attributes usage could be:
> - A portlet lists all new orders or new communications. Attributes could be
> used to limit the max number of orders to be displayed, or the order status
> etc.
>
> The Generic portlets added in this commit use the Attributes to select the
> actual screen to render, the menu to include etc. So the attributes are not
> intended to be used by the user any more but by the developer.
> So how do they differ from Decorators that are already designed for this.
>
> I propose to eliminate all this stuff. It seems to me just more things to
> know to use OFBiz and do not add any real feature.
>
> Thank you,
> -Bruno
>

Hi Bruno,

I must say I disagree with you on this. Those porlets should be seen as 
kind of decorators. Those generic portlets are useful and  help in 
quickly creating new interfaces.

maybe it's the use of the term portletAttributes which bothers you ? If 
you have a better idea on how to handle this, we may discuss it. But 
frankly, this is working great and add a new funtionality to the portal 
system. If you want a detailed wiki page, or maybe an admin page, where 
users can select those attributes for a portlet, this could be arranged.

HTH,

-- 
Erwan de FERRIERES
www.nereide.biz

Re: svn commit: r935923 - in /ofbiz/trunk/framework/common: ./ data/ webcommon/WEB-INF/ webcommon/WEB-INF/actions/includes/ webcommon/portal/ widget/

Posted by Bruno Busco <br...@gmail.com>.
Sorry to comment this commit very late.
I am looking into the PortalPortlet system how it is now. IMO it is now too
complicated with the portlet attribute feature not used as supposed by the
original design.

The generic portlets added with this commit use the Portlet Attribute system
to actually render a screenlet defined by the portlet attributes.
There is a portlet to show a GenericScreenlet, this defines a (collapsible)
screenlet retrieves the screenlet title from a portlet attribute, and
include a form selected by means of other portlet attributes.
Then we have similar additional portlets GenericScreenletAjax,
GenericScreenletAjaxWithMenu that add more features using more attributes.

How is all this useful?
The original idea behind the portlet attributes was to offer to the user a
portlet (but not so much generic) that could be customized is some way.
Examples of Attributes usage could be:
- A portlet lists all new orders or new communications. Attributes could be
used to limit the max number of orders to be displayed, or the order status
etc.

The Generic portlets added in this commit use the Attributes to select the
actual screen to render, the menu to include etc. So the attributes are not
intended to be used by the user any more but by the developer.
So how do they differ from Decorators that are already designed for this.

I propose to eliminate all this stuff. It seems to me just more things to
know to use OFBiz and do not add any real feature.

Thank you,
-Bruno

2010/4/20 <er...@apache.org>

> Author: erwan
> Date: Tue Apr 20 13:57:26 2010
> New Revision: 935923
>
> URL: http://svn.apache.org/viewvc?rev=935923&view=rev
> Log:
> Adding a whole set of generic portlets. Those are more designed to be
> customised
>
> Added:
>    ofbiz/trunk/framework/common/data/CommonPortletData.xml   (with props)
> Modified:
>    ofbiz/trunk/framework/common/ofbiz-component.xml
>
>  ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy
>    ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
>    ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl
>    ofbiz/trunk/framework/common/widget/PortalPageForms.xml
>    ofbiz/trunk/framework/common/widget/PortalPageScreens.xml
>    ofbiz/trunk/framework/common/widget/PortletEditForms.xml
>
> Added: ofbiz/trunk/framework/common/data/CommonPortletData.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/data/CommonPortletData.xml?rev=935923&view=auto
>
> ==============================================================================
> --- ofbiz/trunk/framework/common/data/CommonPortletData.xml (added)
> +++ ofbiz/trunk/framework/common/data/CommonPortletData.xml Tue Apr 20
> 13:57:26 2010
> @@ -0,0 +1,33 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<!--
> +    Licensed to the Apache Software Foundation (ASF) under one
> +    or more contributor license agreements.  See the NOTICE file
> +    distributed with this work for additional information
> +    regarding copyright ownership.  The ASF licenses this file
> +    to you under the Apache License, Version 2.0 (the
> +    "License"); you may not use this file except in compliance
> +    with the License.  You may obtain a copy of the License at
> +
> +    http://www.apache.org/licenses/LICENSE-2.0
> +
> +    Unless required by applicable law or agreed to in writing,
> +    software distributed under the License is distributed on an
> +    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> +    KIND, either express or implied.  See the License for the
> +    specific language governing permissions and limitations
> +    under the License.
> +-->
> +<entity-engine-xml>
> +    <PortletCategory portletCategoryId="GENERIC_PORTLET"
> description="Generics portlets usable for easily parametrize portalPages"/>
> +    <PortalPortlet portalPortletId="GenericPortalPage" portletName="Sub
> PortalPage" screenName="GenericPortalPage"
> screenLocation="component://common/widget/PortalPageScreens.xml"
> editFormName="GenericPortalPageParam"
> editFormLocation="component://common/widget/PortalEditForms.xml"
> description="a portlet which included a portalPage to be able to have
> multiple line, each line being a sub page. This portlet has 1 mandatory
> parameters." securityServiceName="" securityMainAction="VIEW"/>
> +    <PortletPortletCategory portalPortletId="GenericPortalPage"
> portletCategoryId="GENERIC_PORTLET"/>
> +    <PortalPortlet portalPortletId="FindGenericEntity" portletName="Entity
> List simple search criteria" screenName="FindGenericEntity"
> screenLocation="component://common/widget/PortalPageScreens.xml"
> editFormName="FindGenericEntityParam"
> editFormLocation="component://common/widget/PortalEditForms.xml"
> description="Simple search criteria, only Id (param idName) and description
> for entityList, result is sent to List${Entity}Area (FindGenericEntityPrtl
> define this area). This portel has 3 mandatory parameters."
> securityServiceName="" securityMainAction="VIEW"/>
> +    <PortletPortletCategory portalPortletId="FindGenericEntity"
> portletCategoryId="GENERIC_PORTLET"/>
> +    <PortalPortlet portalPortletId="GenericScreenlet"
> portletName="Screenlet with one screen" screenName="GenericScreenlet"
> screenLocation="component://common/widget/PortalPageScreens.xml"
> editFormName="GenericScreenletParam"
> editFormLocation="component://common/widget/PortalEditForms.xml"
> description="Simple portlet using screenlet, with one screen. This portlet
> has 3 mandatory parameters." securityServiceName=""
> securityMainAction="VIEW"/>
> +    <PortletPortletCategory portalPortletId="GenericScreenlet"
> portletCategoryId="GENERIC_PORTLET"/>
> +    <PortalPortlet portalPortletId="GenericScreenletAjax"
> portletName="Screenlet with one screen called by ajax"
> screenName="GenericScreenletAjax"
> screenLocation="component://common/widget/PortalPageScreens.xml"
> editFormName="GenericScreenletAjaxParam"
> editFormLocation="component://common/widget/PortalEditForms.xml"
> description="Simple portlet using screenlet, with one screen which was
> update by ajax process, so with a div. This portlet has 4 mandatory
> parameters." securityServiceName="" securityMainAction="VIEW"/>
> +    <PortletPortletCategory portalPortletId="GenericScreenletAjax"
> portletCategoryId="GENERIC_PORTLET"/>
> +    <PortalPortlet portalPortletId="GricScltAjaxWithMenu"
> portletName="Screenlet with one screen, and one menu called by ajax"
> screenName="GenericScreenletAjaxWithMenu"
> screenLocation="component://common/widget/PortalPageScreens.xml"
> editFormName="GenericScreenletAjaxWithMenuParam"
> editFormLocation="component://common/widget/PortalEditForms.xml"
> description="Simple portlet using screenlet with a menu, with one screen
> which was update by ajax process, so with a div. This portlet has 6
> mandatory parameters." securityServiceName="" securityMainAction="VIEW"/>
> +    <PortletPortletCategory portalPortletId="GricScltAjaxWithMenu"
> portletCategoryId="GENERIC_PORTLET"/>
> +    <PortalPage portalPageId="_NA_" sequenceNum="000" portalPageName="For
> using genericPortletScreen" description="To be able to have parameters at
> the portlet level, not PortletPage level" ownerUserLoginId="_NA_"/>
> +</entity-engine-xml>
>
> Propchange: ofbiz/trunk/framework/common/data/CommonPortletData.xml
>
> ------------------------------------------------------------------------------
>    svn:eol-style = native
>
> Propchange: ofbiz/trunk/framework/common/data/CommonPortletData.xml
>
> ------------------------------------------------------------------------------
>    svn:keywords = Date Rev Author URL Id
>
> Propchange: ofbiz/trunk/framework/common/data/CommonPortletData.xml
>
> ------------------------------------------------------------------------------
>    svn:mime-type = text/xml
>
> Modified: ofbiz/trunk/framework/common/ofbiz-component.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/ofbiz-component.xml?rev=935923&r1=935922&r2=935923&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/common/ofbiz-component.xml (original)
> +++ ofbiz/trunk/framework/common/ofbiz-component.xml Tue Apr 20 13:57:26
> 2010
> @@ -52,6 +52,7 @@ under the License.
>     <entity-resource type="data" reader-name="seed" loader="main"
> location="data/UnitData.xml"/>
>     <entity-resource type="data" reader-name="seed" loader="main"
> location="data/PeriodData.xml"/>
>     <entity-resource type="data" reader-name="seed" loader="main"
> location="data/DimensionTypeData.xml"/>
> +    <entity-resource type="data" reader-name="seed" loader="main"
> location="data/CommonPortletData.xml"/>
>
>     <service-resource type="model" loader="main"
> location="servicedef/services.xml"/>
>     <service-resource type="model" loader="main"
> location="servicedef/services_cdyne.xml"/>
>
> Modified:
> ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy?rev=935923&r1=935922&r2=935923&view=diff
>
> ==============================================================================
> ---
> ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy
> (original)
> +++
> ofbiz/trunk/framework/common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy
> Tue Apr 20 13:57:26 2010
> @@ -25,6 +25,16 @@ portalPortletId = request.getAttribute("
>  portletSeqId = request.getAttribute("portletSeqId");
>
>  portletAttributes = delegator.findList("PortletAttribute",
> +
>  EntityCondition.makeCondition([portalPageId : "_NA_", portalPortletId:
> portalPortletId, portletSeqId: "00000"]),
> +                                        null, null, null, false);
> +iter = portletAttributes.iterator();
> +
> +while (iter) {
> +  attribute = iter.next();
> +  context.put(attribute.attrName, attribute.attrValue);
> +}
> +
> +portletAttributes = delegator.findList("PortletAttribute",
>
> EntityCondition.makeCondition([portalPageId : portalPageId, portalPortletId:
> portalPortletId, portletSeqId: portletSeqId]),
>                                         null, null, null, false);
>
>
> Modified:
> ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml?rev=935923&r1=935922&r2=935923&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
> (original)
> +++ ofbiz/trunk/framework/common/webcommon/WEB-INF/portal-controller.xml
> Tue Apr 20 13:57:26 2010
> @@ -28,6 +28,10 @@ under the License.
>         <security https="true" auth="true"/>
>         <response name="success" type="view" value="showPortlet"/>
>     </request-map>
> +    <request-map uri="refreshPortlet">
> +        <security https="true" auth="true"/>
> +        <response name="success" type="view"
> value="showPortletUiLabelDecorator"/>
> +    </request-map>
>     <request-map uri="showPortletMainDecorator">
>         <security https="true" auth="true"/>
>         <response name="success" type="view"
> value="showPortletMainDecorator"/>
> @@ -137,6 +141,7 @@ under the License.
>     <!-- View Mappings -->
>     <view-map name="showPortalPage" type="screen"
> page="component://common/widget/PortalPageScreens.xml#showPortalPage"/>
>     <view-map name="showPortlet" type="screen"
> page="component://common/widget/PortalPageScreens.xml#showPortlet"/>
> +    <view-map name="showPortletUiLabelDecorator" type="screen"
> page="component://common/widget/PortalPageScreens.xml#showPortletUiLebelDecorator"/>
>     <view-map name="showPortletMainDecorator" type="screen"
> page="component://common/widget/PortalPageScreens.xml#showPortletMainDecorator"/>
>     <view-map name="showPortletSimpleDecorator" type="screen"
> page="component://common/widget/PortalPageScreens.xml#showPortletSimpleDecorator"/>
>     <view-map name="ManagePortalPages" type="screen"
> page="component://common/widget/PortalPageScreens.xml#ManagePortalPages"/>
>
> Modified: ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl?rev=935923&r1=935922&r2=935923&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl
> (original)
> +++ ofbiz/trunk/framework/common/webcommon/portal/showPortalPage.ftl Tue
> Apr 20 13:57:26 2010
> @@ -28,11 +28,18 @@ under the License.
>             <#assign portletFields = '<input name="portalPageId" value="' +
> portlet.portalPageId + '" type="hidden"/><input name="portalPortletId"
> value="' + portlet.portalPortletId + '" type="hidden"/><input
> name="portletSeqId" value="' + portlet.portletSeqId  + '" type="hidden"/>'>
>             <form method="post"
> action="<@o...@ofbizUrl>"
> name="movePP_${portlet_index}">${portletFields}<input name="newPortalPageId"
> value="${portlet.portalPageId}" type="hidden"/></form>
>             <div id="portalPortlet_${portlet_index}" class="noClass">
> -            ${setRequestAttribute("portalPageId",
> portalPage.portalPageId)}
> -            ${setRequestAttribute("portalPortletId",
> portlet.portalPortletId)}
> -            ${setRequestAttribute("portletSeqId", portlet.portletSeqId)}
> -            ${screens.render(portlet.screenLocation, portlet.screenName)}
> -            ${screens.setRenderFormUniqueSeq(portlet_index)}
> +              <#assign idRefreshAttr =
> delegator.findOne("PortletAttribute", {"portalPageId":portlet.portalPageId,
> "portalPortletId":portlet.portalPortletId, "portletSeqId":
> portlet.portletSeqId, "attrName": "divIdRefresh"},true)?if_exists />
> +              <#if idRefreshAttr?has_content>
> +                <div id="${idRefreshAttr.attrValue}">
> +              <#else>
> +                <div id="${portlet.portalPortletId}_refresh">
> +              </#if>
> +              ${setRequestAttribute("portalPageId",
> portalPage.portalPageId)}
> +              ${setRequestAttribute("portalPortletId",
> portlet.portalPortletId)}
> +              ${setRequestAttribute("portletSeqId", portlet.portletSeqId)}
> +              ${screens.render(portlet.screenLocation,
> portlet.screenName)}
> +              ${screens.setRenderFormUniqueSeq(portlet_index)}
> +              </div>
>             </div>
>             <#-- DragNDrop is only activated, when the portal Page isn't
> the Default page -->
>             <#if portalPage.originalPortalPageId?has_content><script
> type="text/javascript">setMousePointer("${portlet_index}")</script></#if>
>
> Modified: ofbiz/trunk/framework/common/widget/PortalPageForms.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortalPageForms.xml?rev=935923&r1=935922&r2=935923&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/common/widget/PortalPageForms.xml (original)
> +++ ofbiz/trunk/framework/common/widget/PortalPageForms.xml Tue Apr 20
> 13:57:26 2010
> @@ -115,7 +115,7 @@ under the License.
>         </field>
>         <field name="description"
> title="${uiLabelMap.CommonDescription}"><display/></field>
>     </form>
> -
> +
>     <form name="PortletList" type="list" separate-columns="true"
> list-name="portlets"
>         odd-row-style="alternate-row" header-row-style="header-row-2"
> default-table-style="basic-table hover-bar">
>         <actions>
> @@ -128,5 +128,17 @@ under the License.
>         </field>
>         <field name="description"><display/></field>
>     </form>
> -
> +
> +    <form name="FindGenericEntity" type="single" target="list${entity}"
> title="" focus-field-name="idName">
> +        <field name="hideSearch"><hidden value="Y"/></field>
> +        <field name="idName"
> title="${uiLabelMap.FormFieldTitle_${pkIdName}"><text size="16"/></field>
> +        <field name="idName_op" ><hidden value="contains"/></field>
> +        <field name="idName_ic" ><hidden value="Y"/></field>
> +        <field name="description" ><text size="16"/></field>
> +        <field name="description_op" ><hidden value="contains"/></field>
> +        <field name="description_ic" ><hidden value="Y"/></field>
> +        <field name="submitButton" title=" " widget-style="smallSubmit">
> +            <hyperlink
> target="javascript:ajaxUpdateArea('List${entity}Area', 'list${entity}',
> $(FindGenericEntity).serialize());" target-type="plain"
>  description="${uiLabelMap.CommonSearch}"/>
> +        </field>
> +    </form>
>  </forms>
>
> Modified: ofbiz/trunk/framework/common/widget/PortalPageScreens.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortalPageScreens.xml?rev=935923&r1=935922&r2=935923&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/common/widget/PortalPageScreens.xml (original)
> +++ ofbiz/trunk/framework/common/widget/PortalPageScreens.xml Tue Apr 20
> 13:57:26 2010
> @@ -44,6 +44,17 @@ under the License.
>             </widgets>
>         </section>
>     </screen>
> +    <screen name="showPortletUiLabelDecorator">
> +        <section>
> +            <widgets>
> +                <decorator-screen name="uiLabelDecorator"
> location="${parameters.mainDecoratorLocation}">
> +                    <decorator-section name="body">
> +                        <include-screen name="showPortlet"/>
> +                    </decorator-section>
> +                </decorator-screen>
> +            </widgets>
> +        </section>
> +    </screen>
>     <screen name="showPortletMainDecorator">
>         <section>
>             <widgets>
> @@ -179,4 +190,69 @@ under the License.
>             </widgets>
>         </section>
>     </screen>
> +
> +    <screen name="GenericPortalPage">
> +        <section>
> +            <actions>
> +                <script
> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
> +                <set field="portalPageId" value="${pageId}"/>
> +            </actions>
> +            <widgets>
> +                <include-screen name="PortalPageScreen"
> location="component://common/widget/CommonScreens.xml"/>
> +            </widgets>
> +        </section>
> +    </screen>
> +    <screen name="FindGenericEntity">
> +        <section>
> +            <actions>
> +                <script
> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
> +            </actions>
> +            <widgets>
> +                <screenlet title="${uiLabelMap.${titleLabel}}">
> +                    <include-form name="FindGenericEntity"
> location="component://common/widget/PortalPageForms.xml"/>
> +                </screenlet>
> +            </widgets>
> +        </section>
> +    </screen>
> +    <screen name="GenericScreenlet">
> +        <section>
> +            <actions>
> +                <script
> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
> +            </actions>
> +            <widgets>
> +                <screenlet title="${uiLabelMap.${titleLabel}}">
> +                    <include-form name="${formName}"
> location="${formLocation}"/>
> +                </screenlet>
> +            </widgets>
> +        </section>
> +    </screen>
> +    <screen name="GenericScreenletAjax">
> +        <section>
> +            <actions>
> +                <script
> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
> +            </actions>
> +            <widgets>
> +                <screenlet title="${uiLabelMap.${titleLabel}}">
> +                    <container id="${divIdArea}">
> +                        <include-screen name="${screenName}"
> location="${screenLocation}"/>
> +                    </container>
> +                </screenlet>
> +            </widgets>
> +        </section>
> +    </screen>
> +    <screen name="GenericScreenletAjaxWithMenu">
> +        <section>
> +            <actions>
> +                <script
> location="component://common/webcommon/WEB-INF/actions/includes/retrievePortletAttributes.groovy"/>
> +            </actions>
> +            <widgets>
> +                <screenlet title="${uiLabelMap.${titleLabel}}"
> navigation-menu-name="${menuName}">
> +                    <include-menu name="${menuName}"
> location="${menuLocation}"/>
> +                    <container id="${divIdArea}">
> +                        <include-screen name="${screenName}"
> location="${screenLocation}"/>
> +                    </container>
> +                </screenlet>
> +            </widgets>
> +        </section>
> +    </screen>
>  </screens>
>
> Modified: ofbiz/trunk/framework/common/widget/PortletEditForms.xml
> URL:
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/common/widget/PortletEditForms.xml?rev=935923&r1=935922&r2=935923&view=diff
>
> ==============================================================================
> --- ofbiz/trunk/framework/common/widget/PortletEditForms.xml (original)
> +++ ofbiz/trunk/framework/common/widget/PortletEditForms.xml Tue Apr 20
> 13:57:26 2010
> @@ -33,5 +33,41 @@ under the License.
>         <field name="portalPortletId"><hidden
> value="${parameters.portalPortletId}"/></field>
>         <field name="portletSeqId"><hidden
> value="${parameters.portletSeqId}"/></field>
>     </form>
> +    <form name="GenericPortalPageParam" extends="CommonPortletEdit">
> +        <field name="pageId" required-field="true"><text/></field>
> +        <field name="submit" widget-style="smallSubmit"><submit
> button-type="button"/></field>
> +    </form>
> +    <form name="FindGenericEntityParam" extends="CommonPortletEdit">
> +        <field name="titleLabel" required-field="true"><text/></field>
> +        <field name="entity" required-field="true"><text/></field>
> +        <field name="pkIdName" required-field="true"><text/></field>
> +        <field name="divIdRefresh"><text/></field>
> +        <field name="submit" widget-style="smallSubmit"><submit
> button-type="button"/></field>
> +    </form>
> +    <form name="GenericScreenletParam" extends="CommonPortletEdit">
> +        <field name="titleLabel" required-field="true"><text/></field>
> +        <field name="divIdRefresh"><text/></field>
> +        <field name="formName" required-field="true"><text/></field>
> +        <field name="formLocation" required-field="true"><text/></field>
> +        <field name="submit" widget-style="smallSubmit"><submit
> button-type="button"/></field>
> +    </form>
> +    <form name="GenericScreenletAjaxParam" extends="CommonPortletEdit">
> +        <field name="titleLabel" required-field="true"><text/></field>
> +        <field name="divIdRefresh"><text/></field>
> +        <field name="divIdArea" required-field="true"><text/></field>
> +        <field name="screenName" required-field="true"><text/></field>
> +        <field name="screenLocation" required-field="true"><text/></field>
> +        <field name="submit" widget-style="smallSubmit"><submit
> button-type="button"/></field>
> +    </form>
> +    <form name="GenericScreenletAjaxWithMenuParam"
> extends="CommonPortletEdit">
> +        <field name="titleLabel" required-field="true"><text/></field>
> +        <field name="divIdRefresh"><text/></field>
> +        <field name="divIdArea" required-field="true"><text/></field>
> +        <field name="screenName" required-field="true"><text/></field>
> +        <field name="screenLocation" required-field="true"><text/></field>
> +        <field name="menuName" required-field="true"><text/></field>
> +        <field name="menuLocation" required-field="true"><text/></field>
> +        <field name="submit" widget-style="smallSubmit"><submit
> button-type="button"/></field>
> +    </form>
>
>  </forms>
>
>
>