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
>> 
>> 

Reply via email to