Propagation Scope Example

Following my previous post on propagation, I found that the depth of the parent tree was hard to follow for many (myself included). This example helps illustrate it more clearly:

The importance of following the node tree up to remove an item from scope is best illustrated with an example. The BO InfoView iFrame portlet contains an environment-specific URL that should not be propagated. This portlet is listed in a scope file[1] as:

scope_1492=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop:default_portal_book_main.MainBook:default_portal_book_reports.BookMember:default_portal_book_reports.Book:default_portal_page_boReports1.BookMember:default_portal_page_boReports1.Page:boInfoViewIframe_1.PageMember:boInfoViewIframe_1.PortletInst

To remove this item from scope, all of the following parent nodes must be also be removed:

scope_1487=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop:default_portal_book_main.MainBook:default_portal_book_reports.BookMember

scope_1488=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop:default_portal_book_main.MainBook:default_portal_book_reports.BookMember:default_portal_book_reports.Book

scope_1489=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop:default_portal_book_main.MainBook:default_portal_book_reports.BookMember:default_portal_book_reports.Book:default_portal_page_boReports1.BookMember

scope_1490=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop:default_portal_book_main.MainBook:default_portal_book_reports.BookMember:default_portal_book_reports.Book:default_portal_page_boReports1.BookMember:default_portal_page_boReports1.Page

scope_1491=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop:default_portal_book_main.MainBook:default_portal_book_reports.BookMember:default_portal_book_reports.Book:default_portal_page_boReports1.BookMember:default_portal_page_boReports1.Page:boInfoViewIframe_1.PageMember

While the above list contains the immediate parent nodes, the parents of those nodes must also be removed to prevent propagating the portlet, so the following also must be removed:

scope_0=Application

scope_139=Application:portalservices

scope_140=Application:portalservices:f1portal.WebApp

scope_1321=Application:portalservices:f1portal.WebApp:f1.Portal

scope_1322=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop

scope_1323=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop

scope_1324=Application:portalservices:f1portal.WebApp:f1.Portal:default.Desktop:default.DefaultDesktop:default_portal_book_main.MainBook

In addition, any child nodes should be removed to prevent possible errors:

scope_1241=Application:portalservices:f1portal.WebApp:f1portal.Library:default_portal_book_reports.Book:default_portal_page_boReports1.BookMember:default_portal_page_boReports1.Page:boInfoViewIframe_1.PageMember:boInfoViewIframe_1.PortletInst:boInfoViewIframe_1.Localization

 

[1] It is important to note that the scope file changes on every propagation run, and must be re-created for each run.

If you found this interesting, please share.

© Scott S. Nelson

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.