Beruflich Dokumente
Kultur Dokumente
Aravin Pratapagiri
Basem Zaben
Catalin Mierlea
Chander Ponnusamy
David Greenstein
Deana Coble
Francesco De Collibus
Gavin Siller
Jackie Zhu
Jyoti Rani
Michele Buccarello
Vidyut Verma
Note: This PDF document is the original text from the Preparing Building and Implementing Social Digital
Experiences hosted in the online wiki site. Always refer to the online version for the latest updates.
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .i
The team who wrote this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Supporting contributors and reviewers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Become a contributor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Comments are welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Stay connected to IBM Redbooks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
What is in this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
iv
6.1 Why use side by side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2 How IBM Connections helps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3 Deployment process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4 Integrating Portal and Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.4.1 Configuring the same HTTP server for IBM WebSphere Portal and IBM
Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.4.2 Integrating IBM WebSphere Portal and IBM Connections using the Web
Application Integrator (WAI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.5 Customizing IBM Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.5.1 Customizing the login page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.5.2 Customizing the user interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Contents v
8.1.2 Configuring credential vault and Social Media Publisher global settings
222
8.1.3 Setting up Social Media Publisher for Events authoring template . 226
8.1.4 Adding Social Media Publisher actions to WCM workflow . . . . . . . 229
8.1.5 Test publication process and see the results . . . . . . . . . . . . . . . . . 233
8.2 Sending a WCM workflow notification to Connections Activity Streams . 236
8.2.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
8.2.2 Creating a workflow action class for posting to an Activity Stream . 239
8.2.3 Adding the custom action to a WCM workflow . . . . . . . . . . . . . . . . 247
8.2.4 Testing the approval notification . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
8.3 Action a Workflow Action Request via an Embedded Experience Open Social
Gadget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
8.3.1 OpenSocial Gadget use case scenario . . . . . . . . . . . . . . . . . . . . . . 256
8.3.2 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
8.3.3 OpenSocial in IBM Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.3.4 Configuring IBM Connections to host a third party gadget . . . . . . . 260
8.3.5 Extending WCM Activity post to reference OpenSocial gadget
implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
8.3.6 Implementing OpenSocial gadget . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.3.7 Testing the OpenSocial gadget implementation . . . . . . . . . . . . . . . 267
vi
10.3.1 Configuring a Connections user to have the Portal Administrator role
337
10.3.2 Configuring Portal to create a RCSS service . . . . . . . . . . . . . . . . 338
10.4 Setting up portal search/summary portlet to Connections details portlet
navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.5 Configuring standalone content navigation . . . . . . . . . . . . . . . . . . . . . . 342
Contents vii
viii
Preface
IBM Lotus and IBM Redbooks have partnered together to show you by
example how to build and implement a Social Digital Experience using
WebSphere Portal Server with IBM Connections.
DISCLAIMER: This guide is not intended as a best practice for social portal
development, configuration, architecture, or any other aspect, such as scalability
or performance. No warranty or support is implied for the sample codes
contained in the guide.
Preface xi
Gavin Siller is a solutions architect at MMI Holdings, a
financial services organization in South Africa. He has
been working in the financial services industry for over 12
years. Prior to that, he specialized in delivering
integration solutions around the world. He has
experience across a wide range of IBM products and
focuses on bringing these together to form client- centric
solutions. He holds a Masters degree in Information
Systems from the University of South Africa and has a
number of IBM certifications. You can reach him at
gavin.siller@gmail.com.
Thanks to the following authors who contributed to the first version of this guide:
Brian Farbrother
David Greenstein
Peter Hood
Malarvizhi (Malar) Kandasamy
Nagendra Shukla
David Strachan
Janice Taylor
Jackie Zhu
Preface xiii
Become a contributor
Join us for a two-to six-week residency program! Share your knowledge with
peers in the industry and learn from others. Help create content about specific
products or solutions, while getting hands-on experience with leading-edge
technologies. You will have the opportunity to team with IBM technical
professionals, Business Partners, and Clients. Your efforts will help increase
product acceptance and customer satisfaction. As a bonus, you will develop a
network of contacts in IBM development labs, and increase your productivity and
marketability.
Find out more about the residency program, browse the residency index, and
apply online at:
http://www.ibm.com/redbooks/residencies.html
We want the content in this wiki and all our wikis to be as helpful as possible.
Provide us your comments in one of the following ways:
Use the commenting feature with in the wiki. Login and add comments,
located at the bottom of each page.
Provide feedback in the Web form located at:
http://www-12.lotus.com/ldd/doc/cct/nextgen.nsf/feedback?OpenForm
This guide begins with defining the social portal and its capabilities, the
architecture, the integration patterns between WebSphere Portal and IBM
Connections and social analytics. It then looks at a number of products and how
their capabilities can help you create the social digital experience.
Side-by-side integration
IBM WebSphere Portal provides a number of capabilities to visually integrate
IBM Connections with WebSphere Portal. Web Application Integrator (WAI)
allows for portal headers to be displayed on the IBM Connections site. Login and
logout pages and other utility pages can be integrated. This topic is covered in
Chapter 6, Pattern 1: Adding social alongside an existing portal on page 79.
Preface xv
OpenSocial Gadgets
OpenSocial gadgets are components written in XML, HTML, and JavaScript that
display custom content. These gadgets can be developed to work with IBM
Connections. This topic is covered in 8.3, Action a Workflow Action Request via
an Embedded Experience Open Social Gadget on page 256.
IBM Docs
IBM Docs extends IBM Connections, offering real-time collaboration with key
collaborative services, such as co-editing, file management, and contextual
commenting built right into the editing process. This topic is covered in 9.3, IBM
Docs on page 278.
Third party social credentials to log into your social web site
IBM WebSphere Portal enables users to login into a website with the social
credentials on public social networks such as Facebook, LinkedIn and Twitter.
There are advantages and disadvantages of using them in a website. This topic,
as well as references to configure these in a website, is covered in 7.6, Using
third party social credentials to log into your social website on page 213.
Script Portlet
IBM Script Portlet for WebSphere Portal is a tool that can be downloaded for free
from the IBM Greenhouse catalog and is compatible with Portal 8.0.0.1 onwards.
It allows developers with only JavaScript (JS), CSS, and HTML skills to build
Social Analytics
You can perform social analytics in a social business environment with the
installation and integration of IBM Cognos into IBM Connections. For example,
you can create custom reports in IBM Connections along with metrics-Cognos
architecture. This topic is covered in Chapter 11, Social analytics on page 345.
Preface xvii
xviii Building and Implementing Social Digital Experiences
1
The social digital experience allows people to interact with your organization using their
channel of choice (web, social, and mobile).
IBM WebSphere Portal Server, in conjunction with IBM Connections, provides the realization
of this social digital experience to customers, partners and employees by integrating their
respective components. IBM WebSphere Portal Server offers solid web content management
and applications (via portlets) while IBM Connections adds social applications such as blogs,
wikis, activity streams, social file sharing and bookmarks.
This integration is offered out-of-the-box using the IBM Connections portlets for WebSphere
Portal. Alternatively, because of open nature of both platforms (REST based service enabled)
and the extensive tooling available (Rational Application Developer, Script Portlets,
WebSphere Experience Factory), this integration can be custom built to meet very specific
requirements.
To create a social digital experience, IBM provides a list of products and components that
help you to achieve that.
IBM Docs
IBM Docs is an office productivity suite for working with documents, spreadsheets and
presentations together in the cloud. IBM Docs extends IBM Connections, providing teams
with a better way to edit and review documents together.
Using this set of products and components together, this guide will show you how you can
implement exceptional digital experience with social capabilities in a website.
1.2 Infusing third party social sites with your social portal
An organization's social portal does not exist in a vacuum. Users utilize a large number of
public social networks such as Facebook, LinkedIn and Twitter. This section briefly explains
the mechanisms available for interacting with third party social websites.
Social login
Using OpenID and OAuth, it is possible to allow end users to authenticate with third party
social website credentials on your social portal. Also, Single Sign On (SSO) between your
portal and a third party website is possible using Security Assertion Markup Language
(SAML), provided this protocol is supported by that website. Finally, the OAuth protocol allows
the end user to authorize access of their social objects (for example, list of contacts), for use
in your social portal.
Note: Details on exploiting social login capabilities, and other related considerations can
be found in section 7.6, Using third party social credentials to log into your social website
on page 213 in this guide.
Other considerations
The open nature of WebSphere Portal Server, IBM Connections, and most of the third party
social networks as a function of their REST based APIs and federated identity management
capabilities (supported by one or more of SAML, OpenID, OAuth) allows for the construction
of social applications. These applications can be surfaced in either WebSphere Portal Server,
IBM Connections or the third party site, depending on what makes the most sense for the
use-case.
The OpenSocial industry standard for sharing social context between business applications
further increases interoperability between an organizations social portal and those third party
web sites that support this standard.
The most effective approach to enable social business centers to help people discover
expertise, develop social networks and capitalize on relationships. A social business enables
its employees and customers to more easily find the information and expertise they seek.
It helps groups of people bind together into communities of shared interest and coordinate
their efforts to deliver better business results faster. It encourages, supports and takes
advantage of innovation and idea creation and builds on the intelligence of the crowd.
A social business shifts the focus from documents, project plans and other temporary artifacts
to the source of the energy, creativity and decision making that moves the business forward:
people. A people-centric approach relies on:
Networks Globally integrated networks of employees, partners and customers are the
backbone of a social business. Rich online profiles of trusted experts enable collaboration
and agility and allow for exploration of expertise, publications and networks of colleagues
to quickly initiate action or fulfill a business need.
Social business software has gained significant momentum in the enterprise, and this trend is
expected to continue, with IDC forecasting a compound annual growth rate of 38 percent
through 2014 and 2015. However, becoming a social business is not simply a matter of
deploying some collaboration tools and hoping for the best. It is a long-term strategic
approach to shaping a business culture and is highly dependent on executive leadership and
effective corporate strategy, including business processes, risk management, leadership
development, financial controls and business analytics.
Social businesses can orchestrate and optimize new ways of generating value through
innovation, creativity and utilizing the right skills and information at the right time. They
become more flexible and agile in the face of the global markets competitive pressures and
rapid rate of change.
Three key business value opportunities arise from the social business transformation.
Becoming a social business can help an organization:
Deepen customer relationships
Drive operational efficiencies
Optimize the workforce
These are proven set of value-producing actions. You can begin by applying just one pattern.
Later, as requirements grow, you can realize more benefits by implementing other patterns
over time.
Consult the document in the references section for detail on these social business patterns.
This document includes IBMs experience and concrete actions the organization can take to
implement these patterns.
References
The motivation behind these integration efforts is to exploit the strengths of both types of
systems to achieve the benefits of Social CRM.
Unstructured business processes (case management) can also benefit greatly from social
collaboration platform by allowing subject matter experts to more easily share information and
business context.
IBM has provided integration between IBM Business Process Manager and IBM Connections.
More information can be found here:
Business Processes Go Social with IBM Business Process Manager 8.5 and IBM
Connection
Enabling IBM Connections integration for Process Portal
Using the capabilities (sharing, liking, user download statistics, tagging, commenting) around
content in social platform help to eliminate the disadvantages above with benefits to the
organization's employees, customers and partners. In addition, these social document
capabilities make the content itself richer, further advantaging all users (network effects).
Social portals add to this aggregation functionality by making users active participants rather
than passive consumers of information and services. As users participate in the web portal
such as adding content to it, the web portal becomes richer for all other users. This is one
principle of Web 2.0 and Enterprise 2.0 which we briefly discuss in section 3.1.2, Capabilities
required for a social website on page 18.
Social capabilities added to a traditional web portal include, but are not limited to the
following:
Blogs and microblogging functionality - Users can author content and others can
comment.
Wikis - A place to share information and other resources for a particular topic.
Social bookmarks - Sharing items on the portal of interest with others.
Ideation blogs - Sharing ideas and getting opinions from fellow community members.
Activity streams - A user can visualize, in a single place, all that has happened on the
social portal of which they are interested.
In this guide, we discuss patterns 3.2, Methods to infuse social into a website on page 23
concrete implementations for infusing social capabilities (like those above) into a traditional
web portal to transform it into a social portal. The discussion is limited to the integration of
WebSphere Portal Server with IBM products, solutions, and offerings, to achieve this goal.
The need to support people networking are increasing. Organizations need to have social
capabilities infused into their strategies, operations, projects, and sales. Whether it is with
customers, partners, or employees, organizations need to leverage the collaboration tools to
improve efficiency, solve problems, create opportunities, boost productivity, and drive
innovation that make them more competitive and successful.
IBM Connections is a leading social software platform that can help your organization to
engage the right people, accelerate innovation, and deliver results. This integrated platform
helps people engage with networks of experts in the context of critical business processes. It
also provides the security that is required in such an environment so that everyone can act
with confidence and anticipate and respond to emerging opportunities.
In the following sections, we talk about the business value of IBM Connections, how you can
make your website socially enabled, and we also describe different use cases.
Creating a social digital experience with IBM Connection and other IBM products and
offerings provide the following benefits for organizations:
Engage instantly and in context to get business done by staying on top of relevant activity
in your professional networks and communities.
Act quickly and responsively to customers by pivoting rapidly between internal and
external communities.
Create an ideal community experience and anticipate the needs of a community by
monitoring social activity and participation.
Increase personal and organizational effectiveness by creating, connecting, and sharing in
one easy-to-use social experience.
Access your communities from a variety of channels ranging from a web browser via
normal desktop computers, to mobile, and handheld devices.
Innovate through cultivation of critical information from co-workers, colleagues, partners,
and customers.
Use numerous points of integration with other products to establish many possible ways to
create and consume multimedia content.
IBM Connections integrates activity streams, calendaring, wikis, blogs, email capability, and
flags relevant data for action. It allows, for instance, collaboration with one simple click, and
enables you to build social, secure communities both inside and outside the organization to
increase customer loyalty and speed business results. The new IBM Connections mail
capability provides simplified access to email within the context of the social networking
environment.
The following figure shows the various features that IBM Connections offers.
With IBM Connections, organizations can integrate and analyze massive amount of data
generated from people, devices, and sensors, and more easily align these insights to
business processes to make faster, more accurate business decisions. By gaining deeper
insights into customer and market trends and employees sentiments, businesses can
uncover critical patterns to help them not only react swiftly to market shifts, but predict the
effect of future actions.
The new capabilities of IBM Connections Version 4.5 empower employees from every line of
business, such as marketing, human resources, and development to gain actionable insight
into the information being generated in their social networks. For example, the IBM
Connections landing page features a single location that allows users to view and interact
with content from any third party solution through a social interface, alongside their own
companys content, including email and calendar. The embedded experience of the news
feed, also known as an activity stream, allows employees from any department within an
organization to explore structured and unstructured data (such as Twitter feeds, Facebook
Reference
IBM Redbooks Solution Guide, Achieving Real Business Value with IBM Connections
Web 2.0
Web 2.0 is a term that describes the move in the way that the internet is utilized for business
and social computing. Before Web 2.0, the internet was primarily a platform for information
publishing and e-Commerce. Users interacted with websites in one direction only: They were
consumers of information and services. Web 2.0 is a fundamental shift away from this
one-sided use of the web by allowing users the means to contribute content to the web.
The web has evolved into a myriad of interconnected devices that utilize a network to allow
access and participation by users. As more individuals make use of the information and
services provided, and in addition contribute content, the richer the web becomes (O'Reilly,
2005).
Web 2.0 applications are responsive and engaging, enabled by technologies such as
JavaScript, AJAX and REST services. Furthermore, applications including Blogs, Wikis, Tag
Clouds and Activity Streams emerged and were infused into websites.
Enterprise 2.0
Soon after Web 2.0 applications began to appear on internet, two things began to happen to
the organizations. First, employees sought the same types of web applications in terms of
functionality and usability to be available for their day-to-day work. Secondly, the management
of organizations themselves began to wonder if the advantages and successes of Web 2.0
could be emulated in their own environment. These events led to the emergence of
Enterprise 2.0, which is the use of social software to increase collaboration between the
organization, its employees, business partners and customers.
McAfee (2006) proposes the following conceptual capabilities that are necessary for an
Enterprise 2.0 software system:
Search Content indexing and searching mechanisms should be available to locate
content based on keyword searches.
Links Content should be accessible via hyperlinks and this content itself should link to
related materials. This aids in organizing and finding information.
Authoring Components such as blogs, wikis and forums should be made available to
facilitate content publishing. This content increases in value as other individuals contribute
additional content to the original posts. What-you-see-is-what-you-get (WYSIWYG)
editors should be provided to allow for easy content authoring without the need to learn a
platform specific language.
Tags Simple descriptions linked to content allowing for better categorization,
searchability, and navigation of the collaboration system. These tags result in a
Enterprise 2.0 has a profound effect on the way individuals and groups in the organization
perform their daily tasks and interact with each other, business partners, and customers. This
is because Enterprise 2.0 websites help users to easily locate relevant information and
expertise to solve many business problems from product development to customer service.
Links All summary components such as the Activity Stream contain hyperlinks
to more detailed information about the social object.
Authoring Wiki, Blog, Forum and Ideation features for content authoring.
WYSIWYG interfaces are provided for users to author content.
Users can upload and share files such as documents and media files.
Tags Most social objects can be tagged (Blog and wiki content, communities,
profiles, etc).
Tag clouds functionality is available (and can be surfaced inside
WebSphere Portal).
Extensibility IBM Connections provides REST services for social objects that support
the development of new functionality for IBM Connections.
OpenSocial gadgets and iWidgets can be added into IBM Connections for
custom functionality.
IBM Connections provides capabilities to extend existing websites (such
as those built using WebSphere Portal) with social capabilities by using
out-the-box portlets or writing custom applications interfacing with the IBM
Connections REST services.
Signals Many social objects (Files, People, etc) can be followed. Users will be
notified of any changes to objects they are following.
The Activity Stream components and the IBM Connections Homepage
provides a view of everything of importance to the user. These
components can be surfaced inside IBM WebSphere portal.
Users can be automatically emailed of updates to social objects they are
following. The content in the email contains hyperlinks to the social
objects in IBM Connections.
Analytics, that is, information about how users are making use of your social website has
become increasingly important. The insights gained through analytics can identify areas of
Reference
McAfee, A. (2006). Enterprise 2.0: The Dawn of Emergent Collaboration. MIT Sloan
Management Review, 47 (3).
O'Reilly, T. (2005). What is Web 2.0? Design Patterns and Business Models for the Next
Generation of Software. Retrieved 01 05, 2014, from O'Reilly
Overview
With some 24,000 students and 2,500 staff members, Saxion University of Applied Sciences
is one of the largest institutions of higher education in the Netherlands, an important center of
expertise at the regional, national and international level. The university has four campuses in
the East of the Netherlands, in the Dutch cities of Deventer, Enschede, Hengelo and
Apeldoorn.
Business need
Saxion University of Applied Sciences needed to increase employee effectiveness through
better communications, collaboration and streamlined ability to locate needed expertise.
Solution
The university implemented a program for rolling out IBM Connections, social software for
business that help people engage with others in the context of critical business processes.
Key features include activity streams, profiles, blogs, communities, discussion forums and
wikis, all easily searchable for experts, documents and knowledge.
Benefits
By training staff to use IBM Connections software tools for work tasks, Saxion University of
Applied Sciences streamlined the meeting process, made it easier to identify and contact
experts, and improved their employee productivity.
Saxion initially made IBM Connections software available to all staff without instruction. There
were notable successes: Although the iPhone and Android smartphones are popular with
staffers, the IT team lacked expertise with these products. Special-interest communities
created in the Connections solution covered these technologies, helping users support one
another through community engagement.
Traditionally, Saxion did not have a culture of open sharing. Some employees shied away
from profiles as though they were akin to bragging about achievements. In addition, some
were unsure how they could apply social tools to daily tasks.
In response to that, Saxion teamed with eOffice, an IBM Business Partner in the Netherlands,
on a structured program to increase adoption across the university. The program, called
WorX, relies on a scenario-based model to train managers on the Connections solution.
Further, Saxion is training select functional groups, and in April 2013 it held a 60-workshop
event called Social Business Week for all staff. Key departments behind the training are IT,
human resources (HR) and corporate communications, all advocates for social business.
In our adoption strategy, we developed many scenarios, or use cases, for Connections, says
Cora Woltring, program manager, WorX at Saxion. How do we organize a meeting with
Connections? How do we profile ourselves? How do we share knowledge and experience
with teammates. How do we collaborate? For each scenario, we have a workshop, so users
dont have to learn the whole thing at once. Then managers attending the workshop can train
colleagues. The WorX training program has led some 200 new users to participate in the
Connections environment each month.
The scenario for meetings shows the improvement that the Connections solution can bring.
An effective meeting starts with the Activities function, which spreads the word to all meeting
principals, along with the agenda, related documents, subtasks and action items.
Stakeholders can absorb content, share discussions and form opinions before the meeting
occurs. This transparency can accelerate decisions by eliminating tedious emails and long
sit-downs.
Another scenario addresses employees reticence to fill out profiles, a must for locating others
in the organization. To make it easier, Saxion created a wiki of helpful tips and enlisted a
professional photographer and makeup artist for the photos. Thanks to WebSphere Portal
softwares integration capabilities, all profiles will be published on Saxions intranet as a
corporate directory. Wikis created from Connections software are also published to the
intranet.
More details
Overview
Founded as a 20-bed hospital for children in 1869, Boston Childrens Hospital today is a
395-bed comprehensive center for pediatric and adolescent healthcare. It is grounded in the
values of excellence in patient care and sensitivity to the complex needs and diversity of
children and families. Boston Childrens is the primary pediatric teaching affiliate of Harvard
Medical School.
Business need
The teaching hospital apprenticeship model, which once revolutionized medical education, is
now failing to adapt to an increasingly interconnected world. As a result, expert knowledge is
bottlenecked within the walls of institutions, creating disparities in access to medical
education.
Solution
The collaboration resulted in OPENPediatrics, a cloud-based education application for
desktops and notebooks that features advanced social networking. It is the first application for
continuing medical education outside of an institution, a paradigm shift that could
revolutionize post-graduate medical education.
Benefits
The IBM solution helped augment medical knowledge for healthcare workers everywhere,
share medical knowledge globally and equip caregivers with the knowledge and skills to care
for critically ill children.
More details
Overview
Headquartered in Chicago, Highland Group, Inc. (Highland Solutions) is a privately owned
technology and business process consulting firm. It provides IT services and solutions for
companies of all sizes, focusing on effective customer-facing systems such as CRM and
e-commerce. In business for more than 12 years, Highland Solutions partners with
technology leaders, including IBM, to serve customers located primarily in the United States.
Business need
Highland Solutions wanted to build a social selling platform to streamline collaboration for its
sales teams and to use as a foundation for new service offerings.
Solution
The company integrated its IBM Connections software with its SugarCRM platform so that
moving between applications was seamless.
Benefits
With the integrated solution, sales representatives can quickly assemble the right people and
access the most relevant information and best sales practices to help close deals faster.
More details
You might want to deploy IBM Connections alongside with other systems when you are
looking to maximize your manageability through the ability to quickly adopt updates and new
features without disruption or significant development costs after the purchase. Leveraging
the product mostly out of the box means time and efforts are able to be spent on
infrastructure, adoption, governance, and steady state support as opposed to software
development tasks. Your organization may find this to be a desirable state based on available
in-house skills or resource availability considerations.
Social portlets
One method of bringing social into context is the usage of IBM Connections portlets. The
social protlets deliver a rich set of social software services for use within a WebSphere Portal
environment. They can be used to add the following features to your website:
Profiles
Forums, forums summary
Blogs, blogs Summary
Wikis
Bookmarks
Activities
Tag cloud
Social rendering
Another method of bringing social into context of your website is social rendering. The social
rendering feature enables page editors to display social objects hosted on a remote IBM
Connections server inside WebSphere Portal Server using IBM Web Content Manager
(WCM). Page editors can easily add social list definitions by using this feature. WCM social
rendering capability provides a flexible way to query and render IBM Connections social
content. WCM social rendering is an out-of-the-box portlet which is added as replacement to
The WCM social rendering portlet provides an option to keep the user within Portal and view
the social content (from a remote IBM Connections server) or direct the user to IBM
Connections native user interface when required. WCM social rendering portlet can either be
configured to jump to the details portlet or to a separate IBM Connections URL. When
additional capability is required, for example adding blog entries and discussion threads, then
WCM social rendering portlet can work in conjunction with either the IBM Connections details
portlet or the native IBM Connections user interface.
Community pages
IBM Connections allows users to create communities where a group of users can contribute
and share information. Having a community around a specific subject matter or project is a
powerful and meaningful way of collaboration among people. In IBM Connections
communities, you can create a public, moderated, or private community depending on
requirement and IBM Connections allows you to associates other Connections application
such as blogs, wikis, and forum to any community.
Using IBM Connections portlets, you can integrate IBM Connections community pages into
your Portal site to enhance your Portal's social collaboration capabilities.
The content and features of your site can be delivered in a public or private manner. The
public content and features are available without authentication for all users that are
authorized to see the site link, while the private content and features are available and
customized for each user, thus requiring authentication and administration of the rights to
certain pages, content, applications, etc.
So, consider different security and deployment options for the site type you need.
4.4 Environments
Due to new features that might occur during the life of your site, you might find necessary to
develop and test new changes, thus the need for more than one environment, which is the
main production one.
You might find necessary to use all or a part of the following types of environments:
Production environment - This environment is also known as the "live" environment and it
delivers the content and features to your clients. This environment should be maintained
by a dedicated team that usually takes care of the tasks such as availability, patching,
backup, application or features installation and configuration, problem debugging,
environment configuration and integration with various other software technologies, etc.
Test environment - This environment is where the applications, features and integrations
changes are validated. This environment should be as close as possible as the production
environment from the type of deployment architecture point of view and it should be
integrated with other test environments of the various technologies that you are using to
deliver your content in the production environment.
Quality assurance (QA) environment - This environment is also known as pre-production
environment. You should use it to test the main patches, feature upgrades of your platform
and also to stress-test the changes that are to be moved into the production environment.
The QA environment should be configured as close as possible as the production
environment taking into consideration the type of deployment architecture, the type of
machine, the versions of software, the hardware resources allocated, the integration with
different other types of technologies. The QA environment is used in order not to validate
major changes and tuning on production environments.
Development environment - This is the environment that is mainly used by developers and
is usually a simple test environment integrated with Rational Application Developer; due to
the problems that might occur because of the integration with different technologies within
main production portal, the development environment should be used for development
and validation of the applications or of the new features and should not be used as testing
environment.
School environment - This environment delivers the business features of your site in a way
that the real users can learn how to use it and get familiarized with working before using
the production environment. The school environment is usually used by internal
employees that are taking lessons on how to use the business features that are
implemented into the production environment. For example, a bank's new employee would
use the school environment to get used with the features and way of working with the
credit processing application that is deployed into the intranet.
Disaster recovery environment - This environment is used in order to avoid the downtime
caused to the main production environment by factors such as server maintenance, and
unplanned problems that prevent you from running or showing the site to your clients. The
disaster recovery environment resides in a different place (building, town, area, country or
even continent) than the production environment. It delivers the same business features
Staging between environments typically occur in the following order: development, test, QA,
production, disaster recovery and than school environment. In order to stage between the
different types of environment, you might find necessary to use scripts, where possible, to
extract the new features and move them to other environment. Backing up first the target
environment or target portlet, application, etc helps you overcome destructive effects of a bad
release. Also, release versions (deltas or entire site) might save a lot of time to investigate
and solve the possible unwanted effects of many deployments and changes that occur from
more than one source towards a certain environment.
The table below shows some of the most important differences between the two solutions:
Security rules require your software and data to Your software and data is not so sensitive or it is
be placed behind company firewall. even required to be accessed from the web.
Your software is integrated with other sensitive The integration of your software to other zones of
zones of your IT environment, your IT environment is not so tightly coupled
so exposing though internet would be considered from the security point of view or the security
a risk (for example the single sign on issue type ). methods used are very well implemented.
The IT department of your company is able to The IT department of your company cannot
fully administer the software sustain the effort required to administer
( installation, upgrading, migration, backup, the entire list of tasks needed in order to maintain
updating, monitoring, integrating, documenting, the software.
reporting tasks ). The cloud hosting company will handle this for
you.
The company is able to buy and license the The company does not want to buy or maintain
required software. licenses for the software,
so this financial effort is externalized to the cloud
hosting company. This can lead to cost savings.
The hardware that your company owns can Cloud hosted software generally can be scaled
handle the scalability required for increasing the very quickly.
workload.
A company does not usually have a large data Large cloud hosting companies have huge data
center and uses multiple data rooms that requires centers that use more efficient cooling and
cooling electrical power systems.
and electrical power, thus the green footprint may
not be so light.
Security
One of the most important implications when adopting a cloud solution is the security.
Accessing your site and integration with your site hosted by a cloud provider has to be done in
a secure way and taking into consideration all aspects that derive from this, such as
authentication and authorization, user and identity management, SSL connections, digital
certificate management, Web Services security, etc. These things are important also for
on-premise hosted, but because of the firewall security that should be available, the
importance is generally lowered for this type of systems and sites.
The IBM WebSphere Portal server and IBM Web Content Manager Version 8.0 features that
are configured on IBM SmartCloud Enterprise images are listed below:
Security enabled. IBM WebSphere Application Server security is enabled, with the
virtuser user ID serving as both the WebSphere Portal administrator and WebSphere
Application Server administrator ID. During the provisioning of the image, you must set the
password for the virtuser user ID.
WebSphere Portal light-startup-mode enabled. Light-startup mode speeds up the start
time for WebSphere Portal by deferring the start of individual Web applications and
portlets until they are first requested by users. You can disable the portal light mode so
that all applications are started and ready to use by clients.
HTTP Server enabled. The IBM HTTP Server is configured to provide access on both
HTTP and HTTPS ports to WebSphere Portal. This ports are the default 80 and 443 ports.
External DB2 database. An instance IBM DB2 Enterprise Edition is installed and
configured as WebSphere Portal and IBM Web Content Manager's external database and
user repository. This provides an enterprise-class and highly performing database
environment.
Web Experience Factory. Eclipse and Web Experience Factory are installed
(development image only).
IBM SmartCloud Enterprise lets you select from a number of different instance types to meet
your computing needs, while each instance provides a predictable amount of dedicated
computing capacity.
To access the image instances you can choose between two methods:
Console access: The image can be accessed through secure shell (SSH) using a secure
RSA private key based on the key pair specified at instance creation. Users need to save
the RSA private key pair to a local file that can be used as input to SSH.
Remote desktop access: Users can access the system by using a free Virtual Network
Computing (VNC) client to connect to the graphical desktop
You can start, stop, service, and use all the software installed on the images just as normal
installations. You can extract the customizations applied to an image and apply them on new
images. The customizations may include content libraries, portlets, portal configurations. The
extraction and importing of this customizations are done by using normal IBM WebSphere
Portal and IBM Web Content Manager version 8.0 methods such as xmlaccess and
ConfigEngine. The customized images can be captured and used when required.
Note: For a more detailed view on the relation between IBM SmartCloud and WebSphere
Portal 8.0.0.1 view this article.
Alternatively, you can use IBM WebSphere Portal through Amazon Elastic Compute Cloud
(Amazon EC2). For more details consult this IBM page and this Amazon Web Services
page.
To find out the compatibility between IBM WebSphere Portal and other software components,
visit this link and choose between the versions and distributions of Portal, then choose the
appropriate operating system.
The compatibility list between IBM WebSphere Portal and other software components is
much larger and you need to make sure all the versions you install are compatible. In case
you do not find a compatibility between a software component version and IBM WebSphere
Portal by following the link above, you can always double check on IBM Support Portal by
searching the required versions of software. As an example, by searching "Rational
Application Developer for WebSphere Software 9," you will learn that this development tool is
compatible for Portal tools with IBM WebSphere Portal Server 8.0 on IBM WebSphere
Application Server 8.5, but only starting with Version 9.0.1. You can see this by following this
link.
The installation path you need to follow is determined by the software components you
require and also by the integration options between them. In most of the cases, for IBM
software, you will find all these details by following the "Planing to install" section of that
particular piece of software version Information Center or wiki. For IBM WebSphere Portal,
you can get that information from this link.
After you determine all the required pieces of software and their versions and the path to
follow, you need to obtain the installation packages. Make sure that you are fully licensed to
use the software that you decide to use. You can get the installation packages for IBM
software in a few ways:
by using the physical media that you received from IBM when buying the software
by using the Passport Advantage to download the electronic images
by using the live repository; this repository is available through IBM Installation Manager
To install the software components, you need to use IBM Installation Manager. This tool is
used for managing the installation and update of most IBM software. You can find more
details about it the download options by visiting this link. It has to be installed on each
machine that you require for IBM software. The software you need to install is to be added as
a repository to IBM Installation Manager.
As an example, you can get the electronic images for IBM WebSphere Portal Extend Version
8, IBM Connections Version 4.5, IBM WebSphere Application Server Network Deployment
Version 8.5, and all the latest required fixes, add them as repositories in IBM Installation
Manager Version 1.7.1 that you already installed and you are ready to set your environment.
You will be able to install all of the in a single installation cycle, choose which fix level to install
and set all the installation options.
You need to consider the hardware prerequisites for all software components:
disk space: all software components require a certain minimum amount of disk space in
various folders that are not necessary the target installation location (for example the /tmp
on AIX environments)
memory
processor
You need to provision the amount of hardware necessary for all your environments and in all
your required physical sites. Also, the backup method that you may require for your
environment can influence the type and amount of hardware.
Tip: When planning for a topology, use deployment diagrams to design and visualize the
relationship between all the software components of your site.
If you use IBM Web Content Manager, the following IBM WebSphere Portal topologies may
apply:
Single-server topology for Web Content Manager: This consists of the IBM
WebSphere Portal and Web Content Manager that are installed both on the same server.
Dual-server configuration for Web Content Manager: This consists of two servers or
clusters, each containing IBM WebSphere Portal and Web Content Manager. The first one
Additional reference
For more information about WebSphere Portal Server topologies, visit |Server topologies.
Dynamic cluster can be achieved by installing IBM WebSphere Virtual Enterprise that can
monitor performance and load information and dynamically creates and removes cluster
members based on the workload for the configured dynamic cluster. WebSphere Virtual
Enterprise provides an advanced, intelligent routing function called the On Demand Router
that has all of the features of the HTTP Server plug-in with the additional ability to define
routing and service policies. The On Demand Router is required if you are setting up a
dynamic clustered environment.
There is a difference in the installation and configuration steps that need to be done in order
to achieve a static and a dynamic cluster. For dynamic clusters, WebSphere Virtual
Enterprise has to be installed on all Portal nodes and on the deployment manager node. The
tasks that you run to configure a dynamic cluster member are different from the tasks used to
create static members. So make sure you are following the right configuration path and you
run the appropriate tasks.
For details about configuring a WebSphere Portal dynamic cluster on IBM AIX operating
system, visit:
Creating a dynamic cluster on AIX using WebSphere Virtual Enterprise.
The IBM WebSphere Portal Version 8.0 product documentation which also contains
information about creating dynamic clusters for other operating systems.
After you integrate WebSphere Portal Version 8 with IBM Connections Version 4.5, you have
the following items in your environment:
IBM WebSphere Application Server Network Deployment Version 8.0.0.5 or higher
IBM WebSphere Portal + Web Content Manager (extend) Version 8.0.0.1 or higher
IBM Content Template v4.1 (CTC) - to be used for IBM Web Content Manager (WCM)
Social Network portlet (SNP)
Social Media Publisher (SMP)
Web Application Integrator portlet (WAI)
IBM Connections Version 4.5 or higher
IBM Connections Portlets for WebSphere Portal (Profiles portlet enabled)
4.8.1 Prerequisites
The following prerequisites are required to integrate WebSphere Portal Version 8.0.0.1 with
IBM Connections Version 4.5:
WebSphere Application Server Version 8 fixpack level 8.0.0.5 or higher for WebSphere
Portal V8.0.0.1
WebSphere Application Server Version 8 fixpack level 8.0.0.0 or higher for IBM
Connections
WebSphere Portal Extend Version 8.0.0.1 or higher installed
IBM Connections Version 4.5 installed
Supported databases are: DB2, Oracle, and SQL Server
IBM Tivoli Directory Integrator on the same physical server as the IBM Connections
database
Static cluster deployment for WebSphere Portal
Federated LDAP user registry, with or without Secure Socket Layer (SSL), and keeping the
file system user repository
Note: For a detailed list of the prerequisites for installing the two products, visit the
following pages:
WebSphere Portal V8.0 and V8.0.0.1 detailed system requirements
System requirements for IBM Connections Version 4.5
4.8.3 Topology for integrating WebSphere Portal Extend Version 8.0.0.1 with
IBM Connections Version 4.5
The following figure shows a common topology for integrating WebSphere Portal 8.0.0.1 with
IBM Connections 4.5. This is what is used in this guide.
You should take note of the following guidelines while you deploy your infrastructure:
Single LDAP federated across both instances and SSO configured.
HTTP web servers can and should be shared across the two instances. This is discussed
further in 6.4.1, Configuring the same HTTP server for IBM WebSphere Portal and IBM
Connections on page 81.
A single database server could be shared across both instances.
Components could be rationalized further. A single utility server could host: DB2, LDAP,
TDI, etc.
For configuration of SSO and community pages, we found the instructions in the WebSphere
Portal documentation alone to be useful. The Connections documentation adds information
about configuring the Connections portlets and deeper security integration between the
products.
SSO
The minimum configuration to enable IBM Connections integration with WebSphere Portal is
described at this page. There are four basic steps, and product documentation is not
repeated in this guide:
Set up single sign-on
Set up single sign-on to ensure that visitors receive only one authentication challenge. In
our case, we achieved this by accessing the two servers on the same domain and
exchanging LTPA keys between the two servers. This topic provides steps to achieve this.
Additional reference
This section does not provide steps of installing IBM Connections since they are well
documented in elsewhere already. Rather, we provide the necessary references for you to get
the information on setting up IBM Connections.
4.8.8 Setting up IBM WebSphere Portal and IBM Web Content Manager
IBM WebSphere Portal and IBM Web Content Manager (WCM) are used together to create,
manage, and deliver content for your website. You can create content using the web content
authoring portlet, or create your own customized authoring interface. Web content stored in
external content management systems can also be referenced within a WCM system. You
can deliver your web content using web content viewer portlets, the WCM servlet or
pre-render your site to HTML.
WCM builds on top of WebSphere Portal. WebSphere Portal Extend Version 8 contains WCM
Version 8. If you have a Portal base environment installation, you can add the WCM
packages, but be careful about the deployment considerations of your environment.
Note: For more information about IBM Web Content Manager, click here.
In this guide, we use IBM WebSphere Portal Extend Version 8 in our scenario. To install this,
obtain and unarchive the following packages:
IBM WebSphere Application Server version 8 with at least Fix Pack 8.0.0.5
IBM WebSphere Portal Server version 8 with at least Fix Pack 8.0.0.1
IBM WebSphere Portal Extend version 8 with at least Fix Pack 8.0.0.1
IBM WebSphere Supplements version 8 with the latest Fix Pack in case you need to install
and use IBM HTTP Server powered by Apache and IBM Plugins
IBM Content Template Catalog version 4.1 (CTC)
The above packages can be added to an IBM Installation Manager repository and used to
install you server environment. You can always choose the silent installation option. In this
guide, we use IBM Installation Manager Version 1.7.1.
2. Clicking Next takes you to the screen where you have to accept the license agreement
after carefully considering the information presented.
3. Choose the installation paths for WebSphere Application Server and WebSphere Portal
Server in the next screen.
CTC Version 4.1 can be obtained from the the IBM Collaboration Solutions Catalog. The
archive we installed is called CTCInstall.zip and it has to be expanded on the machine where
the Portal node is installed. We took into consideration a one-node portal environment. If you
use a horizontal portal cluster, then CTC has to be installed on all nodes. For virtual portals
follow the steps described by following this link. More information about CTC is also available
there.
Before installing CTC, locate the ctc.properties file and add a valid value for parameter
PROFILE_DIR which is the path to the profile directory. You also should add valid values in
the wkplc.properties file for the WasPassword and PortalAdminPwd parameters.
To install CTC, you need to run the following command from within the folder you expanded
the CTC archive:
IBM Security Directory Server provides a server that stores directory information using a DB2
database. It also provides a proxy server for routing LDAP operations to directory servers with
database. IBM Security Directory Server provides client utilities and graphical user interfaces
(GUI), such as Instance Administration Tool (idsxinst) and Configuration Tool (idsxcfg), to
manage servers.
LDAP pre-requirements
To ensure that the Profiles population wizard can return the maximum number of records from
your LDAP directory, set the Size Limit parameter in your LDAP configuration to match the
number of users in the directory. For example, if your directory has 100,000 users, set this
parameter to 100000. If you cannot set the Size Limit parameter, you can run the wizard
multiple times. Alternatively, you can write a JavaScript function to split the original LDAP
search filter, run the collect_dns_iterate.bat file, and then run the
populate_from_dns_files.bat file.
To prepare to configure your LDAP directory with IBM WebSphere Application Server,
complete the following steps:
1. identify LDAP attributes to use for the following roles. If no corresponding attribute exists,
create one. You can use an attribute for multiple purposes. For example, you can use the
mail attribute to perform the login and messaging tasks.
Display name: The cn LDAP attribute is used to display a person's name in the product
user interface. Ensure that the value you use in the cn attribute is suitable for use as a
display name.
Log in: Determine the attributes that you want the users to use to log in to IBM
Connections. For example, uid.
Messaging: (Optional) Determine which attribute to use to define the email address of
a use. The email address must be unique in the LDAP directory. If a user does not have
an email address and does not have an LDAP attribute that represents the email
address, that user cannot receive notifications.
Global unique identifier (GUID): Determine which attribute to use as the unique
identifier of each user and group in the organization. This value must be unique across
the organization.
2. Collect the following information about your LDAP directory before configuring it for
WebSphere Application Server:
Directory Type: Identifies and selects a directory service from the available vendors
and versions.
Primary host name
Port
Bind distinguished name
Bind password
Certificate mapping
Certificate filter, if applicable.
LDAP entity types or classes: Identifies and selects LDAP object classes. For example,
select the LDAP inetOrgPerson object class for the Person Account entity, or the LDAP
groupOfUniqueNames object class for the Group entity.
Search base: Identifies and selects the distinguished name (DN) of the LDAP subtree
as the search scope, for example, select o=ibm.com to allow all directory objects
Installation guidelines
You must consider some restrictions before you begin the installation of IBM Security
Directory Server with the IBM Installation Manager. For information, click here.
Installation repositories
The installation repository is the location where the IBM Security Directory Server packages
are available for installation. For information, click here.
With IBM Security Directory Integrator, you translate this atomic understanding of the
integration problem directly into a solution, building it incrementally, one flow at a time, with
continuous feedback and verification. This approach makes integration projects easier to
estimate and plan, sometimes reducing this effort to the counting and costing the individual
data flows to be implemented. Completing a task in runnable steps also allows you to
regularly demonstrate progress to stakeholders.
7. In the Choose Install Set page, select Typical and click Next.
9. In the TDI Server Ports page, accept the default values and click Next.
11. In the Integrated Solutions Port Values page, accept the default values and click Next.
13. In the Pre-Installation Summary page, review the information in the Pre-Installation
Summary window and click Install.
You have now finished the IBM Tivoli Directory Integrator V7.1 installation.
IBM Connections can be integrated with IBM FileNet Content Manager using the Linked
Library widgets so that IBM Connection documents can be stored in the enterprise content
repository managed by IBM FileNet Content Manager.
FileNet Services for IBM Quickr is an adaptable web service component that integrates IBM
Connections server and IBM FileNet Content Manager. A Linked Library is a custom IBM
Quickr widget installed on the IBM Connections server and by default it is not enabled.
7. To validate FileNet Services for Quickr services, enter the following URL. This service
status would be either running or stopped.
After:
Configuring single sign-on for users is recommended over using basic authentication for user
interactions as with basic authentication, each user has to manually authenticate with all the
systems being integrated which is troublesome and is only suited during development and
troubleshooting but not in a production environment.
4.9.1 Using LTPA for single sign on between IBM Connections and WebSphere
Portal
This section describes the steps that are required to enable single-sign-on (SSO) between
IBM Connections and WebSphere Portal when they are on different WebSphere Application
Server cells. Applications that are deployed on servers within the same WebSphere
Application Server cell are enabled for SSO by default.
To allow SSO between IBM Connections and WebSphere Portal, complete the following
steps:
1. On the server where IBM Connections is installed, enable SSO:
a. Log in to the WebSphere Application Server Integrated Solutions Console as an
administrator, expand Security Global security.
b. Expand Web and SIP security and then click Single sign-on (SSO).
Note: Ensure that the domain name you enter is valid: On the node where WebSphere
Portal is installed, log in to the WebSphere Application Server Integrated Solutions
Console as an administrator, click Security Global security Web and SIP
security Single sign-on (SSO) and verify that the domain name is present. If not,
repeat this step for WebSphere Portal as well.
Fully qualified key file name Specify a valid path and a name for the file that stores
the exported keys
Fully qualified key file name Specify the name of the IBM Connections key file that
you exported.
c. Click Import keys.
4.9.2 Other mechanisms for SSO between IBM Connections and WebSphere
Portal
Other ways of setting up SSO between IBM Connections and WebSphere Portal are using
third party authenticator such as Tivoli Access Manager, SPNEGO, and SiteMinder.
To setup the federated repository and application security, follow these steps:
1. Open the WebSphere Administration Console:
http://connections.example.com:9060/ibm/console.
2. Log in with the user you previously defined as administrator.
4. Click Configure.
7. Type a name in the "Repository identifier" field, select a Directory type, type the "Primary
host name," and then type the user name and password of the "Bind distinguished name."
Use default values for the other fields.
9. Fill the first field with the value of the base DN of the user container of your LDAP server.
This changes depending on the type of LDAP that you have. In this example, TDS is used
so the value isdc=connections,dc=example,dc=com.
The second field defines the location in the LDAP directory information tree from which the
LDAP search begins. The entries beneath it in the tree can also be accessed by the LDAP
search. In this example, the value is dc=connections,dc=example,dc=com.
For other LDAP servers:
Domino - Type ou=, o=, (for example, all that follows CN=username in the User Name
in Domino in both fields)
Active Directory - Use the same value as TDS.
When you are done, click Apply and then click Save.
Optional: If you want to set up SSO later, you must do the following:
3. Insert the Domain name (for example, example.com) and then select the "Interoperability
Mode" check box.
4.10 Troubleshooting
Troubleshooting an environment consists of IBM WebSphere Portal Version 8 and IBM
Connection Version 4.5 requires you to acquire data about the two products installation
details, versions and logs. You can use various scripts, techniques, and patterns to address
issues that you might find when running your environment.
In case you cannot resolve the problem by yourself, there is the option of creating a Problem
Management Record (PMR) with your local IBM support or by this link. Opening a PMR
requires you to provide your IBM Customer Number (ICN), version details of your
environment, and the description of the problem. You can find more information about how to
create a PMR by click here.
During the indexing process, bookmarks created in the Activities, Communities, and
Bookmarks applications are indexed into the same document, and the details of the link, such
as its tags, are used to supplement the document in the index. For example, a blog posting
that was bookmarked in the Bookmarks application has facets for both Bookmarks and Blogs.
Facet Description
This facet enables users to filter search results first by year, and then by year
and month.
Tags The complete set of tags used for the full text result set, including tags
associated with bookmarks created in the Bookmarks, Activities, and
Communities applications.
Related people The complete set of users associated with the full text result set. This facet
includes associations mined from bookmarked content in Activities,
Bookmarks, Communities, Files, Forums, and Wikis. Related people also
include shared authors on blogs and people who have commented on blogs.
Source component The IBM Connections application from which the results were retrieved.
Users can filter results by source using the options at the side of the Search
Results page.
These facets are calculated at indexing time for optimum performance at search time.
Index settings
Indexing is automatically configured in IBM Connections. However, when setting up indexing
for your environment, you might need to perform additional configuration tasks. For
information, click here.
SearchCellConfig commands
The SearchCellConfig commands are used to configure the location of the Search index and
the IBM LanguageWare dictionaries used by Search, and to configure the file download and
conversion service used when indexing file attachments. For information, click here.
SearchService commands
The SearchService commands are used to create, retrieve, update, and delete scheduled
task definitions for the indexing and optimization Search operations. For information, click
here.
IBM WebSphere Portal and IBM Connections should have already been setup from the
previous section.
Rational Application Developer is part of the Rational Software Delivery Platform family of
products. Built on Eclipse 4.2, it is an extensible and customizable platform for constructing
and integrating software development tools. Each product in the Rational desktop family uses
the same integrated development environment (IDE). The differences among these products
reflect the optional features that are available and installed in each configuration.
The following table lists and describes some of the features that are available in Rational
Application Developer:
Feature Description
Web developer tools Graphical tools for building powerful server-side web applications that
are based on JavaServer Faces, JavaServer Pages, Portals, and
Portlets
Tools for HTML 5, CSS 3, JavaScript, Dojo (Dojo Toolkit 1.9), and
jQuery (jQuery Core 1.9.1, jQuery Mobile 1.3.1)
Rich Page Editor, a WYSIWYG and source editor
Simulation and testing tools to see how your application looks and test
on fixed and mobile devices
Enterprise developer Editors, validators, quick fixes, and many other tools that simplify the
tools development process with complex programming models and help
you focus on automating your business
Support for Java EE 6, from the web (JSF, JSP) to the middle tier
(EJB) and beyond (JPA, JCA)
Support for frameworks for building modular, service oriented software
(OSGi, SCA)
Collaboration, quality, Team collaboration with the Rational Team Concert client
and build A multi-language debugger that can transfer debug sessions in real
time, or across time zones
Code coverage tools that are tied into the editing, check-in, and build
phases of the development cycle
Static and dynamic analysis tools for finding anti-patterns,
performance problems, memory leaks, and misbehaving threads
Integration with Apache Maven
Cloud computing Direct integration between Rational Application Developer and IBM
SmartCloud Enterprise that offloads your WebSphere test
environment from the desktop to the public cloud
Tools for developing virtual application pattern workloads for an IBM
Workload Deployer or IBM PureApplication System private cloud
Additional reference
Note: To get detail instruction on installing Rational Application Developer, follow the
product documentation:
With Web Experience Factory, developers can quickly and easily leverage their company's
core assets, and automatically assemble them into custom, high-value portlets. Portlets
created with Web Experience Factory are dynamic and robust Java Enterprise Edition (JEE)
applications that react automatically to change. These portlets can be further modified by
By eliminating the need to code all of these implementations and their variations, Web
Experience Factory simplifies the development, publishing, and change management
process, saving companies time and money.
Feature Description
Supports rapid development of This development environment reduces the modify-test cycle from
portlets by running them several minutes to seconds, enhancing developer productivity.
stand-alone in WAS Liberty
Automates the creation of The Web Experience Factory rapid application development (RAD)
multiple-page custom portlets capabilities and ease of use enable developers of all skill sets to
create multi-page, complex portlets.
Many portlets and patterns may be built using the existing Web
Experience Factory builders with little to no coding necessary,
while coding is still possible for those that wish to build Web
Experience Factory wizard-like builders encapsulating custom
business patterns and logic.
Robust integration capabilities Web Experience Factory provides automatic integration with
with enterprise applications and existing applications and data including SAP, Lotus Domino, Web
data Services, relational databases, and Microsoft Excel.
Automatic integration with IBM With Web Experience Factory, you have direct integration with
WebSphere Portal WebSphere Portal features such as portlet wiring, Click-to-Action,
business user configuration, people awareness, WebSphere Portal
groups, and the credential vault. Portlets are published
automatically to WebSphere Portal software.
Support for SOA development Web Experience Factory provides powerful technology for
speeding the creation of service-oriented applications (SOA) and
portlets. It includes data services builders along with data
integration builders that together automate the process of creating
services from systems such as SAP and IBM Lotus Domino. This
services approach provides a clean way to separate the back end
services of an application from the presentation layer. It also
automatically creates testing support for back end services, and it
enables front end presentation development and testing without
requiring a back end connection.
Creates many portlet variations With the profiling capability of Web Experience Factory, developers
from a single code base can easily create multiple portlet variations from one code base,
without requiring any additional code changes or republishing.
Automates frequently occurring By creating new builders, developers and architects can capture
development tasks commonly used design patterns and company-specific business
processes as reusable components for all developers, enforcing
application architecture and development best practices.
Additional reference
Note: To get detail instruction on installing IBM Web Experience Factory, follow the product
documentation:
An organization is likely to deploy IBM Connections alongside other systems when they are
looking to maximize their manageability through the ability to quickly adopt updates and new
features without disruption or significant development costs after the purchase. Leveraging
the product mostly out of the box means time and efforts are able to be spent on
infrastructure, adoption, governance, and steady state support as opposed to software
development tasks. Your organization may find this to be a desirable state based on available
in-house skills or resource availability considerations.
The IBM Connections documentation includes some best practices when customizing the
user interface that can be found here.
In the scenario we discuss here, we show you how to leverage the side-by-side deployment to
address the needs of a government agency that wants to provide social capabilities for
As per the WebSphere Portal documentation configure web single sign (SSO) on between
Connections and Portal. This step is required for most of the scenarios discussed throughout
this guide.
Be sure to test LTPA SSO by logging into Portal and changing the URL to a Connections URL
which is protected, like /homepage/. If you are not challenged for credentials, then your SSO
configuration is successfully configured. It is also recommended that you take a moment to
test inter application interaction within Connections before proceeding. Do this by browsing to
an existing community or create a new one. Add a new feature that is not already there, such
as an Ideation Blog. If the operation completes as expected, your testing is a success.
6.4.1 Configuring the same HTTP server for IBM WebSphere Portal and IBM
Connections
Both IBM Connections and IBM WebSphere Portal Server (WP) make use of the IBM HTTP
Server (IHS) in order to optimize caching operations, to offer a way of separating static HTTP
content from the application server, and to provide other benefits as well. When deploying
IBM Connections alongside an existing WP deployment, one of the strategies we can employ
to promote accessibility and further future integrations is to deploy IBM Connections as an
extension of your existing digital experience. This ensures that the URLs to access
Connections is similar to the URLs already in use for the WP. Assuming WP is accessed by
the user community as intranet.demos.ibm.com, we setup Connections to make use of that
base URL as well.
The IBM System Console (ISC) provides an automated process to deploy the IHS plug-in for
both Connections and Portal. This process assumes that the respective products are the only
applications running on the servers. The result of completing the configuration steps in the
ISC is an XML file, keyring file, and a stash file which are copied to the web server. The XML
files generated for both WP and Connections, typically named plugin-cfg.xml, are comprised
of the same basic sections with no name space overlap by default. This means the process of
integrating your Connections deployment into your Portal deployment at a high level requires
Preparation
As part of the preparation, you need to configure SSL for the HTTP server.
Upon initial inspection, you will notice there are a few differences in the declaration, and an
additional defined when comparing the two plugin-cfg.xml files. We will integrate the
Connections settings into the Portal plugin so we will trust the Portal values here which
already exist unless you have specific tuning parameters for Connections which need to be
preserved.
HostGroup settings
We will focus on the section for default_host first. Copy any unique VirtualHost definitions
from the Connections plugin file into the Portal plugin file. In our example deployment, the
Portal plugin-cfg.xml contained:
<VirtualHostGroup Name="default_host">
<VirtualHost Name="*:9081"/>
<VirtualHost Name="*:80"/>
<VirtualHost Name="*:9444"/>
<VirtualHost Name="*:5063"/>
<VirtualHost Name="*:5062"/>
<VirtualHost Name="*:443"/>
<VirtualHost Name="*:10046"/>
<VirtualHost Name="*:10049"/>
<VirtualHost Name="*:10027"/>
<VirtualHost Name="*:10025"/>
<VirtualHost Name="*:10028"/>
<VirtualHost Name="*:10039"/>
<VirtualHost Name="*:10029"/>
<VirtualHost Name="*:10032"/>
</VirtualHostGroup>
<VirtualHostGroup Name="default_host">
<VirtualHost Name="*:9080"/>
<VirtualHost Name="*:80"/>
<VirtualHost Name="*:9443"/>
<VirtualHost Name="*:5060"/>
<VirtualHost Name="*:5061"/>
<VirtualHostGroup Name="default_host">
<VirtualHost Name="*:9081"/>
<VirtualHost Name="*:80"/>
<VirtualHost Name="*:9444"/>
<VirtualHost Name="*:5063"/>
<VirtualHost Name="*:5062"/>
<VirtualHost Name="*:443"/>
<VirtualHost Name="*:10046"/>
<VirtualHost Name="*:10049"/>
<VirtualHost Name="*:10027"/>
<VirtualHost Name="*:10025"/>
<VirtualHost Name="*:10028"/>
<VirtualHost Name="*:10039"/>
<VirtualHost Name="*:10029"/>
<VirtualHost Name="*:10032"/>
<VirtualHost Name="*:9080"/>
<VirtualHost Name="*:9443"/>
<VirtualHost Name="*:5060"/>
<VirtualHost Name="*:5061"/>
</VirtualHostGroup>
ServerCluster settings
Next we need to transfer the ServerCluster sections from the Connections plugin into the
Portal plugin. Examine the existing cluster blocks to ensure there is no duplication of Name=
values. There should not be by default. Copy the entire block for each ServerCluster and past
it into the plugin-cfg.xml below the one that already exists.
UriGroup settings
Finally, we have the UriGroup and Route tag pairs. These should be kept together. The
default values should have no duplication, but examine just to be sure. Copy the contents
starting with the line:
<UriGroup Name="default_host_server1_<YOUR-NODE>_Cluster_URIs">
Until
Paste the block into the plugin-cfg.xml for Portal starting before the tag opens.
Wrapping up
You now have an integrated plugin-cfg.xml and the two application environments trust the
same key pair. Save this file and replace the one currently in use on the web server with this
one. Be sure to complete all of the steps for configuring the HTTP server for Connections,
You now have an integrated plugin-cfg.xml and the two application environments trust the
same key pair. Save this file and replace the one currently in use on the web server with this
one. Be sure to complete all of the steps for configuring the HTTP server for Connections,
with the exception of anything referencing propagating the plugin, and restart your IHS and
Connections servers.
6.4.2 Integrating IBM WebSphere Portal and IBM Connections using the Web
Application Integrator (WAI)
As with many technologies, there are multiple ways to ensure consistent branding between
websites. In looking at our example, this means we would potentially build our theme for
Portal, and then duplicate the same theme in the Connections interface. If the theme is simply
limited to a small logo, this may be the preferred method as it is simple, effective, and
relatively easy to maintain.
The WebSphere Portal theme header in our example is more complicated than just a small
image to live in the same spot on all pages. We decided that in order to centrally manage our
solutions header it would be better to use a different approach and leverage WAI to present
the Portal header in place of the Connections header. This requires adding the WAI code into
Documentation for installation and integration of WAI is found within the local file system at
the following directory after installation:
wp_profile/paa/WAIPortlet/components/WAIPortlet/documentation/Index.html
Alternatively, the documentation can be found in the following directory after unzipping the
webappintegrator.zip and WAIPortlet.paa files.
/webappintegrator/8.0.x/webappintegrator_for_Portal_8_0_x/WAIPortlet/WAIPortlet/co
mponents/WAIPortlet/documentation/Index.html
Note: The installation steps shown below are for a single node.
3. Copy WAIportlet.paa to a temporary directory on your portal server. Make sure the
WebSphere Portal Server is running.
4. Open a command prompt window and cd to wp_profile/ConfigEngine
5. Use the following commands to install and deploy WAI:
./ConfigEngine.sh install-paa -DPAALocation=/WAIPortlet.paa
-DWasPassword=waspwd -DPortalAdminPwd=wpspwd
Example:
Ensure you receive the following after running the above command.
./ConfigEngine.sh deploy-webAppIntegrator
-DWebAppIntegratorLocation=/paa/WAIPortlet/components/WAIPortlet/installableApp
s -DWasPassword=waspwd -DPortalAdminPwd=wpspwd
Example:
Ensure you receive the following after running the above command.
7. Assign a unique name to the "URL link" page to enable page for Exporting and Importing.
(ie.gov-social)
Example
Note: You must define which modules are used to render a page. Profiles specify which
modules are loaded on a page or whether they are deferred until after a page loads.
Important: Only profile.json files are allowed. Use Web_Dav or Web_Drive to see the
list of profiles in name of your
portal_server/wps/mycontenthandler/dav/themelist/ibm.Portal.80Theme/profiles
Note: Reference section 7.1.2, Configuring theme modules for social portlets on
page 103 for more details.
For footer.jsp
2. In the header.jsp, insert the following script before the WAI Generated HTML Script Tag.
<script type="text/javascript">
if (typeof djConfig != "undefined") {
var icConfig = djConfig;
}
</script>
<script type="text/javascript">
if (typeof icConfig != "undefined") {
djConfig = icConfig;
}
</script>
Example:
4. Save your files and restart your Connections server to see the custom Portal theme
displayed.
Connections also allows for more dynamic reading of the customization directory through the
WAS environment variable 'CONNECTIONS_CUSTOMIZATION_DEBUG' which can be set
while you are developing your user interface. Keep in mind it is a best practice to not leave this
setting enabled for a production deployment.
There are many ways to customize the IBM Connections user interface. You can change the
appearance of the IBM Connections login page to meet your organization's needs. For
example, you can replace the IBM logo that is displayed on the login page with your own
company logo. Or you might want to include a link that enables users to have their user IDs or
passwords sent to them through email.
2. Copy the login.jsp file from the WAR file of one of the applications. You can access the file
from the following directory:
WAS_HOME/profiles/profile_name/installedApps/cell_name/application_name.ear/a
pplication_name.war/nav/templates
where:
WAS_HOME is the directory to which you installed IBM WebSphere Application
Server.
profile_name is the profile to which you installed one of the IBM Connections
applications.
cell_name is the cell to which you installed the application.
application_name.ear is the EAR file name for the application.
application_name.war is the WAR file name for the application.
For a list of the web application source directories that are packaged with IBM Connections,
see Application WAR files and OSGi bundles.
The login.jsp file is the same for each application. You only need to make a copy of one
instance of the file.
3. Paste the login.jsp file into the appropriate subdirectory of the customizationDir
directory.
customizationDir/common/nav/templates/login.jsp
customizationDir/application_name/nav/templates/login.jsp
To use the same login page for all of the applications, copy it into the common
directory:
To create a different login page per application, copy the file into the appropriate
subdirectory for each application:
Note: See Determining where to save your customizations for more information about
locating your base customization directory.
4. Edit the login.jsp file or files to contain the information you want.
Note: For information on how to replace the logo on the login page, refer to the steps
covered in Changing the IBM Connections logo.
Note: For more information, see Enabling and disabling customization debugging.
8. See Required post-customization step for details about how to apply your changes
permanently.
Review the user interface to determine what you want to customize. Use these instructions as
a general guide for customizing the user interface.
The style of the IBM Connections user interface is based on the IBM Collaboration Solutions
OneUI Toolkit 3.0
1. Find the file that serves as the source of the interface elements that you want to
customize. For a list of the web application source directories and OSGi bundles that are
packaged with IBM Connections, see Application WAR files and OSGi bundles.
2. Enable the customization debugging capability. For more information, see Enabling and
disabling customization debugging.
3. Copy the file that you want to customize and past it into the appropriate customization
directory. For more information, see Determining where to save your customizations.
Remember: You can find the sources for style sheets in the following JAR files:
WAS_HOME/profiles/profile_name/installedApps/cell_name/application_name.ear/applicatio
n_name.war/WEB-INF/eclipse/plugins/com.ibm.oneui3.styles_version.jar
Notes:
The com.ibm.lconn.oneui3.styles_version.jar file contains the IBM Collaboration Solutions
OneUI 3.0.x toolkit that includes image resources and sprites.
This JAR file contains the CSS files for all IBM Connections applications.
WAS_HOME/profiles/profile_name/installedApps/cell_name/application_name.ear/applicatio
n_name.war/WEB-INF/eclipse/plugins/com.ibm.lconn.core.styles_version.jar
Note: The com.ibm.lconn.core.styles_version.jar file contains CSS style sheets that extend or
override default styles from the OneUI 3.0.x toolkit.
Tip: For a list of the web application source directories that are packaged with IBM
Connections, see Application WAR files and OSGi bundles.
WAS_HOME is the directory where IBM WebSphere Application Server is installed.
profile_name is the profile where you installed IBM Connections.
cell_name is the cell where you installed the application.
application_name.ear is the name of the application EAR file. To customize interface
styles that are common to all applications, use the Common.ear file.
application_name.war is the name of the application WAR file.
Note: In previous releases of IBM Connections, the default style sheets were in the nav
subdirectory of the
WAS_HOME/profiles/profile_name/installedApps/cell_name/application_name.ear/applicatio
n_name.war directory. That location is deprecated in this release.
The following table identifies the source files for each user interface area.
Cascading style Note: If your users view the product in Arabic, Hebrew, or another
sheets right-to-left language, copy the defaultTheme_rtl.cssfile too.
/nav/common/styles/defaultTheme/custom.css
/nav/common/styles/defaultTheme/custom_rtl.css
To make extensive changes to the colors used in the product, edit the
following file:/nav/common/styles/defaultTheme/defaultTheme.css
Footer /nav/templates/footer.jsp
For example:
customizationDir/common/nav/templates/footer.jsp
customizationDir/files/nav/templates/login.jsp
To edit the footer and have the same footer be displayed in all of the applications, store the
updated footer file in the following directory:
To change the login page of a single application, store the updated login page file in the
directory where customizations that are specific to that application are stored. For
example, to change the login page of the Files application only, store the login.jsp file in
the files subdirectory instead of the common subdirectory:
1. Find the file that serves as the source of the interface elements that you want to
customize.
2. Enable the customization debugging capability.
3. Copy the file that you want to customize and past it into the appropriate customization
directory.
4. Edit the file in the customizationDir directory to make your changes.
5. Test your changes by refreshing the web browser. You might have to clear your browser
cache to see the changes.
6. When you are ready to publish your changes, turn off the customization debugging
capability.
For more information about customizing specific areas of the product, see the related topics.
When you are customizing IBM Connections, save your customized files to the appropriate
directory to ensure that your customizations override the default settings.
You can force applications to reload override files every time a browser request is made. This
capability shows your customization changes in the product instantly.
You can edit the files that control the content of the IBM Connections navigation bar to add to
the bar's functionality. For example, you can add extra links to the navigation bar, remove the
Log Out link, or insert extra drop-down menus.
Customizing images
You can update the images used in IBM Connections to suit the needs of your organization.
For example, you can replace the IBM logo with your company logo, or customize the sprited
images and file type icons that are used in the product interface to fit with your company's
branding.
You can change the look of the IBM Connections pages to give them a custom look by adding
new style definitions in the cascading stylesheet and applying that style to different parts of
the product user interface.
Edit the defaultTheme.css file to change the look of the user interface, such as changing the
font style or background color.
Customize the login page in IBM Connections to have the appropriate style and content for
your organization.
You can edit the files that control the content of the IBM Connections footer to improve the
footer's functionality.
You can replace a word or phrase in the product user interface with terminology that better
suits your environment.
IBM Connections supports a mechanism that allows you to override or extend the JavaScript
that is used in the different applications.
You can extend IBM Connections by adding your own custom JSTL tags to meet your
company's needs.
You can customize the header, footer, login, and error pages that prompt IBM Connections
users to grant/deny and revoke access to their Connections data for third-party applications
protected by OAuth. Also, you can edit the text strings that display on the Application Access
and Access Request interfaces.
In this section, we describe how to add, customize and view social content in the front end as
IBM WebSphere Portal using some of the features that are provided in portal such as social
rendering, IBM Connections portlets for Portal, social networking Portlets, IBM Docs, Digital
Data Connector (DDC) and IBM Forms Experience Builder. We cover how these features help
a page designer to easily add and customize the social content and give the customer a rich
exceptional social web experience. These features enable users to use social capabilities
within the context of WebSphere Portal. Users can always step out to IBM Connections from
Portal in case, if they want to do some actions specific to Connections.
In order to bring social content into your website, download the following software from IBM
Product download page:
IBM WebSphere Portal V8.0.0.1 with CF09
IBM Connections V4.5 CR3.
IBM Forms Experience Builder V8.5
IBM Connections Portlets for WebSphere Portal
IBM Digital Data Connector (DDC).
Note: IBM WebSphere Portal and IBM Connections server must share the same LDAP
and SSO should be enabled to achieve seamless integration.
The global proxy configuration file proxy-config.xml is located in Portal Server under
/config/cells//applications/AJAX Proxy Configuration.ear/deployments/AJAX Proxy
Configuration/wp.proxy.config.war/WEB-INF .
Modify the proxy-config.xml file by including the following element. Here, URL should point to
IBM Connections server :
./ConfigEngine.sh checkin-wp-proxy-config
-DProxyConfigFileName=dir_path/your_updated_proxy_file.name
-DWasPassword=WAS_admin_password
The ConfigEngine ant task must return a value of 0. This indicates that the configuration has
run successfully. In case, if the ant task shows build failure. Then, open the ConfigTrace.log
file located in directory /ConfigEngine/log to troubleshoot the issue.
To confirm whether the configuration is successful, open a browser and execute this URL:
http://:/wps/proxy/https//forums/atom/forums/public
Make sure that you are getting an ATOM XML feed document as shown below:
Note: You do not need to perform any additional steps for the sample portal pages that are
deployed under IBM Connections when you install the IBM Connections V4.5 portlets.
Those pages are already configured to use the full profile theme.
A profile defines the modules that are used to render a page for the theme.
Follow the steps below to add or remove the Dojo modules required for Connections portlet to
be deployed in custom portal page:
1. Download AnyClient FTP client.
2. Using AnyClient, we can connect to Portal Server through the WedDAV protocol. Enter
the values for AnyClient as mentioned below.
Host http://portal.demos.ibm.com:10039/wps/mycontenthandler/dav/themelist
/
UserName wpamdin
Password wpadmin
Protocol WebDAV
7. After modifying the themes in your local system, upload the modified
profile_deferred.json file to the directory /ibm.portal.80Theme/profiles/ using
AnyClient. Restart Portal Server.
8. We can now find that the Connections Portlets like Activities, Forums, Blogs are displayed
in WebSphere Portal without error.
Using IBM Connections portlets, you can also integrate Connections services into
WebSphere Portal environment such as blogs, forums, wikis etc. Connections communities
can be integrated into your Portal site to enhance your portal's social collaboration
capabilities.
Prerequisites
Prerequisites for using community pages and Connections portlets are:
Make sure the IBM WebSphere Portal and IBM Connections server are running properly.
IBM Connections Portlet must be deployed and configured.
In this section we will describe how to use community pages and Connections portlets.
The following IBM Connections portlets are available to use inside portal:
Activities Collaboration tool for collecting, organizing, sharing, and reusing work related
to a project goal.
Activity Stream Integration portlet that lets you monitor and interact with people and
content that you are following.
Blogs Online journals you can use to deliver timely information with a personal touch.
Bookmarks Social bookmarking tool that you can use to save, organize, and share
Internet and intranet bookmarks.
Tags Meaningful keywords you can use to find associated content.
Profiles Directory of colleagues you can use to build a network and locate expertise.
Wikis Repository for sharing and collaborating on pages of interest to your group.
Forums View and contribute to discussion topics.
Community Overview View basic community information like the description, tags, and
community owners. Perform basic community actions from the portlet.
Blogs Summary Choose a view to see a snapshot of recent, latest, or featured blog
activity
Profiles Summary View a summary of information about your colleagues.
Forums Summary View a list of forums that you can access.
Bookmarks Summary View a list of bookmarks you can access.
Library Upload, manage, organize, and collaborate on community files contained in a
library.
Further using these portlets, Portal pages can be configured to surface a community specific
data on a portal page.
These portlets can also be used to search Connections content in portal search. When
Connections search is configured in portal, social data from Connections can also be
searched along with portal content via Portal Search center. When user clicks on
Connections content in the search results, user is navigated to the IBM Connections porlets
(if configured on portal pages) or IBM Connections.
All Summary portlets are read only, lightweight portlets to display Connections content. By
configuring navigation, when a user clicks on any content on a Summary portlet, the user can
be navigated to Details portlet or to Connections to perform creation and editing functionality.
Prerequisites
Before starting with the installation process, make sure the following are true:
Portal and Connections are running properly.
SSO is working correctly between Portal and Connections.
SSL certificate from Connections is imported to your WebSphere Portal server.
Follow the procedure as documented in the product wiki here for installing the portlets.
Follow the documentation Configuring the portlets on a page to manually create pages and
deploy portlets on them.
6. This enables you to provide community association. Select community tab and click on
Select a community button.
5. This will take you to screen to search/select communities available in configured IBM
Connections Server.
By performing above steps, you have made this portal page community aware. Any IBM
Connections portlet placed on this page would be able to surface content which is from the
associated community only.
Note: For more information about the architecture of VMM, see the article Virtual Member
Manager Integration from the IBM WebSphere Portal wiki.
Note: For more information about configuring a user repository for VMM, see the white
paper Setting up a custom user repository from IBM developerWorks.
After VMM is configured, access to the community pages in portal can be restricted to only
the members of the community. This can be done by manually assigning permission to the
community pages, to only the groups representing the respective community or via the Portal
UI (from Portal 8 onwards) as described below:
1. Go to Edit Mode of the page that has to be associated to the community.
2. Hover over Community, (here you will see the community id or name, if this page is already
mapped to the community), click Edit.
3. In the Page Association window, follow the steps below to select the Community.
5. After the user selects the desired community, then select Limit access to this page to
only community members. This restricts the members access.
Note: The checkbox "Limit access to this page to only community members" is not
available by default but it can be enabled as described in the article Automatically grant
page access to community members. This way, only the members of the community can
view and interact with the respective community page.
For more details on setup of VMM to configure connections repository in Portal, refer to the
product documentation.
Run the following command to remove the configuration for the Connections business card:
Manual configuration
To manually configure business card, follow these steps:
1. Login to the portal server's WebSphere Application Server Admin Console using
Administrator credentials.
2. Navigate to Resources URL URL Providers and then select the Default URL
Provider at the top of the hierarchy.
4. It will take you to the screen where you can add new URLs. Click on New.
On clicking on this yellow pop-up it will display connections business card as shown below.
The communication between the Tags portlet and the Service portlet happens by the means
of portal events (property broker architecture). Every Service portlet fires a property broker
event as Tags Payload and accepts Selected Tag.
4. Click Edit Layout Icon to get the option to edit layout of this page. In this edit screen, you
can go to the Tags portlet. Click on the drop down and select Edit Shared Settings.
5. In the Shared Settings pop-up window, you get the options for all the available
Connections services. Make sure pop-ups are enabled in browser.
8. From the drop down, you can select the the Source portlet and Corresponding target
portlet as mentioned in the table. For our scenario, we create two wires, one from Tags
9. After Successful addition of wires, the screen would look like below:
10. Click Done and now you have successfully created wires between Tags and Forums
portlet.
Testing
To test this functionality, navigate to this page and then select any tag from the Tags portlet.
The corresponding Service portlet will filter its view according to the selected tag. Similarly, on
switching between the various views of Service portlet, the Tags portlet will refresh itself to
display only tags which are most appropriate for selected view.
By following the above specified steps, wires can be created between Tags and any Service
portlet.
All Summary and Details portlets are community-aware which means when these portlets are
put into a community mapped page, these portlets are capable of rendering only data relevant
to the community.
Clicking on an item in Summary portlets, it takes user to the corresponding Details portlet or
IBM Connections as applicable, using Portal piece of content (POC) approach. POC
framework allows navigation between the portal pages and shares information between
portlets using Shared Public and Private Render Parameters.
The following figure shows a list of recent blog posts. You can see the summary of the blog
post and also the entire blog detail.
There are other customization options in the Edit shared settings mode in every Summary
portlet, to modify the behavior of portlet.
Profiles Summary portlet when put in non-community page, it enables user search as follows:
When Profiles Summary portlet is put in a community page, it will list all the members of that
community.
Social rendering feature enables a page editor to display social objects hosted on a remote
IBM Connections server inside WebSphere Portal server using WCM conventions
(presentation template, authoring template, PZN & HTML components, piece of content, and
a web content portlet). This allows separation of concerns, meaning that the designer can
then quickly or easily modify the visual appearance of social data to match the portal design,
whereas the content author may define the content that will be available for a page editor.
Page editors can easily add social list definitions by using this feature. WCM social rendering
capability is a flexible way to query and render IBM Connections social content. It allows to
integrate social content in a portal web page with little effort. This provides an option to keep
users within portal and view the social content which avoids media discontinuity or direct
users to IBM Connections native user interface when required.
By default, the social rendering feature is disabled in IBM WebSphere Portal 8001. Once the
feature is enabled, portal displays content as below in Edit Mode. Enabling this feature also
displays the IBM Connections web content library in WCM. Page Editors can select the social
list definitions which they want to add in their portal pages from the content tab in Edit Mode.
They can also customize the look and feel of social list definitions using the WCM
Personalization component. It is recommended to use the WCM Social Rendering portlets
instead of IBM Connections Summary portlets.
Prerequisites
Prerequisites for using WCM social rendering:
IBM WebSphere Portal and IBM Connections server are running properly.
SSO is configured.
Social rendering is enabled.
For SSO configuration, refer to 4.9.1, Using LTPA for single sign on between IBM
Connections and WebSphere Portal on page 61
In this section we will cover the social rendering features, configuring it, and customizing the
social list.
Site designers provide the formatting components and define them in a style that is consistent
with your portal pages. They can also customize and extend this set of formatting
components. This way your page editors do not need to know the markup generation and
CSS styling details of the formatting components. Even without that knowledge, they can still
choose from a rich, but consistent set of visual designs for your lists.
As a result, page editors can focus on assembling meaningful portal pages that are enriched
by social data. They select the appropriate content for the individual portal pages and lists of
social objects to be rendered alongside. Inline editing capabilities allow to select the visual
appearance of the social list. They can also adjust the selection logic of the social list. For
example, they can show the most recent blog entries that are created in the IBM Connections
community to which the current page is associated. Page editors can select individual social
lists from a set of predefined social list definitions and drop them onto portal pages. When a
page editor drops a social list onto a portal page, the corresponding content item that
represents the social list definition is copied to the page. The page editor can then modify it
independently of other social lists on the same page or other pages as the modification is
performed on the item that had been copied to the page.
In general, social lists combine a specific query for social data from IBM Connections with a
formatting component that determines the looks of the query results. The formatting
components are IBM Web Content Manager (WCM) personalization components. The social
list definitions are stored as WCM content items of the type Social Objects Query. As a
consequence, social list definitions function the same functional aspects as other WCM
content with regards to versions, workflow, and syndication.
The new social rendering capabilities leverages Digital Data Connector (DDC) framework to
build custom social list using Connections query URLs and render the data using WCM. It
also provides capabilities to implement user interactions. Site designers can implement
formatting components that support an interaction between the user and the social data. For
example, a user can post a new reply to a forum topic or delete a previous reply.
The social lists that are provided with social rendering use the IBM Connections search
service feed to retrieve the social objects displayed in the list. This has the following
consequences:
Only information that is available in the Connections search feed can be displayed in the
social lists.
Updates to social objects in Connections do not appear in the social lists provided with
social rendering until the index of the Connections search service was updated.
The benefit of using these new social list is that the social data served using these social lists
is updated as it does not depend of search service.
These profiles can be used to define social list for the following types of social data that is
served by the Connections server:
The profiles define the attribute names that you can use in your [AttributeResource] tags
when you generate the HTML markup for your bean lists. You can either manually add the
AttributeResource tags to the design component of a social list, or you can use the Insert a
Tag user interface of WCM. Example: If a profile defines an attribute that is named title, you
can write out the title value of the items in your list by using the following tag:
[AttributeResource attributeName="title"].
User interactions
Social lists are more than a presentation of social data that is hosted on a remote
Connections server. Site designers can implement formatting components that support an
interaction between the user and the social data. For example, a user can post a new reply to
a forum topic or delete a previous reply. The sample list appearance components contain
HTML form definitions that you can use to create, modify, and delete information on the
Connections server. All interactions are implemented by using the generic Digital Data
Connector data sink plug-in.
Note: For more information, read The generic XML Digital Data Connector data sink, refer
to the article The generic XML Digital Data Connector data sink for more details.
You can add the theme module to your theme by running a ConfigEngine task:
You can also add theme module using any WebDAV client.
Note: For more details, refer to the article, Configuring the maximum number of items
loaded from IBM Connections.
Note: For more details, refer to the article, Configuring the tags transmission limit.
Note: For more details, refer to the article, Configuring globally how social object data is
served.
Note: For more details, refer to the article, Configuring globally how social object links are
resolved.
To modify the file type mapping, perform the following steps in WebSphere Integrated
Solution Console:
1. Navigate to Resources Resource Environment Resource Environment
Providers.
2. Select WP ConnectionsIntegrationService.
3. Click Custom properties under the Additional properties section.
4. Add or modify the values for file.type.mapping.type property.
5. Save the changes.
6. Restart portal server.
For example, adding a property with name as file.type.mapping.wordProcessing and
value as
.doc,.docm,.docx,.dot,.dotm,.dotx,.en4,.enw,.leg,.lwp,.lwp7,.manu,.msw,.mwp,.mwp
2,.mwpf,.odc,.odg,.odt,.ort,.otg,.oth,.otm,.ott,.pages,.pcl,.rtx,.std,.stw,.sxd,.sxq,.sxw
,.w6,.w97,.wm,.wp5,.wp6,. wpf will inform WCM to consider the files with these
extensions as word processing documents. Here the values are comma separated.
There are three steps to use the SocialListCache rendering plug-in. They are :
1. Starting social list rendering : To render the social list personalization component that is
identified by a component reference element named design, you can use the
SocialListCache rendering plug-in as follows:
Example:
In case, if you do not want to create dedicated presentations that do not use social list
caching, then you can trigger the direct rendering of the personalization element by using
the standard Element tag instead.
Example:
2. Looking up the value from the cache : The rendering plug-in tries to retrieve a possible
previous rendering result for the social list from the cache. This cache lookup is performed
3. Performing cache aware component rendering : After the cache lookup, you can skip
rendering subsequent components if there is a cache hit. To skip the cache lookup, wrap
the component references in a SocialListCache tag with the mode parameter set to
"onCacheMiss". You can skip the cache lookup by the first statement in the Result design,
Footer, and No result design sections of social list personalization component.
For example, the result design might look as follows:
[Plugin:IBMConnections:SocialListCache mode="onCacheMiss"]
[Component name="path/to/design/HTML component"]
[/Plugin:IBMConnections:SocialListCache]
Additional reference
If you want to use social rendering with your own custom theme or a custom theme profile,
add the wp_social_rendering theme module to that theme profile. For example, you can do so
by using the add-theme-modules configuration task.
To add the wp_social_rendering theme module to your theme, register the theme module by
using the add-theme-modules portal configuration task.
Note: You can also add theme module using any WebDAV client refer 7.1.2, Configuring
theme modules for social portlets on page 103 for more details.
3. You can change how you want to show the results of social list to end users as per the
details given below:
a. Name: Use this setting to specify a name for the list of social items.
b. Display Title: Use this setting to specify the display title for the list of social objects. If
you use the default presentation template, a change to the display title also changes
the heading shown for the list of social objects on the page.
Note: Refer 7.3.2, Configuring social rendering on page 129 for more details
If you leave the Maximum Results field empty for a social list, then the value that is set in
the WP Connections Integration Service applies as the default.
5. Custom Properties (Hidden): This field is an optional input field. It is hidden by default.
To make it show, click Show hidden fields at the beginning or end of the screen. Add one
3. A pop-up window of Edit Form opens. Under List Appearance, Click on IBM
Connections / List Designs / Simple. The social list appearance can be formatted in two
ways: Simple and comprehensive list. Simple list as the name denotes displays only few
attributes. Comprehensive list displays attributes of the Social List in detailed form.
6. Navigate to HTML markup and select simple non profile body component.
12. This will insert the URL of document shown in the list. Click Save.
14. Click Close in List Entry Image. Close Simple Non Profile Body, Simple Body, Simple list
design.
15. The Page where we added Community Files List reloads and we can find that the portlet
is now showing the link to Open the file as below.
16. Click on one of the Open link. IBM WebSphere Portal can either resolve the links in the
context of the portal itself, or redirect the user to the IBM Connections user interface. In
this scenario the user is redirected to IBM Connections user interface. Please refer to
Similarly, you can customize the social list objects using WCM Personalization
Comprehensive List Design. The Comprehensive list design lists social objects in a more
detailed form as compared to simple list design.
Note: IBM WebSphere Portal & Web Content Manager v8.0.0.1 CF11 includes a set of
list-rendering profiles which can be used with IBM Digital Data Connector (DDC) for
WebSphere Portal plug-in. These profiles facilitate the transformation of data that is served
by the IBM Connections server into data structures that you can render using Web Content
Manager design components. These profiles define the attribute names that you can use in
your [AttributeResource] tags when you generate the HTML markup for your bean lists to
be rendered. You can either manually add the AttributeResource tags to the design
component of a social list, or you can use the Insert a Tag user interface of IBM Web
Content Manager. Example: If a profile defines an attribute that is named title, you can
write out the title value of the items in your list by using the following tag:
[AttributeResource attributeName="title"]. Refer to section 7.3.1, Social rendering
features on page 127 for more details.
The social lists rendered in Portal are created from the predefined Authoring template Social
List Definition. We can find this Authoring Template by logging into Portal as an
administrator, navigating to Applications Content Web Content Management
Libraries IBM Connections Authoring Templates Social List Definition. The
figure below shows the Social List Definition in WCM Authoring portlet. You can also create
your own Authoring Templates for social lists by extending Social List Definition Authoring
Template. You should add additional rendering elements in the Presentation template, so that
the content is rendered appropriately for the additional elements in social lists.
In section 7.1.2, Configuring theme modules for social portlets on page 103 and 7.3.2,
Configuring social rendering on page 129, you saw how to add a theme to a page as well as
adding theme module wp_social_rendering to a customized theme. The
wp_social_rendering theme module contains the default CSS styles that are used to define
the visual appearance of social lists. You can define your own customized styles by modifying
the theme modules and CSS files. This CSS style makes social objects render differently for
different devices like tablet, smart phones, desktops etc based on the layout container that
contains the social list web content viewer. There are different CSS classes that are assigned
to these layout containers to render differently for various screen width. This responsiveness
to various screen width is achieved by using HTML5 and CSS3 media queries.
When you create your own custom theme module, make sure to add the following extension
point. Ensure that social_rendering capability ID is not changed but we can change the
module ID from wp_social_rendering to any value.
wp_social_rendering theme module uses the following extension point, you need to change
the module ID from wp_social_rendering to any value.
<extension point="com.ibm.portal.resourceaggregator.module"
id="social_rendering_head" >
<module id="wp_social_rendering">
<capability id="social_rendering" value="8.0"/>
<contribution type="head">
<sub-contribution type="css">
<uri value="res:{rep=WP
GlobalThemeConfig;key=resources.modules.ibm.contextRoot}/modules/sr/css/master_sr.
css" />
<uri type="rtl" value="res:{rep=WP
GlobalThemeConfig;key=resources.modules.ibm.contextRoot}/modules/sr/css/master_sr_
rtl.css"/>
<uri deviceClass="smartphone" value="res:{rep=WP
GlobalThemeConfig;key=resources.modules.ibm.contextRoot}/modules/sr/css/master_sr_
mobile.css"/>
<uri deviceClass="tablet" value="res:{rep=WP
GlobalThemeConfig;key=resources.modules.ibm.contextRoot}/modules/sr/css/master_sr_
mobile.css"/>
Add the new module id to the profile for every page which requires additional theme module
changes. For example, in profile_full.json file, replace the default wp_social_rendering by
new_theme_module_id and save the changes.
"moduleIDs": [
....
....
"wp_liveobject_framework",
"dijit_form_17",
"wp_federated_documents_picker",
"wp_content_mapping_picker",
"wp_social_rendering"
.....
.....
]
For the list of CSS files available in wp_social_rendering theme and its purpose, refer the
topic Providing_custom_styles_for_social_lists_wp8001&content=pdcontent for more details.
While making the changes, the following are some of the most important points to keep in
mind:
1. If you are adding more master_*.css files, then you must update the sub-contributionxml
element section in the extension point mentioned above and also the CSS contribution in
plugin.xml file.
2. If you add more CSS files, then you must update the master_*.css files as they import
other CSS files. So that the CSS files are available for the customized theme module.
3. Update the profile file with the new theme module and specify this profile file in
resourceaggregation.profileproperty of the page.
4. If you are adding your own custom theme CSS classes and not using wpthemesample
CSS classes, then you must update the CSS files sr_wptheme.css and
sr_wptheme_rtl.css For the list of CSS class hierarchy for social lists, refer the topic CSS
class hierarchy for social lists in WebSphere Portal V8 Update documentation.
After making the changes, restart the Portal Server for the changes to take effect. Also, clear
the browser cache so that the changes are shown properly.
The CSS3 media queries are used to implement responsive web design in mobile devices.
The media query of the social rendering is of the format:
The social list markup has three types of columns and the following are the CSS class
assigned for that:
1. srLeftColumn: This is the CSS to be used for the first column which contains the icon of
the social object.
2. srMainColumn: This is the CSS to be used for the main column which contains the title of
the social object.
3. srRightColumn: This is the CSS to be used for the third column which contains the likes,
comments and access control icons of the social object.
The above media query format defines that the third column should be hidden for screens of
width $value pixels or below. For example, if the $value is defined as 480 px, then the screens
of width 480 or below will not display the third column.
3. From the drop down in the right corner, choose Edit Shared Settings. In the Shared
Settings screen, the option Persisted tags only in Tag display modes and Redirect to tag
center in Action modes is selected by default.
4. Modify the drop down values and choose Transmitted tags only in Tag display modes
and Expose public render parameter in Action modes.
6. In the Files Portlet, click on the portlet and choose Open Edit Form. In the Edit pop-up
window, Select the Enable Tag Selection Support under the Tag Selection Support
section.
7. Click Save and Close. The page where we added Tag Cloud portlet reloads and we can
find that the portlet is now showing all the tags provided by the Files Portlet which
represents the set of tags that have been assigned to the files represented by the files
portlet.
8. Click on the tag cmis. Now, you can find that the Files portlet displays only one file which
contains the tag cmis. The tags are filtered in Files Portlet based on the selection made in
Tag Cloud portlet.
To customize the Business card, browse to the IBM Connections library by logging into Portal
as an administrator. Navigate to Applications Web Content Management IBM
Connections Components Components Business Card. You can find an HTML
component. By using this component we can customize the social list definitions. This HTML
component is referenced by the Comprehensive list appearance option for social objects. The
attributes authorObjectID or the authorEmail of a social object are used for identifying a
user by the business card. The HTML Markup of Business Card component is shown in the
figure below.
The new social rendering capabilities leverages Digital Data Connector (DDC) framework to
build custom social list using Connections query URLs and render the data using WCM. It
also provides capabilities to implement user interactions. Site designers can implement
formatting components that support an interaction between the user and the social data. For
example, a user can post a new reply to a forum topic or delete a previous reply.
The social lists that are provided with social rendering use the IBM Connections search
service feed to retrieve the social objects displayed in the list. This has the following
consequences:
Only information that is available in the Connections search feed can be displayed in the
social lists.
Updates to social objects in Connections do not appear in the social lists provided with
social rendering until the index of the Connections search service was updated.
The benefit of using these new social list is that the social data served using these social lists
is updated as it does not depend of search service.
IBM WebSphere Portal & Web Content Manager v8.0.0.1 CF11 includes a set of DDC
profiles. They facilitate the transformation of data that is served by the Connections server
into data structures that you can render by using WCM design components. The following
profiles are available:
Blogs (ibm.portal.sr.blogs)
Blog details (ibm.portal.sr.blogs.details)
These profiles can be used to define social list for the following types of social data that is
served by the Connections server:
Blogs, blog posts, and blog post comments, as served by the Blogs service
Communities and community members as served by the Communities service
Forums, forum topics, forum topic replies, forum topic attachments or reply attachments as
served by the Forums service
User profiles, user network connections as served by the Profiles service
Wiki pages, wiki page comments, wiki page attachments as served by the Wikis service
Search results as served by the IBM Connections search service.
The profiles define the attribute names that you can use in your [AttributeResource] tags
when you generate the HTML markup for your bean lists. You can either manually add the
AttributeResource tags to the design component of a social list, or you can use the Insert a
Tag user interface of WCM. Example: If a profile defines an attribute that is named title, you
can write out the title value of the items in your list by using the following tag:
[AttributeResource attributeName="title"].
Note: Refer to section 7.4, Digital Data Connector on page 196 for more details.
2. Create a HTML component to be used as Query URL e.g "Query URL - Community
Members".
3. Use the following markup.
This will result in a URL to list all community members of the community identified by the
passed communityUuid. In this specific case, the value of said parameter refers to the
connections community that the currently selected portal page is associated with.
13. Create a new Personalization rule called "Generic DDC Selection Rule".
<li>
<a href="[AttributeResource attributeName="portalLink" separator=","]">
[AttributeResource attributeName="memberName" separator=","]
</a>
</li>
21. Create a default content, called "Community Members", for this site Area, using Generic
List Definition authoring template.
23. Select Query URL component, provide profile & provider details as shown below. Save
and close.
You can further modify the appearance of this list and display more information. For
example, you can use following code in you Community Members personalization result
design component
<li>
<table>
<tr>
<td>
Implementing interactions
Social lists are more than a presentation of social data that is hosted on a remote IBM
Connections server. Site designers can use WCM components to implement user interactions
with social data. For example, a user can post a comment to a blog post entry or delete the
same.
To create such interactive social list designs, site designers need to implement an HTML form
to send a POST action request to the Web Content Viewer portlet that displays the social list.
The HTML form must include the URL of a data sink and parameters that identify the action
that the designer wants to perform. The portlet then dispatches to the target data sink that
processes the form data and returns a data source that holds the result. For example, the
result can be a JSON object that contains the status of the operation triggered with the POST
action request and an error or success message. The portlet stores the result in the portlet
session or as a private render parameter. To access the result in the formatting components,
site designers can use the SessionAttribute rendering plug-in and the RenderParam
rendering plug-in.
Note: For more information about DDC generic data sink, supported parameters and result
object details, read
http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/social/plrf_use_g
en_xml_ddc_datasink.dita\ThegenericXMLDigitalDataConnectordatasink.
For our scenario, we will complete the following steps to implement an interaction with blog
posts:
1. A demo blog with name "demoBlog" is created on our target Connections server.
2. Create a custom demo post list using ddc profile ibm.portal.sr.blogs.posts.
3. Implement user interaction with blog post.
For the purpose of this demonstration, we have created a demo blog post by the name First
Blog Post under demo blog named demoBlog on the Connections Server.
2. Create a HTML component to be used as Query URL e.g "Query URL - Blog Posts".
3. Use the following markup.
<h2>
<div>
<ul>
<li>
Last Updated on [AttributeResource attributeName="updated"
format="MMMM d, yyyy" separator=","]
</ul>
</div>
</td>
</tr>
<tr>
<td colspan="2" class="srSpacerCell">
<div> </div>
</td>
</tr>
<tr>
<td colspan="2" class="srSpacerCell">
<div> </div>
</td>
</tr>
<tr id="tr4_[AttributeResource attributeName="id" separator=","]">
<td class="srSpacerCell"></td>
<td class="srSocialBar">
12. Select List Appearance, Query URL component that we created. Provide profile &
provider details as shown below.
The ddc.uri.template references the Create Comment template component that has
been created in the previous step.
The 'body' item attribute is defined in the ibm.portal.sr.blogs.post.comments profile and
provides the location to where in the template the actual information will be stored before
submitting the form to the connections server.
The ddc.uri.target is the URL to where the information will be posted in this case it is
the edit comments link (rawCommentsEditLink) that points to the connections server.
Go to the personalization component "Blog Post" created earlier and refer the HTML
component created above on the Result design markup at the position you want the form
to comment a blog post to be displayed. You can use the code given below.
4. Refresh the page, the updated blog post list with an option to post the comments is
rendered.
In previous sections, you saw that IBM WebSphere Portal Web Content Manager (WCM)
social rendering feature provides a flexible way to query and render IBM Connections social
content inside IBM WebSphere Portal. You also saw the various ways to customize the visual
design of social list using WCM Personalization component simple and comprehensive list
design. In this section, you will see how WCM can integrate and share documents with other
Content Management systems such as IBM Quickr, IBM FileNet, IBM Content Manager and
also IBM Connections. Using this way, WCM can render the social content inside IBM
WebSphere Portal.
CMIS client support is provided in WCM to fetch files from IBM Connections in two ways:
Select IBM Connections Files using CMIS URL in Personalization (PZN) component and
render the PZN component using a Presentation template in Portal.
Refer to IBM Connections File hosted in a remote Connections server through a link in
Authoring Template, Rich Text component.
CMIS service uses a URL to point to a remote server and fetch the information as a XML
Atom Feed document. The CMIS URL is of the format: base URL of files
service/basic/cmis/CMIS Service Doc identifier.
Here,
base URL of files service is the entry URL to IBM Connections files service. The files
service URL is a combination of Connections URL and files context root. The default
context root is: /files
CMIS Service Doc identifier is the specific CMIS document service.
For our scenario used in this guide, the Connections server, the CMIS URL to Connections
Files is https://connectionsww.demos.ibm.com/files/basic/cmis/my/servicedoc. When
you enter the URL in a browser, it should return the ATOM feed XML document as shown in
figure below. This confirms that the CMIS URL is working properly.
WebSphere Portal requires Connections user credentials to fetch the Connections files and
configure inside WCM Authoring Tools using Personalization and Rich text components. So,
you will now create a Credential Vault for Connections user.
1. Log in to IBM WebSphere Portal Console as an Administrator using credentials
wpsadmin/wpsadmin (username/password).
2. Navigate to Administration Access Credential Vault. Click on Add a vault slot.
3. Specify the vault slot name as connections_slot. Create a new vault resource for this
vault slot with name as conn_resource. Make the vault slot as shared by checking the
check box. Specify the Connections userid and password as
aalain@demos.ibm.com/passw0rd as shown in the figure below.
4. Click OK.
5. In Administration Access Credential Vault Manage system vault slots, you
should find that the added vault slot connections_slot is displayed.
You must configure the Federated Document Service in WebSphere Application Server
(WAS) Administration Console to specify the CMIS URL and authentication information of the
Connections server. Follow the steps to configure the Resource Environment Providers, WP
FederatedDocumentsService.
1. Log in to WAS Administration Console as an Administrator using credentials
wpsadmin/wpsadmin (username/password).
2. Navigate to Resources Resource Environment Resource Environment
Providers. Select WP FederatedDocumentsService. The values can be specified in the
Custom Properties section as shown in the figure below.
Note: If a property by name is already present in Custom properties, then click on the
property and replace only the property value. Click Apply and Save changes directly to
master configuration.
c. Click OK button. You can now find that the added property name is getting displayed in
Resources Resource Environment Resource Environment Providers WP
FederatedDocumentsService screen.
Similarly, follow the above steps a, b, c and add the following properties:
wp.federated.documents.suffix.type CMIS
wp.federated.documents.suffix.url https://connectionsww.demos.ibm.com/files/
basic/cmis/my/servicedoc
Setting the property value to true indicates that you need credential vault slot, false indicates
that credential vault slot is disabled. If the Credential vault slot is disabled, then the current
logged in user is used for connecting to remote server. If the credential vault is enabled, then
you must add an additional property with name as
wp.federated.documents.suffix.vault.slot and value as connections_slot. While
connecting to CMIS server in WCM PZN and RTE components, the credential vault slot is
displayed based on these properties.
wp.federated.documents.pzn.vaultselection.enabled TRUE
wp.federated.documents.wcm.vaultselection.enabled TRUE
wp.federated.documents.suffix.vault.slot connections_slot
7. If the credential vault slot is enabled, then you must grant permission to All Authenticated
Portal Users to the ADMIN_SLOTS virtual resource. Follow the steps for granting
permission as show in the figure below.
a. Log in to IBM WebSphere Portal Console as an Administrator using credentials
wpsadmin/wpsadmin (username/password).
b. Navigate to Administration Portlet Access Resource Permissions.
c. From the Resource Types, select Virtual Resources.
d. For the ADMIN_SLOTS resource, click the Assign Access icon.
e. Edit the User role, and add the All Authenticated Portal Users to the role.
10. When you click on the link, it displays a window where you should be able to specify the
CMIS URL and the credentials to connect to remote Connections server as shown in the
below figure. If you have logged in with Connections user, choose the Authentication
method as Use current user. Here for our scenario, we have logged in to Portal as
Administrator, so choose Use Credential Vault and Click Next.
11. In the figure below, you can find that the files and folders of the logged in Connections
user aalain@demos.ibm.com is displayed. Choose any file and Click Finish.
13. Add the content MyFilesContent as default content to the SiteArea FilesSiteArea. Now,
try to preview the content in FilesSiteArea. You can find that a link to remote document is
displayed. By clicking on the link you can either save or open the document.
Figure 7-1 clicking on the link you can either save or open the document
You will now see how to display Connections files hosted in a remote Connections server
using the Personalization component of WCM Authoring Template in IBM WebSphere Portal.
1. Log in to IBM WebSphere Portal as an Administrator.
2. Click on Applications Web Content Management.
5. In the New Rule screen, modify the action rules. Click on Web Content link and choose
Federated Documents.
6. After selecting Federated Documents, click on Feed URL value. Choose Select
Document Folder. It displays a window where you should be able to specify the CMIS
URL and the credentials to connect to remote Connections server as shown in the below
figure. If you have logged in with Connections user, choose the Authentication method as
Use current user. Here for our scenario, we have logged in to Portal as Administrator, so
choose Use Credential Vault to select the connections_slot Credential Vault and Click
Next.
8. Now, you can find that Feed URL is referring to the Connections folder in the
Personalization Rule.
<html>
<head>Federated Documents from Connections</head>
<body>
<table border="1">
<tr>
<td>
<b>Title</b>
</td>
<td>
<b>Authors</b>
</td>
<td>
<b>Download URL</b>
</td>
<td>
<b>Content Type</b>
</td>
<td>
<b>Updated</b>
</td>
</tr>
Result Design :
<tr>
<td>
<b>[AttributeResource attributeName="title" separator=","]</b>
</td>
<td>
<b>[AttributeResource attributeName="authors" separator=","]</b>
Footer :
</table>
</body>
</html>
11. Preview the content in FilesSiteArea. You can find that the Personalization component
with all the files in the MalarFiles folder is displayed in a tabular format as shown below.
12. You can also add this SiteArea FilesSiteArea to a Web Content Viewer Portlet in a New
Page and view the results. In Portal Administration portlet Portal User Interface
Manage Pages. Create a Page CMISFiles under Home Page. Click Edit Page layout of
CMISFiles page and add Web Content Viewer portlet. In the added portlet, select Edit
Shared Settings and add FilesSiteArea to the Content. Click Apply, OK and Done. Now
the CMISFiles Page is configured and added under Home page.
This section showed how to render Connections Files in a WebSphere Portal Page using the
Personalization and Rich Text Element of WCM components.
Frank, a citizen checks the city government social portal website from his home and reads
Mayor's Blog everyday to be aware of the Mayor's vision for the New year 2014, Health care
improvement actions planned in the city and also he came to know that Mayor is opening a
school for poor in his near by locality. He clicks on some of the links in the right side to
download Birth/Death certificates, to submit Building Plan for getting approval from
government, to pay the Property Tax, for various Online Civil Services like Water/Sewage
connection to his home, Telephone connection, etc, to submit Online Public Grievance like
removal of a dead tree from the road, street light not working, request for a new bus service,
electricity repair work in his area, request for a park in his area, report a fraud in a
Here, the Citizen's web page uses internally the various social portlets and web portlets like
Blogs, Wikis, Forums, Bookmarks, Search which are added by a page designer using the
Social Rendering features.
Let us see a use case of how a government employee on entering the city government social
portal website get to know the happenings in various government departments and be
connected with his colleagues.
Frank is also the government employee, he checks the city government Portal website to
download the various files required for his job like Salary Grades, Pension Plan, Medical
Benefits, Workplace Safety Ratings and reads them. By using the various Human Resource
applications listed in the page like Leave Management, Payroll, Provident Fund, Pay your
Income Tax and Benefits, he applies for a leave, verifies his monthly salary and Provident
Fund accumulation, pays his income tax dues, submits his expenses for reimbursement. By
using the Tag Cloud, he can filter the files which got displayed in Download Files. He reads
the Latest News headline section in the page to be aware of the news from various
departments in government office. The Employee Blog section makes him aware of the
happenings in his community. He reads the blogs and also post his comment on it, write blogs
and shares his views, ideas, concerns, information regarding his daily job, Government
policies, Citizens welfare in the community. He also searches in the People search to know
more details about a colleague who newly joined his team, finding an expert in another
department, finding a relevant team mate for a position in his team. He uses the Activities
service to track the progress of other's work. He stays connected with his Colleagues using
the Mail and Messaging service available in Portal. He gets his queries answered by joining a
The People web page uses internally the various social portlets which are added by a page
designer using the Social Rendering features. Here the Latest News section is a Blog portlet
which uses the WCM Personalization Simple List design. The Employee Blog section is a
Blog portlet which uses the Personalization Comprehensive List design. The Download Files
uses the List of Files portlet which is again a Simple List design. A page designer also adds
some of the customized portlets using Administration, Manage Pages section. The People
search portlet is added using the Social Rendering People Finder component.
This section will use an example of these capabilities to illustrate how rapidly a developer
could deploy data driven content on a Portal page.
One needs these components to render data properly with DDC. The modular nature of this
design enables web developers to work on the rendering components installed from the data
definition. It also allows for context aware calls to data sources that include ACLs, like IBM
Connections so that the security in the data source system is respected by the Portal. This
design can be extended to Commerce sites, CRM data, etc. with great potential and
possibilities.
Methodology
You can use one of the following approaches to connecting to external data:
1. Leverage the existing XML Plug-in. This is the simplest method as it does not require the
development or deployment of any Java code. It does, however, require that your data
source is already in a consumable XML format. You create a list-rendering profile to use
this method or reuse the existing ATOM List Rendering Profile that comes with DDC.
Example
We will connect to an XML data source and render a list of items for sale, simulating the
consumption of a web service. The sample xml file will be provided for download.
Procedure
Note: It is often considered a best practice to place all of your custom elements into a
separate WCM library, but for the purpose of this example, all elements are simply stored
in the Portal Site library.
1. To enable DDC to render the list from the source feed, the feed needs to be accessible
through the Ajax Proxy. Add the URL to Portal's proxy-config.xml according to the
documentation. For this example, the URL added was "http://cnx.srdemo.com/demo/*"
2. Two foundational elements need to be created, the List Definition Authoring Template and
the List Definition Presentation Template, and then a series of elements specific to our
unique list. Navigate to Applications Content Web Content Authoring to create
the components in WCM that will make up our new list.
3. Within the WCM Authoring Portlet, browse to the library which will contain all of the
elements.
4. Create the Presentation Template by selecting New Presentation Template.
5. Give the item a name and click on Save.
6. In the Markup field, define the ListrenderingContext. By using dynamic references to the
values we just created in the authoring template, the list definitions will be able to be used
by any similar DDC list. The value in the markup field should look something like this:
9. Give the component a name and click on Save. Then click on Manage Elements.
10. Disable workflow for the Authoring Template and associate the presentation template just
created with this element.
11. Save and close the component.
12. The next few elements will define the source of the list and the list presentation. These
elements will be unique for almost any DDC list you create.
14. Populate the HTML element with the ResourceURL plugin statement defining the URL of
your web service then save and close the HTML component.
15. The list appearance is governed by the PZN component. Create a new PZN component
now.
17. The Personalization Element must contain a Select Pluggable Resources. Click on new
and modify as necessary. Save your rule.
profile ibm.portal.atom
provider ibm.portal.ddc.xml
22. Place the Web Content Viewer portlet on the intended page and configure it to render the
created piece of content. You will see your list.
Procedure
By replacing the markup in the PZN component with references to specific HTML
components, it is possible to build dynamic list elements which can be reused by more than
one list. In this example, we will create a list header, footer, and result HTML Components and
add them to the PZN component appropriately.
Assumptions:
All elements will be created in the same WCM library where the DDC list components
already exist.
A basic understanding of the WCM tagging interface and referencing components
<style>
.ddcIFSList{
list-style-type:none;
padding:0px;
margin:0px;
}
.ddcIFSItem{
margin-bottom:8px !important;
}
.itemTitle{
font-weight:bold;
.itemContent{
font-weight:bold;
font-size:12pt;
}
</style>
<div>
<h1 class="ddcIFSTitle">Items for Sale</h1>
<ul class="ddcIFSList">
2. Create a new HTML component that will contain the markup for the footer.
</ul>
</div>
3. Place the markup for the result body in a third HTML component.
<li class="ddcIFSItem">
<div class="itemTitle">
[AttributeResource attributeName="title" separator=","]
</div>
<div class="itemContent">
[AttributeResource attributeName="content" separator=","]
</div>
<div class="itemAuthor">
<span>Author:</span><span style="color:#00c;">[AttributeResource
attributeName="authorName" separator=","]</span>
</div>
</li>
Note the references to the Atom feed elements. When adding the tags, be sure to select
Attribute Resource, and select the Atom Feed as the component. If your feed adheres to
the Atom feed specification, the elements you would want to work with should be present
already.
5. Replace the markup in the PZN component with references to the three elements created.
IBM Connections offers a number of platform services to assist in these scenarios that
facilitate social objects and information being placed in a business context when the out of the
box components are not sufficient.
Note: For more information, see the IBM Connections REST API documentation.
Note: For more information, see the IBM Connections SPIs documentation.
Note: For more information, see the IBM Connections OpenSocial API documentation.
Additional reference
OpenID
OpenID is an open industry standard sponsored by Facebook, Microsoft, Google, and Yahoo
(among others) that allows a user to be authenticated on a site using third-party
authentication services called identity providers.
OAuth
OAuth is also an open industry standard but differs from OpenID in that it is used for
authorization not authentication. With OAuth, the user owns the resource that the target site
(OAuth Consumer) would like to access from the site hosting the resource (OAuth Provider).
The user has to authorize the OAuth Consumer in order for access to be granted the user's
resource.
Taking these disadvantages into account, the organization must weight up the benefits
against the disadvantages when deciding whether to allow a user to use social credentials on
their website. It might well be that that having support for social and organization credentials
is the best option.
This capability was not available as part of a standard portal installation until Version 8.0. The
link below provides details on downloading, installing, and configuring this social credential
login capability on WebSphere Portal Version 7:
Note: Detailed instructions for Configuring this capability on WebSphere Portal Version
8.0.0.x is provided below:
There are additional parameters to control the navigation of the POC resolver as defined in
the documentation. You can configure and customize certain aspects related to navigation
like error page unique name, stand-alone pages unique name etc. by editing the resource
environment provider.
Note: For details, see Configuring a resource environment provider for POC.
This navigation behavior from summary to details is configurable through the portlet
configuration screen.
From Configuration screen, by selecting option to Display link to open IBM Connections in
a browser window allows user to navigate to IBM Connections web UI instead of navigating
to corresponding Details portlet.
In this section, we consider two main patterns as summarized below and action a workflow
action request:
1. Publishing content to from WCM to IBM Connections using Social Media Publisher
In the first pattern, we use the Social Media Publisher to publish short article summaries to
Connections, with a link back to the WCM content. This tool can also be used to publish to
Facebook, Twitter and LinkedIn but we do not cover those cases in this guide.
2. Sending a WCM Workflow Notification to Connections Activity Streams
In the second pattern, we demonstrate how to use a WCM custom workflow action to post
an approval notification to nominated content approvers Connections Activity Streams.
3. Action a Workflow Action Request via an Embedded Experience Open Social Gadget
In this sub-section, we discuss how to extend publishing workflow notifications to the a
user's activity stream with the use of OpenSocial Gadgets.
It is important to understand that the Social Media Publisher explicitly defines relationships
between specified authoring templates and specified social media accounts. Each
relationship defines what is to be posted, the content which can contain WCM elements,
components and so on (subject to length and markup limitations of the post to be made).
Many relationships can be set up, but each must be defined explicitly and so, especially in a
large website. This requires some planning.
You may consider creating service accounts in each social media channel to represent your
organization.
This section describes the installation and configuration of the Social Media Publisher in a
simple scenario where we wish to publish event notifications (from the CTC demo website) to
IBM Connections. The process for configuring publication to Twitter, Facebook and LinkedIn is
similar, and the steps to create authentication credentials for those sites are described in the
Social Media Publisher product documentation.
In our scenario, Heather Reeds, a marketing manager, wishes to publish notifications of new
events to her IBM Connections blog. We will use the IBM Content Template Catalog (CTC)
demonstration site to achieve this, adding Social Media Publication to the Event authoring
template.
Many of steps in this section are described in detail in the product documentation. This
section only gives a summary of that documentation, rather than repeating the information
that is already published.
This section describes how to publish content to and from WCM to IBM Connections using
Social Media Publisher.
3. Click Retrieve from port. On the form that appears, enter the server details and click
Retrieve signer information. If the connection is successfully established, the result will
be something like the form shown below.
8.1.2 Configuring credential vault and Social Media Publisher global settings
As noted in the introduction to this section, the Social Media Publisher establishes links
between specific WCM authoring templates and specific social media accounts. In this
scenario we are going to publish event newsflashes to the Connections account of Heather
Reeds, a marketing manager. To do this, we first need to create a portal credential vault slot
to hold Heather Reeds' account credentials.
The net result is that Heather Reeds' credentials are stored in Portal so that the Social
Media Publisher can post, as Heather, to Connections. This is a technical and operational
reasons that using a service account may be preferable, since password changes on the
Heather Reeds' account need to be updated into the Credential Vault slot.
We also need to follow the same process to create a further credential vault slot for
updating content via the custom workflow actions that are supplied with the Social Media
Publisher. The user requires edit access to all content that will be posted via the workflow
actions. In our case, we will just use "wpadmin" and create a credential vault slot called
5. Click OK. In the edit dialog that appears, we now have a modifiable text component that
contains properties to control a number of items:
The servers on which the Social Media Publisher should actually publish to social
networks
Administrative information about the credential vault used for custom workflow actions
Default templates for blog, wiki and status update post
6. In our case, we make two changes to this text component but otherwise leave the rest as
given in the defaults:
The first property simply gives the name of the credential vault slot we created with a
content administrator in the previous step. The second property allows us to manually
trigger a full refresh of likes, comments and so on. This is to be used with caution,
guidance is given in the configuration itself.
7. Save and close the document.
Note: Note you must do this as a user with permission to create and edit content in this
library
3. In the dialog that appears, select the template Social Network Configuration. If you are
using the portal in a supported language other than English, you may see a localized title
for this authoring template. When you have selected an authoring template, the new,
blank, social network configuration content item will appear.
4. The complete authoring template is shown below. In this image, you can see that we have
populated the name and title of the configuration document, and entered the host name of
the portal server that will be used in URLs generated in the Connections posting.
Following this image, we zoom in on the social network information section and how to
populate it.
The radio button "Type" in IBM Connections Properties allows us to control where we wish
to post content. The message is populated with the default text from the global settings
document created in the previous article.
We've got an exciting new event called IBM Connections Demo is scheduled at IBM EGL Lab,
Bangalore starting on March 21,2014 at 10AM.
See more:
The configuration used to achieve this is show here:
The WCM Element and URLCmpnt tags are not manually inserted, but created using the
"Insert Tags" link in line with standard WCM practice.
7. The Social Network Configuration must also be assigned to a WCM authoring template.
This is done in the next section of the authoring template. In our example, we wish to
associate publication to Heather Reeds' message board to the Events authoring template
and so we simply select that template, with the end result as show here.
8. With this is done, save and close the Social Network Configuration document.
In the earlier section, we created a credential vault slot called socialWorkflowUser, which
contains an administrative user with rights to edit access to all content that will be posted to
Connections.
The WCM workflow that we will customize is shown in the flowchart below.
To do this we need to select the library in which we want to create the custom workflow action.
Follow these steps:
1. Go to CTC Demo WCM library, select New Workflow Actions Custom Action.
2. In the form that appears, click Select Action and choose the desired social media
publisher action. The custom workflow actions are installed by the Social Media Publisher
and several basic actions are supplied:
Delete - deletes a linked post from the specified social network (where supported)
Delete All - deletes a linked post from all configured social networks (where supported)
Next Stage - not used
Post - creates a linked post in the specified social network
Post All - creates a linked post in all configured social networks (where supported)
Untrack - removes the link between the WCM content item and the social network post
for the specified social network
Untrack All - removes the link between the WCM content item and the social network
post for all configured social networks
The action "date type" must be set correctly, too. The value should be Custom Action
Date so that custom logic in the workflow action executes to post to the social networks
shortly after the content is published.
2. To add the custom workflow action to the stage, select Add Workflow Actions in the Run
on Entering Stage section. If you have recently worked with the custom action, it may
appear in the drop-down menu on the form. Otherwise, click the Add Workflow Actions
link and select the custom action in the resulting dialog as shown below.
This order should be retained, so that the "Post to all social networks" action executes on
the published content. If the social networks action is before the published action, the
content will still be draft when the social media publisher fires. For draft content items to be
posted, the Enable Posting for Draft Documents check box must be selected in the
Social Network Configuration document.
3. Save and close the workflow stage.
In the scenario described in those previous ones, we created a Social Media Publisher
configuration for the Events authoring template, and added publication to the Content
Template Catalog (CTC) workflow so that a message is posted to Heather Reeds' wall when
the content item is published in WCM. Options existed for publishing in other ways, too.
4. Click Create. We are presented with a new event that we can edit directly in the portal
page, as shown below. The new Portal 8.0.0.1 and CTC4 in-line editing tools allow us to
modify the event content without entering the WCM authoring environment.
We use these tools to fill in the event details, remembering that our Social Network
Configuration document specifies that the Summary, Location and Start Date will appear
in the posted message. This view does not, however, allow us to see the social network
configuration for the content item.
5. Hover the mouse over the article, additional options are presented in a call-out to view the
full article in WCM edit mode:
This section and the next one describe how to create such a solution:
This section describes how we can use a WCM custom workflow action to send approval
notifications to the Connections Activity Stream of relevant users.
The following section describes how to create an OpenSocal Gadget that allows the user
to approve or reject the content item, without leaving the activity stream.
Note that this scenario is different from that discussed in the previous section. In the previous
case, the social media publisher is used to publish content to Connections for general
consumption. In this case, we are privately publishing workflow notifications to selected
content approvers.
This section describes the development and configuration of a custom workflow action in a
simple scenario where we wish to send notifications to IBM Connections Activity Streams.
In our scenario, We use portal administrator (the user ID is wpadmin8) to create a workflow
that leverages Connections Activity Streams as a channel for approval request notification.
The portal administrator develops a custom workflow template that generates a JSON object
which is posted to Connections and distributed to the content approver(s).
Many of the steps in this section are described in detail in the product documentation. This
section only gives a summary of that documentation, rather than repeating the information
that is already published:
8.2.1 Prerequisites
By default, IBM Connections only lets users post to their own Activity Stream. However, our
custom workflow action needs to post events to any approver's activity stream. In order to
post to a user's Activity Stream, we first need to configure the trustedExternalApplication
role within the Connections WidgetContainer application.
6. On the Map users/groups screen, enter the user name of the user to whom you wish to
add the role in the Search string field and click Search.
7. Select the user in the Available list box and click the right arrow button to add them to the
Selected list box.
Note: For detail information about creating a custom workflow action, refer to the product
documentation: Creating a custom workflow action class.
// UserId and Password for posting the WCM content to IBM Connections Activity
Stream.
String user = "wpadmin8";
String passw = "passw0rd";
if (arg0 instanceof Content) { // Test for instanceof Content
try {
Content wcmItem = (Content) arg0;
// create activity stream formatted JSON
JSONObject json = CreateJSON.createFromWCMContent(wcmItem);
utils.doPostBasic("https://connection/connections/opensocial/basic/rest/activityst
reams/@me/@all",json.toString(), user, passw);
} catch (Exception e) {
e.printStackTrace();
}
}
try {
InitialContext initContext = new InitialContext();
webContentCustomWorkflowService = (WebContentCustomWorkflowService)
initContext.lookup("portal:service/wcm/WebContentCustomWorkflowService");
} catch (Exception ex) {
ex.printStackTrace();
}
result = webContentCustomWorkflowService.createResult(directive, message);
return result;
}
@Override
public Date getExecuteDate(Document arg0) {
// TODO Auto-generated method stub
return null;
}
First we will grab some of the content from the article. In this example, we are retrieving the
Summary and Body text as RichTextComponents, showing some identification information
and adding links to read, approve or reject the content using a GET request. In the next
chapter, we will use the WCM REST API to approve/reject the content in an embedded
gadget.
The content will be returned as HTML code, which we will inject into the activity stream as rich
content.
import com.ibm.json.java.JSONArray;
import com.ibm.json.java.JSONObject;
import com.ibm.workplace.wcm.api.Content;
import com.ibm.workplace.wcm.api.RichTextComponent;
import com.ibm.workplace.wcm.api.exceptions.AuthorizationException;
import com.ibm.workplace.wcm.api.exceptions.ComponentNotFoundException;
import com.ibm.workplace.wcm.api.exceptions.PropertyRetrievalException;
import java.util.Date;
import java.util.HashMap;
public class CreateJSON {
m.put("readURL","?wcmAuthoringAction=read&docid=com.ibm.workplace.wcm.api.WCM_Cont
ent/" + wcmItem.getId().getId());
Note that Connections expects the "to" object to contain user IDs in the internal format. This
was retrieved from Heather's profile.
{"generator":
{
"url":"http:\/\/www.ibm.com"},
"actor":{"id":"@me"},
"connections":{
"actionable":"true",
"broadcast":"true"},
"openSocial":{
"embed":{
"gadget":"http:\/\/connection.reactivebus.com\/wcm_approval.xml",
"context":{
"var1":"data1",
"to":[
"objectType":"person",
],
"verb":"post",
"object":{
"objectType":"article",
"id":"note1",
"displayName":"12345",
import org.apache.abdera.Abdera;
import java.io.*;
import java.net.URL;
if (abdera == null) {
abdera = new Abdera();
}
return abdera;
}
public void doPostBasic(String urlStr, String json, String username,String
password) {
try {
in.close();
} catch( IOException ioe) {
ioe.printStackTrace();
}
Additional references
Refer to the product documentation for details of requirements for creation and deployment
of the custom workflow action class: Creating a custom workflow action class.
This section has described an example implementation for creating a custom workflow
action class. The next subsection describes how to associate this action with a content
item workflow.
3. Choose the new custom workflow action that was deployed in the previous section, in this
case Activity Stream Custom Workflow Action Factory.
2. To add the custom workflow action to the stage, we select Add Workflow Actions in the
Run on Entering Stage section. If you have recently worked with the custom action, it may
appear in the drop-down menu on the form - otherwise click on the Add Workflow Actions
link and select the custom action in the resulting dialog as shown below:
2. In the workflow, Click Add Workflow Stages, select the workflow stage created in the
previous step and click OK.
2. In the resulting edit form, select the Properties tab Workflow Select Workflow and
select the workflow created or modified in the previous step.
The modified content item is now submitted into the approval stage of the workflow. This
should trigger our custom workflow action to distribute the approval notification to the content
approver (Heather Reeds).
In this section we develop an OpenSocial Gadget to enable users to Action WCM Content
Approval notifications in-line and in-context.
The following figure illustrates the user interface design of the gadget that will be developed
for this use case scenario.
Required skills
To be able to implement the OpenSocial gadget use case scenario, a solid understanding of
the following topics is strongly recommended:
Developer mode allows you to control the access settings of a gadget by appending a query
string to a gadget URL. In this way, you can quickly test a gadget anywhere in IBM
Connections, with any access settings you want, without handling any white listing or
wsadmin commands.
To enable the developer mode for OpenSocial gadget, follow these steps:
1. Launch the wsadmin client from Deployment Manager node:
From To
urlWhitelistEnabled="true" urlWhitelistEnabled="false"
developer-hosts-whitelist developer-hosts-whitelist
allServers="false" allServers="true"
OpenSocial overview
The goal of OpenSocial is to make more apps available to more users. This is accomplished
by providing a common API that can be used in many different contexts. Developers can
create applications, using standard JavaScript and HTML, that run on social websites that
have implemented the OpenSocial APIs.
The OpenSocial APIs expose methods for accessing information about people, their friends,
and their data, within the context of a container. REST Create (POST), Retrieve (GET),
Update (PUT), Delete (DELETE) services define a language and platform neutral protocol for
clients to interact with OpenSocial container servers outside of gadgets on a web page. IBM
Connections does not allow Activity Stream entry deletion via the API.
OpenSocial terminology
It is important to understand the following terms when we move through this section:
Embedded experience (EE) A specific type of gadget, distinguished by having a
context data that is used to render its UI. Embedded experiences are typically rendered
within the context of an activity stream entry. 90%+ of development questions relate to
how customers can build their own EEs.
To make the OpenSocial gadgets available for use in the activity stream, you need to add the
gadgets from the Administration tab in the Home page user interface and then enable them
for use. Select Heather Reeds (his user id is "hreeds" ) as the Home page administrator.
Follow these steps to add the gadget to the existing white list:
1. Login to the IBM Connections Deployment Manager Administrative Console using a valid
user id and password.
6. In the Search and Select Users section, search for hreeds and click Search.
7. From the Available list, highlight hreeds and click the right arrow to move his name to the
Selected list.
8. Click OK. You should see hreeds under the mapped users for the admin role.
9. Click OK again. When you return to the Homepage Configuration page, click the Save link
at the top.
10. Click Logout to exit the Integrated Solutions Console.
Widget Type:
Indicate if you are registering a
gadget or iWidget. In this example,
we register a gadget.
Security:
Indicate if this is a restricted, trusted
or SSO gadget, In this example, we
use SSO/Trusted
Although the term is trusted, the
gadgets are still locked.
SSO access has major security
implications and breaks all of the
security features of the product.
UI Integration points:
Indicate if this gadget is intended for
use in the activity stream or share
dialog.
Note: This setting has additional
security implications for feature
access.
Security Trusted
URL: http://connections/wcm_approval.x
ml
The following JSON snippet references the OpenSocial gadget that we are going to
implement. It defines the URL to the gadget and context information. We reference an internal
gadget here, rather than a third party one hosted on another server for simplicity.
Authentication will be achieved via Basic Auth rather than OAuth2 which would be used for
externally hosted gadgets.
The complete code is available in 8.2.2, Creating a workflow action class for posting to an
Activity Stream on page 239.
// Embedded experience reference to gadget context. Add fields in here for the
embedded gadget to reference.
// Get the Content Item UUID from the newly created content
String contentItemuuid = wcmItem.getId().getId();
The functionality of the gadget is to allow users to take an action on some content that is
waiting for them to approve or reject.
href="https://connections/connections/resources/web/_style?include=com.ibm.lconn.c
ore.styles.oneui3/base/package3.css&;etag=20121109.133000"
id="lotusBaseStylesheet" oneui="3"
query="?version=oneui3&;rtl=false&;etag=20121109.133000" rel="stylesheet"
theme="default" type="text/css">
<link
href="https://connections/connections/resources/web/_style?include=com.ibm.lconn.c
ore.styles.oneui3/sprites.css&;etag=20121109.133000"
id="lotusSpritesStylesheet" rel="stylesheet" type="text/css">
<link
href="https://connections/connections/resources/web/_lconntheme/default.css?versio
n=oneui3&;rtl=false&;etag=20121109.133000"
id="lotusThemeStylesheet" rel="stylesheet" type="text/css">
<style
type="text/css">html,body{height:100%;width:100%;overflow:auto;}body,td,div,span,p
{font-family:arial,sans-serif;}a
{color:#0000cc;}a:visited {color:#551a8b;}a:active
{color:#ff0000;}body{margin: 0px;padding: 0px;background-color:white;}
</style><script>window['__isgadget']=true;</script>
<link
href="https://connections/connections/resources/web/style?include=com.ibm.lconn.co
re.styles.oneui3/base/package3.css&;etag=20121108.113023"
rel="stylesheet" type="text/css">
<link
href="https://connections/connections/resources/web/style?include=com.ibm.lconn.co
re.styles.oneui3/base/connectionsCore.css&;etag=20121108.113023"
rel="stylesheet" type="text/css">
<div id="wcmresults"></div>
<script type="text/javascript">
//Retrieve the Content String from Open Social Context set in Custom Workflow
Action class.
function showContent(context){
document.getElementById("wcmresults").innerHTML = context.content;
gadgets.window.adjustHeight();
}
function initData(){
opensocial.data.getDataContext().registerListener('org.opensocial.ee.context',
function(key) {
showContent(opensocial.data.getDataContext().getDataSet(key));
});
}
gadgets.util.registerOnLoadHandler(initData);
gadgets.window.adjustHeight();
function approveMe() {
var context =
opensocial.data.getDataContext().getDataSet("org.opensocial.ee.context");
var url = "http://portal:10039/wps/mycontenthandler/wcmrest/item/" +
context.uuid + "/approve"
callWCM(url);
}
function rejectMe() {
var context =
opensocial.data.getDataContext().getDataSet("org.opensocial.ee.context");
var url = "http://portal:10039/wps/mycontenthandler/wcmrest/item/" +
context.uuid + "/reject"
callWCM(url);
}
function adjustHeight() {
gadgets.window.adjustHeight();
}
function callWCM(url) {
console.debug("About to call MakeRequest with url: " + url);
var postdata = {};
var params = {};
postdata = gadgets.io.encodeValues(postdata);
params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
params[gadgets.io.RequestParameters.POST_DATA]= postdata;
//params[gadgets.io.RequestParameters.AuthorizationType] = 'signed';
Summary
Users can now action WCM Content Approval notifications in-line and in-context of the
notification that has been posted in their IBM Connections activity stream.
Follow these steps to validate the embedded experience of the OpenSocial gadget:
1. Log into IBM Connections server as "Heather Reeds".
2. Select the Action Required activity in Home page.
A few examples which illustrate the differences are provided in the table below.
User Profile
The Chapter 3, Defining the social portal on page 15 section of this guide describes the
fundamentals of social business, its elements, advantages and patterns of implementation.
In addition, this guide describes a number of concrete methods for transforming traditional
business applications into social business applications:
This SDK is completely standards based and utilizes REST services with JSON and/or ATOM
messages. In addition, the SBT supports building desktop client, browser and mobile
applications.
The SDK has three distinct levels to delineate the most appropriate functionality the
developer might require:
Widgets - User interface components built with HTML, CSS and JavaScript.
High-level APIs - Access to high level social objects such as profiles.
Low-level APIs - Utilities, security functionality and other helpers that the higher level APIs
use to provide their capabilities.
Without high level APIs, the developer would have to deal with many low level APIs provided
by the products in addition to other concerns (such as lower level OAuth details for
authorization).
In addition, the SBT can be used to connect to a number of popular third party API's on the
internet. These include Twitter, Facebook, LinkedIn and DropBox. In fact, API that supports:
A REST API.
OAUTH (version 1 and 2) authorization.
One or more of JSON, XML or ATOM messages.
However, if the third party recommends a different SDK then it might be best to use that
instead.
The Social Business Toolkit SDK Homepage provides videos that introduce and provide
guidance on installing the SBT.
There is also an Online SBT Playground that allows developers to experiment with the
JavaScript APIs that the SDK exposes without the need to download the SDK.
Prerequisites
In order to successfully implement scripting portlets, a number of prerequisite skills and tools
are recommended.
Programming knowledge: A good understanding of web technologies including XML,
HTML, CSS, REST and JavaScript. Familiarity with a JavaScript library such as Dojo,
JQuery or AngularJS is also recommended. Initial understanding of JSR-286 portlet
programming is not required.
Tools availability: A web browser with debugging capabilities. Google Chrome and Mozilla
Firefox (with the Firebug addon installed) are good candidates.
Websphere Portal Server: It is recommended that your WebSphere Portal is at at 8.0.0.1,
(cumulative fix) CF9.
To install the IBM Script portlets for WebSphere onto your WebSphere Portal Server, follow
the steps below:
1. Extract the PAA from the archive downloaded from Greenhouse.
3. Execute the following Config Engine task on WebSphere portal to deploy the script portlet
onto WebSphere portal:
To create the code for the installed scripting portlet, navigate to that page and switch the
portal to "Edit mode". The scripting portlet will have an Edit link visible. Click on the Edit link
to start development. See the figure below.
In the "Edit mode", the development user interface is shown in the figure below.
Clicking on the '+' icon in the top right corner of each pane maximizes that pane for full screen
development or results viewing.
The result of the code sample in the figure above, and switching the portal back to "View
mode", is illustrated below.
In this scenario, a user is able to upload a file, from inside WebSphere Portal, to their "My
Files" application inside IBM Connections. The figure below illustrates the Portlet that
provides this functionality.
This simple scenario could easily be extended to, for example, allowing the user to
automatically share the uploaded file with a specific person or community.
9.2.4 Implementing the social business scenario using IBM Script portlets
The 9.2.3, Social business scenario using IBM Script portlets on page 276 explained a
simple scenario whereby a file can be uploaded from WebSphere Portal Server into the "My
Files" application of a user. This scenario is implemented using IBM Script portlets.
Since IBM Script portlets are a client side technology, the example is implemented using
AngularJS which is a framework for building rich client side applications. In the example,
AngularJS allows for the separation of the view and controller logic and for making the AJAX
calls. The code provided is purely illustrative, and does not necessarily follow AngularJS best
practices. For production purposes, the AngularJS minified code should be available in the
WebSphere Portal theme.
Uploading a file to IBM Connections requires that a security token (a nonce), is first gained
from the IBM Connections server, and that this token is included in the HTTP header during
the file upload request.
Section 9.2.2, Development user interface on page 275 described the development user
interface for developing Script portlets. Using that information, copy-and-paste the HTML
code below in the HTML code pane:
Then copy-and-paste the JavaScript code below in the JavaScript code pane:
$scope.setFiles = function(element) {
$scope.files = []
for (var i = 0; i < element.files.length; i++) {
$scope.files.push(element.files[i]);
}
};
$scope.uploadFile = function() {
$http({method: 'GET', url: nonceURL}).success(function(returnedNonce) { //
Get the security token from IBM Connections
var formData = new FormData()
for (var i in $scope.files){
formData.append("file", $scope.files[i]);
} // Upload the file to IBM Connections - Include the security token in
the HTTP header
$http({method: 'POST', url: fileUploadURL, headers: {'Content-Type':
undefined, 'X-Update-Nonce': returnedNonce}, data: formData,
transformRequest: function(data) { return data; }});
}).success(function() { alert("Your file has been uploaded to
Connections"); });
};
});
IBM Docs extends IBM Connections, providing teams with a better way to edit and review
documents. With IBM Docs, you can create word processing, spreadsheet, and presentation
documents independently, or collaborate in real-time with other contributors. With the
professional templates from IBM Docs, you can quickly create new documents, or upload
existing Microsoft Office and Lotus Symphony files to edit and share. You can also store
your files or download in Microsoft Office or PDF format, as needed at a later time.
System requirements
For the minimum system requirements for IBM Docs, click this link.
Installation assumptions
We assume that IBM Docs will be installed on the same server of IBM Connections that was
used in this guide.
Before you start with the above installation steps, you need to extract IBM Docs 1.05 package
(CIT7DML). Once you are done with this, you should have the following folders:
Conversion
Docs
Viewer
You should get a message at the end of installation INFO Installation Completed
Successfully.
You will get your schema has been updated to version 18.
After you complete the above steps, you will need to generate the plugin for the Web Server
as below:
3. Verify that the IBM Docs editor opens and that you can edit and save the document.
In this section, we will document the steps required for IBM Forms Experience Builder
installation and integration with IBM Connections.
2. Run the following commands to create the Form Experience Builder databases:
a. db2 "CREATE DB FEBDB using codeset UTF-8 territory us PAGESIZE 32768"
Follow these steps to setup WebSphere Application Server profile for Forms Experience
Builder:
1. Go into E:\IBM\WebSphere\AppServer8\bin\ProfileManagement for windows.
For Linux, go to /opt/IBM/WebSphere/AppServer/bin/ProfileManagement.
2. Run the pmt.bat or pmt.sh.
6. Use the default Node name and Host name and click Next.
8. Now go back into Profile Management Tool procedure, add the IBM Connections
Deployment Manager host name, the SOAP Port and an administrative user and
password and click Next.
10. Extend the default lifetime of Certificates to 10 years or the appropriate years you needed.
12. Check the final summary and create the Websphere Application Server profile.
At this point we have created and federated a WebSphere Application Server profiles into the
IBM Connections Deployment Manager. Now we need to manually create the WebSphere
Server that host the IBM Forms Experience Builder application.
To create WebSphere Server that hosts the IBM Forms Experience Builder application, log in
the IBM Connections Deployment manager and follow screen in order to create the server:
1. Select Server Types WebSphere application servers and click New.
At this point, you have successfully created the WebSphere Application Server for IBM Forms
Experience Builder.
9. Get ready for the mail notification, and fill the values accordingly to your configuration.
After IBM Forms Experience Builder is installed, you can proceed with the configuration by
integrating with IBM HTTP Server.
4. In the Manage Modules, be sure that both WebSphere Application Server "FebServer01"
and the WebServer1 you defined are checked, for both your Forms modules.
<resources>
<widgetBundle prefix="formiwidget"
name="ibm.nitro.integrations.connections.client.resources"/>
</resources>
Note: Make sure to update the section in bold below to be your form server : port
<itemSet>
<lifecycle
remoteHandlerURL="http://lo2w03-utility1.demos.ibm.com:9082/forms/secure/org/li
fecycle" remoteHandlerAuthenticationAlias="connectionsAdmin">
<event>community.members.added</event>
<event>community.members.removed</event>
<event>widget.added</event>
<event>widget.removed</event>
<event>community.updated</event>
<event>community.visibility.changed</event>
<event>community.prepare.delete</event>
<event>community.members.modified</event>
<event>community.org.changed</event>
</lifecycle>
</widgetDef>
Note: This part can be a bit tricky finding where to add these lines in the existing file.
We put them just below the close tag for.
<widgetDef defId="Library"....
.....
</widgetDef>
and above
<widgetDef bundleRefId="quickrCommunityLibrary_res"
defId="LinkedQuickrCommunityLib"
2. Click Administration in the navigation and then click the Add another widget button.
Note: It should be written exactly like this. Do NOT select any of the other options.
This widget only works in the Activity Stream, and will not work on the My Page with
other widgets.
Do NOT select any of the other options. This widget only works in the Activity
Stream, and will not work on the My Page with other widgets.
9.4.4 Create Survey in the Community and check the Activity Stream
3. Enter the survey name and description and then click Continue.
6. When you added all the questions for the survey, click Save to save the survey.
8. Enter the end date for the survey and click Start.
The Discovery sections displays the latest public updates from all the applications. When a
user click on the message inside the Discovery sections the Embedded Experiences widget
shows the survey inside a frame.
If the modification is completed successful, you should see a screen like the image below.
2. Click on the More button and then click New Sibling Page.
7. In the Forms Experience Portlet area, click on icon in the upper right corner, a drop-down
menu appears. Select Edit Shared Settings.
8. Enter the forms URL and the portal proxy URL. In our scenario, they are:
Forms URL: h@nowiki@lo2w03-utility1.demos.ibm.com/forms
Proxy URL: http:lo2w03-utility1.demos.ibm.com:10039/wps/proxy
3. Edit the URL properties and write the forms URL. In our scenario, this is
http://lo2w03-utility1.demos.ibm.com/forms/* .
<meta-data>
To run the this command open a command prompt or a shell if the enviroment is Linux,
and navigate to the folder \IBM\WebSphere\wp_profile\ConfigEngine , past and the run
the command. When the command finishes execution, you should see a informational
message "BUILD SUCCESSFUL"
9. Now start the application. After the start, the AJAX Proxy is successful configured with the
new policy.
At this point you have successful added the survey in a Websphere Portal page.
This integration point is enabled by configuring the portal search center component to include
IBM Connections content as part of the related search results. You also must configure a
component to allow the navigation from the portal search center to the portlets so that users
can view the Connections-related search results.
Portal search center component has been extended to show customized information for the
connections content in the search result like service icon to indicate if the content is a blog,
wiki, activity, etc. and also the URL for the connections content is customized to take user to
the respective details portlet.
Prerequisites
IBM Connections portlet package include the relevant pre-requisites for integrating the
connections content in portal search center. After the Connections portlets are installed and
deployed successfully, run the following command which copies the required jars in the portal
runtime:
Search collections
Using search collections, the Portal Search Engine (PSE) which is a text search engine,
crawls and indexes IBM Connections content and stores it in an Operating System files
directory (also called collection). PSE internally uses the Seedlist Framework to index
content. The indexing process happens at a regular interval updating the changes made in
the Connections server to the collections directory.
The advantage of this approach is that it removes extra network traffic to the Connections
server during the search process, making information retrieval fast. One disadvantage is that
the crawler must run frequently to synchronize local content with all the latest content on the
Connections server. It can do a better relevance ranking of search results, as search results
(including Portal and Connections) are served by the Portal engine only.
Search service
Search service uses the Connections API which internally uses REST framework to search
content directly from a Connections server. Connections and Portal integration uses the
"Remote Content Server Search Service Type" (referred to as RCSS type), using the
ATOM/REST APIs exposed by Connections. It is a federated approach in which the search is
federated between Portal and Connections instances.
The advantage using this approach is that the maintenance is easy as there is no Collections
to maintain. Since it is a live search, the disadvantage of Connections is overload during
search process.
Restriction: Currently, you must implement the search integration of Connections Content
Manager (CCM) documents using the Search Service approach. The search collections
method is not supported at this time.
Important: Ensure that these IBM Connections seedlists are available with basic
authentication. Depending on your security configuration, basic authentication might be the
default or can be accomplished with an additional virtual host in your HTTP server, by
addressing a WebSphere node directly, or by altering Tivoli Access Manager or SiteMinder
configuration to open a basic authentication protected endpoint.
4. We can find that the collection IBMConnections is created and is displayed in Search
Collections. Click on the link IBMConnections.
5. In the Content Sources screen, click the button New Content Source for this collection. In
the Content source type drop down list, choose Seedlist provider. Enter the Content
Source Name as Activities, Collect documents linked from this URL as
https://connectionsww.demos.ibm.com/activities/seedlist/myserver as shown below.
This is the Seedlist URL.
Here, the Seedlist URL for a Connections service is of the form
https://:port//seedlist/myserver:
7. Repeat Steps 5, 6 to add Content Sources for other services like Communities, Profiles,
Wikis, Blogs, Forums, Files and Bookmarks. The table below lists all the Content Sources
that needs to be created in IBMConnections.
Communities h@nowiki@connectionsww.demos.ibm.com/communities/seedlist/myserver
Profiles https:connectionsww.demos.ibm.com/profiles/seedlist/myserver
Wikis h@nowiki@connectionsww.demos.ibm.com/wikis/seedlist/myserver
Blogs https:connectionsww.demos.ibm.com/blogs/seedlist/myserver
Forums h@nowiki@connectionsww.demos.ibm.com/forums/seedlist/myserver
Files https:connectionsww.demos.ibm.com/files/seedlist/myserver
Bookmarks h@nowiki@connectionsww.demos.ibm.com/dogear/seedlist/myserver
8. Once the Content Sources are added successfully, click on Start Crawler on each of the
Content Source. Then, you can find that the Status changes from Running to Idle once it
has indexed and collected the documents. Now, the Documents count changes from 0 to
some number, if there are documents available in the service.
The figure below lists all the created content source names :
Page 2 :
9. Now, Navigate to Search Center, and try to search for any word which is stored in a
Connections server. Type the search word in the Text Box. Click on the search icon in the
search box as shown below.
10. The search returns results as shown below. Here we can find that the search returns
results from Portal and Connections. The scope "All sources" is a federated search and it
searches content from all the Collections across Portal and Connections. If you want to
search only from Portal content or Connections content, we can create a scope that
narrows to a specific collection (WCM JCRCollection1 or IBMConnections). The scope
can be created from Portal Administration portlet Manage Search Search
Scopes. Then we can choose that specific scope while performing search instead of All
Sources scope.
3. From the Resource Types, select Virtual Resources. For the PORTAL resource, click the
Assign Access icon. Edit the Administrator role as shown below.
4. Click on Add button below to add any Connections user or user group as Portal
Administrator.
At this stage you have successfully added this Connections user as Portal Administrator.
This same user must be used to configure the RCSS search collection further.
Note: Look and feel of screens may change depending on theme and skin applied on
your portal.
Follow these steps in IBM WebSphere Portal to create the RCSS service:
1. Log in to IBM WebSphere Portal Console using credentials
aalain@demos.ibm.com/passw0rd (username/password).
2. Navigate to Administration Search Administration Manage Search Search
Services. Click New Search Service.
4. Add or modify the following parameters in the Edit Search Service Parameter screen.
SearchRequestUrl /atom/search/results
RestServiceUnSecureUrl /search
ContentType RemoteContent
QueryParam includeportalcustomizations=true&includeField=communi
ty_id&query
IgnoreAllSourcesSearch false
RestServiceSecureUrl /search
StartParam start
AllSourcesParam scope
QueryLangParam queryLang
DisplayProviderId ConnRCSS
RequestLocaleParam locale
LocationParam scope
RequestLocationType /atom/scopes
9. Select the Remote Content Server Service created as shown below. Click OK to save your
changes.
10. You can find that the Remote Content Server is displayed under Location. Click OK to
create the scope ConnectionsScope.
11. Now, navigate to Search Center, and try to search for any word which is stored in the
Connections server. Type the search word in the Text Box. Choose the scope as
ConnectionsScope and click on the search icon in the search box. The search returns
results as shown below. Here you can find that the search returns results only from
IBM Connections portlet uses Piece of Content (POC Resolver) and Shared Render
Parameter in combination to render the exact connections data in request within the IBM
Connections Details portlet.
In this process, Search Center and Connections Summary Portlet generates the required
POC URLs. When user clicks on such link, the call goes to Portal POC resolver and then
based on the URL, it delegates the call to Connections Portlet POC resolver.
This POC resolver identifies the required portal page and then from POC URL, it extracts the
required values and publishes required Public Render Parameter which enables portlets to
display the right data.
There are two broader categories how POC Resolver handles navigation. Any Connections
content could either be community content or standalone content. Further there could be
three possibilities from the type of Search result or Summary portlet item for which navigation
is requested.
Search result/Summary portlet content belongs to the community which is having a page
configured on this portal. In this case, POC resolver will take user to the configured
community page where required portlet is deployed and can render data.
For any search result for which we have mapped community page in portal, we need not
perform any separate configuration. POC Resolver identifies the community page and then
calls the most appropriate page which has corresponding portlet deployed on page.
For example to setup navigation for any connections profiles result, there must be a portal
page in which profiles portlet must be deployed. In addition, you must provide the required
Page parameter by following the steps below:
1. Login to portal as portal administrator and navigate to Administration and then drill down
to Manage pages option. There, it will list down the pages hierarchy.
2. Navigate over the pages and locate the page where profiles portlet is deployed and you
want user to navigate from Search Center or summary portlet for non community
standalone connections content. You may see Edit Page Properties icon besides the page
name. Click on that to enter into page properties.
4. Click OK on the page below. It will take you back to the page listing view and this page
would get listed with its Unique name as below.
Profiles ibm.conn.profiles
Activities ibm.conn.activities
Blogs ibm.conn.blogs
Wikis ibm.conn.wikis
Forums ibm.conn.forums
Bookmarks ibm.conn.dogear
After specifying proper page unique name, it should look something similar to the screen
below.
By Specifying the Page Unique name to the pages on which we want to navigate when a
search result came from specific connections service type content, the IBM Connections
Portlet deployed on that will surface the search result.
You can use IBM Cognos Connection to create and run reports and cubes and distribute
reports. You can also use it to create and run agents and schedule entries.
Another way is to write a custom aggregator script for IBM Active Site Analytics. With this way,
you can specify a custom analytics software for collect all statistical data.
In this section, we discuss the importance of IBM Cognos in a social business environment
and how it can be used with IBM Connections and IBM WebSphere Portal for social analytics.
(Albert Einstein)
One of the biggest challenges for social business is measuring its impact through
organization. The kind of transformation we expect when adopting a social business platform
is so deep that we do not have a single metrics to measure it all. Changes are globally
encompassing every aspect of organizations. We don't have more processing powers, or
more fast download, we enjoy a global change, and we need a composition of metrics to
understand the change, promote change, and adapt to changes.
Measuring the engagement of your employees, and your externals and internal people is
crucial to your success and Metrics is the key to your organization success. IBM Connections
packs the power of IBM Cognos Business Intelligence, a full feature suit for business
analytics. Cognos ships with pre-built metrics for your environment, and it can also be
customized to extend those metrics to capture events of your choice. We will later look more
in-depth of the built-in metrics.
Cognos harnesses the social and organizational data and helps take you decisive action
across the enterprise. From identifying new patterns and trends for your product development
team, to protecting your brand image and micro-segmenting customers to refine marketing
campaigns, or targeting prospective new hires for HR, and to improving the overall customer
experience, IBM Social Media Analytics can help your business:
Capture data from your platform to understand attitudes, opinions and trends.
Leverage adoption to drive your social business platform to the full potential.
Create customized actions and initiative to be operated in your organization.
Identify your influencers to determine the primary influencers and stakeholders inside
your organization.
We can summarize the life cycle of social business analytics into a three phases iterative
diagram as follows.
Note: For detail information on how to set up IBM Cognos to work with IBM Connections,
refer to this article, How to set up Cognos and metrics for Connections 4.5.
Let's login to the Communities Application, and then into the forum view. Every time we read
an object, a call to the Metrics application is performed. Now let's suspend the messaging
feature of Metrics, so messages get queued, and let's go to Communities and start a new
topic.
http://lo2w03-utility1.demos.ibm.com/metrics/service/eventTracker?contentId=ef80a1ac-7996
-45cc-a442-469a19d40c30&itemType=TOPIC&source=FORUMS&community=bbd20ecc-48
67-4881-82a9-bdd5b497880b&contentTitle=Test%20Topic%20Metrics&contentLink=http%3
A%2F%2Flo2w03-utility1.demos.ibm.com%2Fforums%2Fhtml%2Ftopic%3Fid%3Def80a1ac
-7996-45cc-a442-469a19d40c30&contentContainerId=fea78da8-7ffa-4a69-b55f-b7b45d28e2
46&contentContainerTitle=Social%20Digital%20Experiecnes&contentContainerLink=http%3
A%2F%2Flo2w03-utility1.demos.ibm.com%2Fforums%2Fhtml%2Fforum%3Fid%3Dfea78da
8-7ffa-4a69-b55f-b7b45d28e246
Now let's jump back into the past to understand what happened when we first created this
forum.
You can find the queue under Buses at Runtime tab of the following breadcrumb.
Opening the last message, you can see the way it is structured.
Other information is added to linked tables, but what Cognos Transformer will do is
processing those data to create a Powercube.
The data will be inserted and structured only if a point for recording information has been
defined. That's why not everything can be processed out-of-the-box. Metrics is the source of
the data for Cognos. Data can be collected even without Cognos installed. When Cognos
runs for the first time, it will process all previously collected data. Cognos Transformer will
follow a mixture of XML and MDL file to process the data.
The D_Community table structure is useful to open MetricsTrxCube.mdl file and take a look.
This explains the role of a single application (sending events to Metrics), of the Metrics
application (processing and capturing events), and of Cognos (processing events into
reports).
The community metrics are visible only to the community owner. The image below shows how
to access the community metrics.
Visitor
The word visitor is mainly used in reports. This implicitly has the unique character, and it is
similar with the concept of login. Once an authenticated user becomes a visitor of one object,
the user will be regarded as a visitor of its parent level object. So, for example, when a user
Once an object is visited, its parent level object will be considered visited as well. For
example, a wiki page is accessed by a user through a direct link. This wiki page is considered
to be visited one time. At the same time, the wiki instance which contains the wiki page is also
considered visited one time, and the wikis application, and the entire Connections system is
also considered visited one time. In addition, if the wiki page is located in a community, then
the community instance and the communities application are also considered to be visited as
well.
Visit number
Visit number is counted on the times. This means, if a wiki page is accessed 10 times in a
day, then the number of visits for this page is 10 on this day.
However, the thing will be a little different for the visit number at the instance or application
level. We call wiki page as entry level object, just like a blog entry, a file, or a forum topic.
Oppositely, the wiki, blog and forum which contain the entry level objects are instance level
objects. All wiki instances belong to the wikis application. The visit number for the instance
and application level is relevant with the login session. This means, within one login session,
no matter how many times one instance is visited, the instance will only be counted as being
visited one time. For example, a user logs into the Connections and locates to one wiki
instance, then the wiki instance is visited one time. After a while, the user turns to another
application for some business, such as blogs. Sometimes later the user comes back the wiki
instance that he or she visited previously. In this case, the visit number of the wiki instance will
still be 1, and not to be increased to 2, because the user is still in the same session since he
or she last logged in. If the session expires, and then the user visits the wiki instance again
after re-logging into the Connections in a new session, then the visit number of this wiki
instance will be increased by 1.
How the metrics are done, depends from applications to applications, because they are
created differently:
Entry level (such as most active wiki pages): The metrics are usually provided in
community metrics. For example an entry may be a blog entry, a forum entry, or a wiki
page.
Instance level (such as most active blogs, or wiki instances): For example, a blog, or a
forum topic can be considered an instance. The metrics are usually provided in global
metrics.
Application level: For comparing applications, for example most popular apps in global
metrics.
In IBM Connections, only creating action will be counted. The deleting action has no impact to
the report value. For example, at one day, 5 new wiki pages are created, and 2 of them were
deleted later in the same day. Then, in number of new wiki pages metrics, the number at this
day is 5, not 3.
Number of new items reports will provide a total number of global and communities metrics
for a certain date range by adding up all the date points value within the selected date range.
Global Metrics
Number of new status Overall Displays the number of status updates posted across
updates Connections in the specific time frame. Currently, status
updates are only from Profiles and Communities.
Number of new Activities Displays the number of activities created in the specific
activities time frame, include both stand alone and community
activities.
Number of new blogs Blogs Displays the number of blogs created in the specific time
frame, include both stand alone and community blogs.
Number of new entries Blogs Displays the number of blog entries created in the
specific time frame, include both stand alone and
community blogs.
Number of new entry Blogs Displays the number of comments for blog entry created
comments in the specific time frame, include both stand alone and
community blogs.
Number of new status Communities Displays the number of status updates posted from
updates communities in the specific time frame.
Number of new files Files Displays the number of files created in the specific time
frame, include both personal file libraries and community
file libraries.
Number of new forum Forums Displays the number of forum topics created in the
topics specific time frame, include both stand alone forums and
community forums.
Number of new forums Forums Displays the number of forums created in the specific
time frame, include both stand alone forums and
community forums.
Number of new topic Forums Displays the number of forum topic replies created in the
replies specific time frame, include both stand alone forums and
community forums.
Number of new status Profiles Displays the number of status updates posted from
updates profiles in the specific time frame.
Number of new wiki Wikis Displays the number of wiki pages created in the specific
pages time frame, include both stand alone wikis and
community wikis.
Number of new wikis Wikis Displays the number of wikis created in the specific time
frame, include both stand alone wikis and community
wikis.
Community Metrics
Number of new Overall Displays the number of people who joined this
members community in the specific time frame.
Number of members Overall Displays the number of people who removed from this
who left the community in the specific time frame.
community
Number of new entries Blogs Displays the number of blog entries created in this
community in the specific time frame.
Number of new entry Blogs Displays the number of comments for blog entry created
comments in this community in the specific time frame.
Number of new files Files Displays the number of files created in this community in
the specific time frame.
Number of new forum Forums Displays the number of forum topics in this community in
topics the specific time frame.
Number of new topic Forums Displays the number of replies for forum topic in this
replies community in the specific time frame.
Number of new Ideation Blog Displays the number of graduated ideas in this
graduated ideas community in the specific time frame.
Number of new ideas Ideation Blog Displays the number of ideas in this community in the
specific time frame.
Number of new wiki Wikis Displays the number of wiki pages in this community in
pages the specific time frame.
Number of unique items metrics do not provide a total number for the selected date range. As
a substitution, the unique report will indicate a Max unique value of the all date points within
the selected date range.
Global Metrics
Number of unique Activities Displays the number of people who logged in to Activities
authenticated visitors in the specific time frame, include both stand alone
activities and community activities.
Number of unique Blogs Displays the number of people who logged in to Blogs in
authenticated visitors the specific time frame, include both stand alone blogs
and community blogs.
Number of unique Files Displays the number of people who logged in to Files in
authenticated visitors the specific time frame, include both personal file libraries
and community file libraries.
Number of unique Files Displays the number of contributors of Files in the specific
contributors time frame. The contributor is the people who posted,
updated, or commented on content in both personal file
libraries and community file libraries.
Number of unique Files Displays the number of files downloaded in the specific
downloaded files time frame.
Number of unique Files Displays the number of people who downloaded files in
people who the specific time frame.
downloaded files
Number of unique Files Displays the number of people who shared files in the
people who shared specific time frame.
files
Number of unique Forums Displays the number of people who logged in to Forums
authenticated visitors in the specific time frame, include both stand alone forums
and community forums.
Number of unique Profiles Displays the number of people who logged in to Profiles in
authenticated visitors the specific time frame.
Number of unique Profiles Displays the number of people who were followed in the
followed people specific time frame.
Number of unique Profiles Displays the number of people who updated their profile
people who updated in the specific time frame.
their profile
Number of unique Wikis Displays the number of people who logged in to Wikis in
authenticated visitors the specific time frame, include both stand alone wikis and
community wikis.
Number of unique Wikis Displays the number of contributors of Wikis in the specific
contributors time frame. The contributor is the people who posted,
updated, or commented on content in both stand alone
and community Wikis.
Community Metrics
Number of unique Overall Displays the number of people who logged in to this
authenticated visitors community in the specific time frame.
Number of people Overall Displays the number of people who followed this
following the community in the specific time frame.
community
Number of unique Activities Displays the number of people who logged in to this
authenticated visitors community activity in the specific time frame.
Number of unique Blogs Displays the number of people who logged in to this
authenticated visitors community blog in the specific time frame.
Number of unique Files Displays the number of people who logged in to this
authenticated visitors community file library in the specific time frame.
Number of unique Files Displays the number of contributors in this community file
contributors in the specific time frame. The contributor is the people
who posted, updated, or commented on content in this
community file library.
Number of unique Files Displays the number of people who downloaded files in
people who this community in the specific time frame.
downloaded files
Number of unique Files Displays the number of people who shared files in this
people who shared community in the specific time frame.
files
Number of unique Forums Displays the number of people who logged in to this
authenticated visitors community forum in the specific time frame.
Number of unique Ideation Blog Displays the number of people who logged in to this
authenticated visitors community ideation blog in the specific time frame.
Number of unique Ideation Blog Displays the number of contributors in this community
contributors ideation blog in the specific time frame. The contributor is
the people who posted, updated, or commented on
content in this community ideation blog.
Number of unique Media Gallery Displays the number of people who logged in to this
authenticated visitors community media gallery in the specific time frame.
Number of unique Media Gallery Displays the number of contributors in this community
contributors media gallery in the specific time frame. The contributor is
the people who posted, updated, or commented on
content in this community media gallery.
Number of unique Wikis Displays the number of people who logged in to this
authenticated visitors community wiki in the specific time frame.
Number of unique Wikis Displays the number of contributors in this community wiki
contributors in the specific time frame. The contributor is the people
who posted, updated, or commented on content in this
community wiki.
We have introduced the visit concept earlier. The visit metrics are applicable for application
instance, application and overall connection. Number of visits reports will provide a total
number for a certain date rang by adding up all the visit values within the selected date range.
Global Metrics
Number of visits Overall Displays the number of visits to Connections from any
applications in the specific time frame, include anonymous
and authenticated visit.
Note:
This metrics only count the application level visit. That
means, in one log in session, no matter how many instances
of one application are visited, it will only contribute 1 visit to
this metrics as an application visit.
When visit a community inside application, that will possibly
generate 2 visits number, one for the inside application, one
for the communities application.
Number of visits Activities Displays the number of visits to Activities in the specific time
frame.
This metrics only count the application level Activities visit.
Number of visits Blogs Displays the number of visits to Blogs in the specific time
frame, include anonymous and authenticated visit.
This metrics only count the application level Blogs visit.
Number of visits Bookmarks Displays the number of visits to Bookmarks in the specific
time frame, include anonymous and authenticated visit.
This metrics only count the application level Bookmarks visit.
Number of visits Communities Displays the number of visits to Communities in the specific
time frame, include anonymous and authenticated visit.
This metrics only count the application level Communities
visit.
Number of visits Files Displays the number of visits to Files in the specific time
frame, include anonymous and authenticated visit.
This metrics only count the application level Files visit.
Number of visits Forums Displays the number of visits to Forums in the specific time
frame, include anonymous and authenticated visit.
This metrics only count the application level Forums visit.
Number of visits Homepage Displays the number of visits to Homepage in the specific
time frame.
Number of visits Profiles Displays the number of visits to Profiles in the specific time
frame, include anonymous and authenticated visit.
Number of visits Wikis Displays the number of visits to Wikis in the specific time
frame, include anonymous and authenticated visit.
This metrics only count the application level Wikis visit.
Community Metrics
Number of visits Overall Displays the number of visits to this community in the specific
time frame, include anonymous and authenticated visit.
Note:
This metrics only count the visit on this community instance
level. That means, in one log in session, no matter how many
times this community is visited from no matter what
application, it will only contribute 1 visit number to this
metrics.
Number of visits Activities Displays the number of visits to this community activity in the
specific time frame, include anonymous and authenticated
visit.
Note:
This metrics only count the visit on this community activity
widget level. That means, in one log in session, no matter
how many times this community activity is visited, it will only
contribute 1 visit number to this metrics.
Number of visits Blogs Displays the number of visits to this community blog in the
specific time frame, include anonymous and authenticated
visit.
Note:
This metrics only count the visit on this community blog
widget level. That means, in one log in session, no matter
how many times this community blog is visited, it will only
contribute 1 visit number to this metrics.
Number of visits Files Displays the number of visits to this community file library in
the specific time frame, include anonymous and
authenticated visit.
Note:
This metrics only count the visit on this community file widget
level. That means, in one log in session, no matter how many
times this community file library is visited, it will only
contribute 1 visit number to this metrics.
Number of visits Forums Displays the number of visits to this community forum in the
specific time frame, include anonymous and authenticated
visit.
Note:
This metrics only count the visit on this community forum
widget level. That means, in one log in session, no matter
how many times this community forum is visited, it will only
contribute 1 visit number to this metrics.
Number of visits Ideation Blog Displays the number of visits to this community ideation blog
in the specific time frame, include anonymous and
authenticated visit.
Note:
This metrics only count the visit on this community ideation
blog widget level. That means, in one log in session, no
matter how many times this community ideation blog is
visited, it will only contribute 1 visit number to this metrics.
Number of visits Media Gallery Displays the number of visits to this community media gallery
in the specific time frame, include anonymous and
authenticated visit.
Note:
This metrics only count the visit on this community media
gallery widget level. That means, in one log in session, no
matter how many times this community media gallery is
visited, it will only contribute 1 visit number to this metrics.
Number of visits Wikis Displays the number of visits to this community wiki in the
specific time frame, include anonymous and authenticated
visit.
Note:
This metrics only count the visit on this community wiki widget
level. That means, in one log in session, no matter how many
times this community wiki is visited, it will only contribute 1
visit number to this metrics.
Global Metrics
Most active apps Overall Displays Connections apps ranked by usage in the specific
time frame, based on visits, creates, updates, follows,
recommendations, comments, votes, downloads and
Replies.
All factors will just be added up to compare between the
applications.
Most active Activities Displays activities ranked by usage in the specific time frame,
activities based on visits, creates, updates, follows and comments.
All factors will just be added up to compare between the
activities.
Note: Some inapplicable factors are also presented in that
ranking table, but the values will always be 0.
Most active blogs Blogs Displays blogs ranked by usage in the specific time frame,
based on visits, creates, updates, follows, recommendations
and comments.
All factors will just be added up to compare between the
blogs.
Note: Some inapplicable factors are also presented in that
ranking table, but the values will always be 0.
Most active Communities Displays communities ranked by usage in the specific time
communities frame, based on visits, creates, updates, follows,
recommendations, comments, votes, downloads and replies.
All factors will just be added up to compare between the
communities.
Note: The community usage is from its inside applications.
Most active file Files Displays file libraries ranked by usage in the specific time
libraries frame, based on visits, creates, updates, follows,
recommendations, comments and downloads.
All factors will just be added up to compare between the file
libraries.
Note: Some inapplicable factors are also presented in that
ranking table, but the values will always be 0.
Most active forums Forums Displays forums ranked by usage in the specific time frame,
based on visits, creates, updates, follows and replies.
All factors will just be added up to compare between the
forums.
Note: Some inapplicable factors are also presented in that
ranking table, but the values will always be 0.
Most active wikis Wikis Displays wikis ranked by usage in the specific time frame,
based on visits, creates, updates, follows and
recommendations and comments.
All factors will just be added up to compare between the wikis.
Note: Some inapplicable factors are also presented in that
ranking table, but the values will always be 0.
Community Metrics
Most active content Overall Displays contents in this community across applications
ranked by usage in the specific time frame, based on reads,
downloads and replies.
Note: Only blog entries, wiki pages, forum topics and files will
be involved in the ranking.
Most active Activities Displays activities in this communities ranked by usage in the
activities specific time frame, based on visits, creates, updates, follows
and comments.
All factors will just be added up to compare between the
activities in this communities.
Note: Some inapplicable factors are also presented in that
ranking table, but the values will always be 0.
Most active entries Blogs Displays blog entries in this community ranked by usage in
the specific time frame, based on reads, recommendations
and comments.
Note: The factors have different weight for each. By default,
[reads]:[recommendations]:[comments] is [0.7]:[0.2]:[0.1]
Most active files Files Displays files in this community ranked by usage in the
specific time frame, based on downloads, recommendations
and comments.
Note: The factors have different weight for each. By default,
[downloads]:[recommendations]:[comments] is
[0.7]:[0.2]:[0.1]
Most active forum Forums Displays forum topics in this community ranked by usage in
topics the specific time frame, based on reads, replies and pins.
Note: The factors have different weight for each. By default,
[reads]:[replies]:[pins] is [0.7]:[0.2]:[0.1]
Most active ideas Ideation Blog Displays ideas in this community ranked by usage in the
specific time frame, based on reads, comments and votes.
Note: The factors have different weight for each. By default,
[reads]:[comments]:[votes] is [0.4]:[0.1]:[0.5]
Most active wiki Wikis Displays wiki pages in this community ranked by usage in the
pages specific time frame, based on reads, recommendations and
comments.
Note: The factors have different weight for each. By default,
[reads]:[recommendations]:[comments] is [0.7]:[0.2]:[0.1]
As same as the other most active metrics, these metrics only support Last 7 days, Last 4
weeks, Last quarter and Last 12 months, but not All years and Custom.
Global Metrics
Most followed content Overall Displays the content posts across Connections
ranked by number of followers in the specific time
frame.
People with the most new Profiles Displays people ranked by number of new
followers followers in the specific time frame.
People with the most Profiles Displays people ranked by total number of
followers overall followers.
Community Metrics
Most visited media Media Gallery Displays media in this community ranked by the
number of visits in the specific time frame.
If you click on activities, you will be able to see the old metrics used before IBM Connections
4.0.
Before proceeding, log into Cognos with the Cognos admin ID by typing URL
https://your_connections_host/metrics/app#/cognos. Then follow these steps:
1. Click New Folder icon to create new folder. This folder becomes the custom report
location.
2. In the Name field for the new folder, type CustomReport, and click Finish.
4. Click in the administrator menu in the upper right corner and then click on the Report
Studio link.
Note: If you don't see the Report Studio link, probably you are using an unsupported
browser or a wrong user.
9. In the toolbox window, click Chart and drag the Chart object in the white area on the right.
11. Click under the the Page Explorer label the query explorer icon .
13. From the toolbox window drag the Data Item label on the right Data Items area.
Note: Don't write into the function all the parameters because Cognos recognizes only
full path item and not only the item. If you want to directly use any function, use the full
path, for example [METRICS_TRX_CUBE].[DATE].[DATE].[DAY].
Note: Don't write into the function all the parameter because Cognos recognize only full
path item and not only the item. If you want to directly use any function, use the full path
for example [METRICS_TRX_CUBE].[DATE].[DATE].[DAY].
25. Click on the Page Explorer icon and the click on Page1.
27. Drag the data item Date in the place described in the image.
28. Drag the data item ConnectionsApp in the place described in the image.
33. In the properties pane, change the query from Query2 to Query1.
34. In the properties pane, Change the 3-D Viewing Angle to isometric.
43. At this point the custom report is visible inside the CustomReport folder.
6. Normally this file is empty. If this file does not exist, create it.
8. Check in the reports-config.xml, synchronize all nodes and restart the Communities and
Metrics applications.
All Cognos portlets conform to the Web Services for Remote Portlets (WSRP) standard.
Users can interact with the portlets without installing IBM Cognos products on their
computers. The content that appears in the portlets, such as reports, or metrics, and the
ability to perform specific actions on that content depend on the users' access permissions.
Users must have the required access permissions for the individual entries and for the IBM
Cognos secured functions and features.
Dashboard portlets:
Multi-page - Used to create a dashboard with multiple pages
To configure the IBM Cognos portlets into your WebSphere Portal environment, you need to
follow the steps:
1. Obtain the application that contains the IBM Cognos portlets. It is named
CognosBIPortlets.war and you can get it from the IBM Cognos installation folder (
2. Install the CognosBIPortlets.war file into your WebSphere Portal through portal
administration as a web module.
3. Assign roles for the required users or user groups to each Cognos portlet application.
4. Configure each Cognos portlet application by using the Portal administration (edit portlet
application button). You have to set the following properties:
Active Credential Type: Specifies the single-sign-on mechanism used in your
installation ( LtpaToken, HttpBasicAuth, SiteMinderToken, WebSealToken ).
IBM Cognos WSRP WSDL Location: Specifies the URL required to connect to the
CPS server. The URL must contain the correct protocol, server name, port number,
and server path.
By following the above steps, your portal users will be able to access, use or customize the
content delivered by the Cognos portlets.
Additional reference
For more information about IBM Cognos portlets, refer to this article, Deploying Cognos
Portlets to Other Portals.
PortalServer_root/theme/wp.theme.modules/asa/installedApps/ThemeModules.ear/ThemeM
odules.war/WEB-INF/lib/asa.jar
Module Prerequisites
wp_analytics wp_analytics_aggregator
dojo
dojo_gfx
dojox_charting
dijit
dijit_form
wp_one_ui_dijit
dijit_layout_basic
wp_pagebuilder_shelf_base
mm_enabler
mm_builder
wp_analytics_aggregator wp_client_main
wp_client_ext
When the modules are activated, a special markup is added to every page that loads this
special modules.
The SampleAggregator.js is a javascript that queries the page DOM and searches all CSS
class start with asa.
This operation is made in the point 3 of the image below. When the DOM parsing is
completed, a GET request is made to the HTTP server used to track the information gathered
by the aggregator. An example is:
http://example.org/tracking.gif?asa.page.title=My%20Page&asa.visitor=user4
To enable the aggregator inside a specific portal page, we need to add two page metadata as
described in this article.
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
asa.js
(function(){
require(["dojo/query","dojo/dom-attr"], function(query, domAttr) {
var ASA4GoogleAggregator = function () {
var aggregator = {};
aggregator.submit = function() {
var pageTitle = "";
var pageUrl = "";
var asaPage = query("[class='asa.page']");
if (asaPage) {
asaPage.forEach(function(node, index, arr){
pageTitle = query("[class='asa.page.title']", node)[0].innerHTML;
pageUrl = query("[class='asa.page.breadcrumb']", node)[0].innerHTML;
console.log(pageTitle);
console.log(pageUrl);
ga('send','pageview', {
'page': pageUrl,
'title': pageTitle
});
});
}
query("[class='asa.portlet']").forEach(function(node, index, arr) {
var portletData = {
title : null,
id : null,
}
var q = null;
q = query("[class='asa.portlet.title']", node); if (q.length == 1) {
portletData.title = q[0].innerHTML };
q = query("[class='asa.portlet.id']", node); if (q.length == 1) {
portletData.id = q[0].innerHTML };
ga('send','pageview', {
'page': pageUrl + '/' + portletData.id,
'title': portletData.title
});
});
};
return aggregator;
};
// instantiate the aggregator
var aggregator = new ASA4GoogleAggregator();
// callback function to submit the collected data to the external analytics
// service
The asa.js is written by following this article, in particular this custom implementation follow
these simple steps.
2. After the folder is created, navigate into the folder and copy the two Javascripts created in
the previous step.
KEY VALUE
asa_aggregator ga4wps/asa.js
asa_dependency_1 ga4wps/google.js
5. After click Save, go into the view mode and open the browser Javascript console.