David, I totally agree with you and will work to get this. So, the portalPages that are actually defined in MyPortal should be defined in a different seed or a different component that is at the highest level. A solution could also be to define those portlaPages in the setup (even if I do not really know very much about the setup). WDYT?
-Bruno 2009/12/31 David E Jones <d...@me.com>: > > 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 >>> >>> > >