When Portlets were introduced in OFBiz I had in mind what I was familiar with using JIRA: http://www.atlassian.com/software/jira/docs/v3.12/portlets_summary.html This was also why I initially called "Dashboard" the first portalPage that is actually in the OFBiz example.
In the latest JIRA version 4.0 they are migrating from Portlets to Gadgets http://confluence.atlassian.com/display/JIRA/Using+Dashboard+Gadgets and still calling "Dashboard pages" what is our portalPages. -Bruno 2010/1/1 Tim Ruppert <tim.rupp...@hotwaxmedia.com>: > +1 - thanks for bringing sanity back to the discussion. What shall all of > these lost souls in the PHP world with with their creations? > http://www.hotscripts.com/category/php/scripts-programs/portal-systems/ > > Cheers, > Ruppert > -- > Tim Ruppert > HotWax Media > http://www.hotwaxmedia.com > > o:801.649.6594 > f:801.649.6595 > > On Dec 31, 2009, at 10:28 AM, David E Jones wrote: > >> >> Bring confusion in the future? That's like saying you shouldn't use the term >> object-relational mapping unless you're talking about JPA. >> >> Just like object-relational mapping is a general term with many variations >> and implementations, and supporting the JPA interfaces is simply a feature >> of some of those implementations, portal and portlet are also general terms >> with many variations and implementations, and only some of them support the >> JSR 168 specification. >> >> Should we then say that portal/portlet software not written in Java should >> not use those terms? >> >> If so, which terms should those unfortunate souls use to describe their >> creations? >> >> -David >> >> >> On Dec 31, 2009, at 8:48 AM, Jacques Le Roux wrote: >> >>> I agree with Ruth, this will (and has already) certainly bring some >>> confusion in future. >>> >>> Jacques >>> >>> From: "Ruth Hoffman" <rhoff...@aesolves.com> >>>> Hi David: >>>> IMO the term "portlet" should only be applied to JSR 168/268 compliant >>>> code. >>>> >>>> Regards, >>>> Ruth >>>> >>>> David E Jones wrote: >>>>> MyPortal still needs a lot of work. >>>>> >>>>> It should really be just the shell of the portal and include only a very >>>>> few portlets that are part of the framework. >>>>> >>>>> Higher level components, including applications components, can have >>>>> their own portlets that appear in MyPortal by having data in seed/etc >>>>> data files, and that data will tell MyPortal about these portlets. >>>>> >>>>> OOTB the MyPortal stuff shouldn't know anything about any portlets (other >>>>> than a few basic framework ones). At runtime MyPortal will look for >>>>> information about other portlets, but that information should come only >>>>> from the higher level components where the portlets themselves live. >>>>> >>>>> -David >>>>> >>>>> >>>>> On Dec 31, 2009, at 4:50 AM, Bruno Busco wrote: >>>>> >>>>> >>>>>> That's true, it would be still a dependence. >>>>>> >>>>>> Anyway, in this case the MyPortal is considered to be dependent from >>>>>> all other components (because it "mounts" portlets defined by all >>>>>> other components in the default portalPages). >>>>>> It should be possible to use the MyPortal component even if one of the >>>>>> other components is not used. >>>>>> >>>>>> I think a different logic is needed here. >>>>>> >>>>>> -Bruno >>>>>> >>>>>> 2009/12/31 David E Jones <d...@me.com>: >>>>>> >>>>>>> That still represents a dependency on the other component. >>>>>>> >>>>>>> Lower level components should not even have anything that represents an >>>>>>> awareness of a higher level component. >>>>>>> >>>>>>> The solution, and the only solution, is to move the data to the higher >>>>>>> level components. It's that simple. >>>>>>> >>>>>>> -David >>>>>>> >>>>>>> >>>>>>> On Dec 30, 2009, at 5:54 PM, Bruno Busco wrote: >>>>>>> >>>>>>> >>>>>>>> Hi, >>>>>>>> the MyPortal component has many seed data that create a dependence >>>>>>>> from many other components. >>>>>>>> This is done because the seed data create the default MyPortal >>>>>>>> portalPages that include several portlets from all other components. >>>>>>>> >>>>>>>> For example: >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE" >>>>>>>> portalPortletId="SystemInfoNotes" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="0"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE" >>>>>>>> portalPortletId="SystemInfoStatus" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="1"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE" >>>>>>>> portalPortletId="Calendar" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="2"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE0" >>>>>>>> portalPortletId="INCOM_CUST_REQUESTS" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="0"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE0" >>>>>>>> portalPortletId="MyCommunications" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="1"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="party" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="0"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="partyRelContacts" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="1"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="partyRelAccounts" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="2"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="contact" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="3"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="LoyaltyPoints" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="4"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="PaymentMethods" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="5"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="AvsSettings" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="6"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="UserLogin" portletSeqId="00001" columnSeqId="00002" >>>>>>>> sequenceNum="1"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="Attributes" portletSeqId="00001" columnSeqId="00002" >>>>>>>> sequenceNum="2"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="Visits" portletSeqId="00001" columnSeqId="00002" >>>>>>>> sequenceNum="3"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="Content" portletSeqId="00001" columnSeqId="00002" >>>>>>>> sequenceNum="4"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="ShipperAccount" portletSeqId="00001" >>>>>>>> columnSeqId="00002" sequenceNum="5"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="Notes" portletSeqId="00001" columnSeqId="00002" >>>>>>>> sequenceNum="6"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE1" >>>>>>>> portalPortletId="MYTASKSPARTY" portletSeqId="00001" >>>>>>>> columnSeqId="00002" sequenceNum="7"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE2" >>>>>>>> portalPortletId="MyCommunications" portletSeqId="00001" >>>>>>>> columnSeqId="00001" sequenceNum="0"/> >>>>>>>> <PortletAttribute portalPageId="MYPORTAL_EMPLOYEE2" >>>>>>>> portalPortletId="MyCommunications" portletSeqId="00001" >>>>>>>> attrName="communicationPartyId" attrValue="Company"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE4" >>>>>>>> portalPortletId="mytimesheet" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="0"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE5" >>>>>>>> portalPortletId="mytasks" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="0"/> >>>>>>>> >>>>>>>> How can we have a conditional seed data loading that would load only >>>>>>>> seed data for the portlets really available in the system? >>>>>>>> I mean, could we have something like this: >>>>>>>> >>>>>>>> <if-component-loaded name="Workeffort"> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE4" >>>>>>>> portalPortletId="mytimesheet" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="0"/> >>>>>>>> <PortalPagePortlet portalPageId="MYPORTAL_EMPLOYEE5" >>>>>>>> portalPortletId="mytasks" portletSeqId="00001" columnSeqId="00001" >>>>>>>> sequenceNum="0"/> >>>>>>>> </if-component-loaded> >>>>>>>> >>>>>>>> or is there any other tecnique to do this? >>>>>>>> >>>>>>>> Many thanks, >>>>>>>> Bruno >>>>>>>> >>>>>>> >>>>> >>>>> >>>>> >>> >>> >> > >