JSR 286 Web Content Viewer Portlet – Additional features in wp8 - part 2

Observed few additions to JSR286 Web Content Viewer portletas part of WP8 and seems following feature solves problems of some clientrequirements easily.

         Attaching“relative path” to content viewer instead of direct content path

a.       Anotheruseful feature is “Relative path” content mapping . It will be useful if yourWCM information Architecture have repeated sitearea structure under same libraryor under the different libraries .

b.      Assumeif you configure a webcontent viewer cloned portlet to display “Featured Story”from “LearningAndDevelopment Home” sitearea and if content path is like “sivatestlibrary/LearningAndDevelopment/Home/featuredstory”  and place this portlet on the “L&D  home” portal page (this page has mapping like“LearningAndDevelopment/Home”).

Fig: Configuration ofcloned web content viewer portlet

c.       Whenyou add above cloned portlet on the “HR Home” (this page has mapping like “sivatestlibrary/HR/Home” ) .  As the above content viewer is configured todisplay the relative path, when you access the HR home page , it renders the “featuredstory”content item from “sivatestlibrary/HR/Home /featuredstory “ .

Fig: Once cloned portlet is placed on the HR Home page(“tree icon” indicates that content path derived relatively i.e(“/sivatestlibrary/HR/Home” is sitearea associated with HR Home page and“featuredstory” is content path from cloned web content viewer portlet ) .

JSR 286 Web Content Viewer Portlet – Additional features in wp8 - part 1

Observed few additions to JSR286 Web Content Viewer portlet as part of WP8 and seems following two features solves of some clients requirements easily.

        Creating placeholder content directly when we add content viewer portlet to page.

a.     This feature is useful when you have requirement to allow the content authors to edit the content directly from the portal page using inline authoring tools . Once portal administrator creates the page and add configured clone of the content viewer portlet content authors can directly update the content from portal page.

b.      You can configure the content viewer portlet to create the copy of the content and associate with it when you place the portlet on the page

c.       You can set this in two multiple ways
                                                               i.      You can configure the portlet from the Administrationà portlet managementà click on configure icon on respective cloned content viewer portlet.

                                                             ii.      You can configure using the “configure” mode of the portlet after portlet placed on the page.

                                                            iii.      From XMLAccess interface you need to set the following preference : “com.ibm.portal.wcm.copy.contents “ to value “true”.

d.      Copied content is stored under the sitearea that is associated with page. If you place the multiple instances of the portlet then it creates the copies with names like “_1” , “_2” …etc.

Running WCM MemberFixer Tool with Syndication - WP8

It is always a best practice to run the WCM MemberFixer Tool  when WCM content or design elements are syndicated (or export and import)  from the one environment to another environment (When these environments are configured with different LDAP repositories or structures ).

WP8 provided simple way to initiate the MemberFixer Tool  with Syndication . It runs on the subscriber  server during syndication against items that have just been syndicated.

Update the following properties in the WCMConfigService to add or update mismatch id's.

To enable member fixing during syndication set this parameter to “true”
To update references to nonexistent users or groups with portal admin ID, set this to “update”.

To remove references to nonexistent users or groups, set this parameter to “remove”.
To update references to users or groups that have invalid DN’s with portal admin ID, set this to “update”.

To remove references to users or groups that have invalid DN’s , set this to  “remove”
To fix the mismatch unique ID’s , set this to “true”.
To remove mismatched unique ID’s , set this to “remove”
This is used to define how to treat case differences when updating or fixing Dn’s

Set this to “update” to leave case unchanged.
Set this to “lower” to convert this to lower
Need to set this in multi realm environment
Set this to “true” to update any user or groups that are not defined for the realm.

Resources / References

  1. http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Member_fixer_with_syndication_wcm8

WebDAV Problems : Conflicts with implicit login filter – 302 redirect issue

We had the implicit login filter (authentication filter) setup on portal and it internally redirects different portal pages based on the user login and it works fine. But when we tried to access the WebDAV through any of the WebDAV clients none them are able to connect .  I made sure all setting and access points and security properly set as in my old post but still had problem.

After analyzing the WebDAV request and response properly , figured out the there  is 302 redirect response from server when we try to access the WebDAV . Initially I suspected the problem might be causing because of HTTP Basic Trust Interceptor as mentioned in below IBM support article but didn’t help.

After analyzing further more on the WebDAV request and responses , figured out each WebDAV request sent from the client is trying make login by sending credential through basic auth and causing the portal’s implicit login filter is intercepting the WebDAV request.  

WCM PZN Component - No Results Design Section

By  default WCM doesn’t display the section to add the “No Results Design” while creating the PZN components. To enable this add the following property to WCMConfigService from the WAS admin console and restart the server.

Property Name: pzn.noresults.enable
Property Value : true

Resources / References :

Conditional checking tags (Utility Plugins) in Presentation Templates - WCM8

At last IBM has introduced the tags to check element value dynamically and generate markup in presentation templates. It was always challenging to do this in earlier release as condition checking only possible through the Javascript.

Following are different conditional  and/or utility plugin tags introduced

1.       Comment plugin  : This will not generate the client markup (just like JSP Comments <%-- --%>).
[Plugin:Comment] This is a comment [/Plugin:Comment]

2.       Equals Plugin: Generate the markup between the tags

[Plugin:Equals text1="Success" text2="[Element context='current' type='content' key='testoption']"]
       Option selected is "success", [Element context="current" type="content" key="body"]

3.       Not Equals Plugin

[Plugin:NotEquals text1="Success" text2="[Element context='current' type='content' key='testoption']"]
       Option selected is not success i.e fail, link to <a href="[Element context="current" type="content" key="testfileresource"]">Guidlines</a>

4.       Matches Plugin

[Plugin:Matches pattern=".*success*." text="[Element context='current' type='content' key='testoption']"]
      Option selected is matches to "success"

         Negative match

[Plugin:Matches pattern=".*success*." negative-match="true" text="[Element context='current' type='content' key='testoption']"]
      Option selected is not matched to "success".i.e failed.

5.       Locale Plugin :  Markup between the start and end tags is rendered only if the preferred supported locale is determined.

Displays language  [Plugin:Locale]         

Displays language in specified format  [Plugin:Locale pattern="{language}_{country}"]    

Display markup based between start and end tags
[Plugin:Locale acceptLanguage="da,fo;q=0.8,fi;q=0.6,is;q=0.4,no;q=0.2,sv;q=0.2" printLocale="false"]
<div>This markup is displayed only if the current context supports a locale
that represents one of the specified Nordic languages.</div>

[Plugin:Matches pattern="es(.*)" text="[Plugin:Locale]"]
<div>This markup appears only if the preferred supported locale in the current context represents a Spanish language. Neither the country code nor the variant are important as ls the language code of the locale is "es".</div>

6.       ThemeCapability Plugin


Example of a string that is returned when the [Plugin:ThemeCapability] tag is rendered on a page that uses the full profile theme:
{analytics_aggregator=8.0, portal.livetext.hcard=8.0, widget_container=2.1, active_site_analytics=8.0, portal.livetext.action=8.0, open_ajax_hub=2.0, dojo=1.7, mashups.enabler=, content_mapping.picker=cp_tagging_rating=8.0, oneUI=3.0.1, portal.livetext.adr=8.0, mashups.builder=, federated_documents.picker=8.0, portal.livetext.c2a=8.0}

7.       ToolbarState Plugin : ToolbarState plug-in to retrieve the state of the site toolbar that is provided with the Portal 8.0 theme


    More details and options can be found from the product documentation.


NOTE: Local Plugin didn’t show up at the when I am testing in my local and also there is a additional entry that is called tags.

New Authoring Home Pages and Lauch JSP in WCM8

Finally I get chance to do hands on WP & WCM8 features and how it works .

By default wcm8 provides the following different authoring home pages or launch pages when you access the authoring Portlet for first time.

a.       Basic Home Page:  This is for content authors who only need to create items and who usually doesn't access advanced library explorer

NOTE: To set different authoring templates to display on home page add the following key/value pair in WCMConfigservice i.e. key : wcm.authoringui.homePageTemplates    value: Library 1/Template Name:Library 2/folder/Template Name 2
b.      HomePage :  This is for content authors who need to complete tasks like create items, editing their drafts and approving/recjecting content . This home has a section to view recent acitivity.

c.       LaunchPage  : You can add or customize the launch JSP