79
29th October 2009 Stuart McIntyre, Collaboration Matters Limited Your First Lotus Connections 2.5 Customisations Made Easy (DEV05)

Your First Lotus Connections 2.5 Customisations Made Easy

Embed Size (px)

DESCRIPTION

Your First Lotus Connections 2.5Customisations Made Easy session delivered at NLLUG 2009

Citation preview

Page 1: Your First Lotus Connections 2.5 Customisations Made Easy

29th October 2009

Stuart McIntyre, Collaboration Matters Limited

Your First Lotus Connections 2.5 Customisations Made Easy(DEV05)

Page 2: Your First Lotus Connections 2.5 Customisations Made Easy

Your Host✤ Stuart McIntyre

✤ Technical Director, Collaboration Matters

✤ Connections Specialist

✤ Blogger

✤ Feel free to contact me:

facebook.com/stuartmcintyre

twitter.com/stuartmcintyre

www.linkedin.com/in/mcintyre

[email protected]

blog.collaborationmatters.com

lotusconnectionsblog.com

quickrblog.com

lotusliveblog.com

Page 3: Your First Lotus Connections 2.5 Customisations Made Easy

This Session

✤ Your First Lotus Connections 2.5 Customisations Made Easy

✤ Topics:

✤ Demonstrate some of the key areas where Lotus Connections 2.5 can be customised

✤ Themes and skins

✤ Profiles

✤ What next?

✤ Q&A

Page 4: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

Page 5: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

✤ Administrator?

Page 6: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

✤ Administrator?

✤ Developer?

Page 7: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

✤ Administrator?

✤ Developer?

✤ Something else?

Page 8: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

✤ Administrator?

✤ Developer?

✤ Something else?

✤ Edited HTML?

Page 9: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

✤ Administrator?

✤ Developer?

✤ Something else?

✤ Edited HTML?

✤ Edited CSS?

Page 10: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

✤ Administrator?

✤ Developer?

✤ Something else?

✤ Edited HTML?

✤ Edited CSS?

✤ Worked with TDI?

Page 11: Your First Lotus Connections 2.5 Customisations Made Easy

First, some questions...

✤ Administrator?

✤ Developer?

✤ Something else?

✤ Edited HTML?

✤ Edited CSS?

✤ Worked with TDI?

✤ Customised Lotus Connections?

Page 12: Your First Lotus Connections 2.5 Customisations Made Easy

Interactivity is good!

Image: http://www.slideshare.net/Niezette/100-pictures-for-powerpoint-presentations

Page 13: Your First Lotus Connections 2.5 Customisations Made Easy

Lotus Connections 2.5

Blogs

Communities

Bookmarks

Activities

Profiles

Homepage

Wikis

Files

Page 14: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5

✤ Whilst only a point-release, LC2.5 probably the most significant update to product so far

✤ Announced on 18th August, shipped on 28th August

✤ Generated massive demand for adoption amongst existing users and outside

✤ All information in this presentation is correct for Connections 2.5. Details may be different in 2.0.x - we’ll try to point this out as we go

Page 15: Your First Lotus Connections 2.5 Customisations Made Easy

Create, find, join, and work with communities of people who share a

common interest, responsibility, or area of expertise

Use a weblog to present your idea and get feedback from others; learn from the expertise and experience of others who

blog

Save, organize and share bookmarks; discover bookmarks that have been

qualified by others with similar interests & expertise

Organize your work, plan next steps, and easily tap your expanding professional network to help execute your everyday

deliverables, faster

Quickly find the people you need by searching across your organisation and

connecting to others.

Profiles

Bookmarks

Communities

ActivitiesBlogs

Homepage

Manage your attention by viewing relevant social data aggregated across your subscriptions, notifications, and

network of colleagues.

WikisFiles

Upload and share any type of file with colleagues and communities. Store

versions and view downloads, comments and ratings.

Create wiki spaces for individuals, groups, and communities to coauthor pages. View changes across pages,

ratings, and comments.

All your social software needsready for business

Page 16: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5 (cont.)

Page 17: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5 (cont.)✤ Principal new features:

Page 18: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5 (cont.)✤ Principal new features:

✤ River of news

Page 19: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5 (cont.)✤ Principal new features:

✤ River of news

✤ Status updates

Page 20: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5 (cont.)✤ Principal new features:

✤ River of news

✤ Status updates

✤ Customisable Communities

Page 21: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5 (cont.)✤ Principal new features:

✤ River of news

✤ Status updates

✤ Customisable Communities

✤ Improved Discussion Forums

Page 22: Your First Lotus Connections 2.5 Customisations Made Easy

Introducing LC2.5 (cont.)✤ Principal new features:

✤ River of news

✤ Status updates

✤ Customisable Communities

✤ Improved Discussion Forums

✤ Files & Wikis

Page 23: Your First Lotus Connections 2.5 Customisations Made Easy

Areas for Customisation✤ Look and Feel

✤ Logo✤ Header✤ Footer✤ Themes✤ Login Pages

✤ Profiles✤ Changing which fields display & order✤ Changing editable fields✤ Changing field names✤ Adding extension fields

Page 24: Your First Lotus Connections 2.5 Customisations Made Easy

Key Resources

✤ Lotus Connections Infocenter

✤ Lotus Connections Wiki

✤ Luis Benitez blog

✤ Curious Mitch

✤ The Connections Blog

✤ developerWorks

http://www.lotusconnectionsblog.com

http://www-10.lotus.com/ldd/lcwiki.nsf

http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/index.jsp

http://www.lbenitez.com

http://www.curiousmitch.com

https://www.ibm.com/developerworks/lotus/products/connections/

Page 25: Your First Lotus Connections 2.5 Customisations Made Easy

Look and Feel - Themes

Standard LC2.5

‘OneUI’ theme

Page 26: Your First Lotus Connections 2.5 Customisations Made Easy

Look and Feel - Themes

An example customised

LC2.5 theme

Page 27: Your First Lotus Connections 2.5 Customisations Made Easy

Theme Components

✤ Each theme is made up of multiple components:

✤ CSS

✤ header.html

✤ footer.html

✤ images

Page 28: Your First Lotus Connections 2.5 Customisations Made Easy

CSS Theme File

✤ CSS file affects the design (look and feel) but not the layout or functionality of Connections UI

✤ Controls all of the colours and background images

✤ Allows Web Designer to make changes to elements like link colours and background images

Page 29: Your First Lotus Connections 2.5 Customisations Made Easy

Header.html 1/2

✤ Controls appearance of banner, including logo and feature tabs

✤ Links to CSS file

✤ Found in:

✤ <Profile_Home>/installedApps/<nodename>/<feature EAR>/<feature WAR>/nav/templates/header.html

✤ e.g. /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/machineNode01Cell/Blogs.ear/blogs.war/nav/templates/header.html

Page 30: Your First Lotus Connections 2.5 Customisations Made Easy

Header.html 2/2<!-- Copyright IBM Corp. 2006, 2009All Rights Reserved.-->

<div class="lotusRightCorner">

<div class="lotusInner">

<!-- The following lines are required for Accessibility and are used by screen readers. Please do not remove -->

<a href="#mainContent" id="lotusAccessLinkMainContent" accesskey="S" class="lotusAccess">

<img src="{{default images}}/blank.gif" alt="Skip to main content link. Accesskey S" />

</a>

<a href="#tabNavigation" id="lotusAccessLinkTabNavigation" accesskey="1" class="lotusAccess">

<img src="{{default images}}/blank.gif" alt="Skip to tab navigation link. Accesskey 1" />

</a>

<a href="#subNavigation" id="lotusAccessLinkSubNavigation" accesskey="2" class="lotusAccess">

<img src="{{default images}}/blank.gif" alt="Skip to sub navigation. Accesskey 2" />

</a>

<div class="lotusLogo" id="lotusLogo"><span class="lotusAltText">Lotus Connections</span></div>

<ul class="lotusInlinelist lotusUtility lotusNowrap" id="headerMenuContainer"

><li class="lotusFirst" id="headerUserText" style="display: {{ header username display }};"><span class="lotusUser" id="headerUserName">{{ header username }}</span></li

><li class="{{ header help class }}" id="headerHelpLi"><a href="{{ header help link }}" id="headerHelpLink">{{ label.header.help }}</a></li

><li id="logoutLi"><a href="{{ header loginout link }}" id="logoutLink" >{{ header loginout label }}</a></li></ul>

<ul class="lotusInlinelist lotusLinks">{{application links: li }}</ul>

</div>

Page 31: Your First Lotus Connections 2.5 Customisations Made Easy

Footer.html 1/2

✤ Controls appearance of footer

✤ Great place to add links to other corporate sites, resources or tools

✤ Default has many IBM-specific links

✤ Found in:

✤ <Profile_Home>/installedApps/<nodename>/<feature EAR>/<feature WAR>/nav/templates/footer.html

✤ e.g. /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/machineNode01Cell/Blogs.ear/blogs.war/nav/templates/footer.html

Page 32: Your First Lotus Connections 2.5 Customisations Made Easy

Footer.html 2/2 (subset)<table cellspacing="0"><tbody>

<tr>

<th>{{ label.footer.connections.heading }}</th>

<th>{{ label.footer.help.heading }}</th>

<th class="lconnFooterToolsHeader">{{ label.footer.tools.heading }}</th>

<th class="lotusLast">{{ label.footer.about.heading }}</th>

</tr>

<tr>

<td><ul id="lotusFooterULConnections">

{{ footerlink.connections.home }}

{{ footerlink.connections.demo }}

</ul></td>

<td><ul id="lotusFooterULHelp">

{{ footerlink.help.help }}

{{ footerlink.help.forums }}

</ul></td>

<td class="lconnFooterToolsCell"><ul id="lotusFooterULTools">

{{ footerlink.tools.browserplugins }}

{{ footerlink.tools.adminpage }}

{{ footerlink.tools.metrics }}

</ul></td>

<td class="lotusLast"><ul id="lotusFooterULAbout">

{{ footerlink.about.about }}

{{ footerlink.about.connectionsonline }}

{{ footerlink.about.submitfeedback }}

</ul></td> </tbody> </table>

Page 33: Your First Lotus Connections 2.5 Customisations Made Easy

Images 1/2

✤ Contains 400+ images used to build a Connections page

✤ Found in:

✤ <Profile_Home>/installedApps/<nodename>/<feature EAR>/<feature WAR>/nav/common/styles/images

✤ e.g. /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/machineNode01Cell/Blogs.ear/common/styles/images

Page 34: Your First Lotus Connections 2.5 Customisations Made Easy

Images 2/2

✤ Many images are transparent and can be used across all themes

✤ Others are closely tied to default theme colour scheme,and must be regenerated - not so many with 2.5

2.0.x vs. 2.5

Page 35: Your First Lotus Connections 2.5 Customisations Made Easy

So why so many copies of themes?

✤ WAS apps are typically self-contained

✤ It is possible (though not necessarily desirable) to customise each theme individually

✤ Allows those customers using just Profiles or Activities to customise without additional steps

✤ Recommended to move to a single copy of theme on the HTTP server ASAP, certainly before customisation for production

Page 36: Your First Lotus Connections 2.5 Customisations Made Easy

Creating a custom theme

✤ Five step process:

✤ Move default theme to HTTP Server

✤ Configure LC2.5 to use HTTP-based theme

✤ Test

✤ Customise theme

✤ Test

Page 37: Your First Lotus Connections 2.5 Customisations Made Easy

Moving theme to HTTP server 1/3

✤ Create directory on HTTP server for theme

✤ e.g.

✤ c:\IBM\HTTPServer\htdocs\en_US\mytheme

✤ /opt/IBM/HTTPServer/htdocs/en_US/mytheme

✤ Create sub-directory for css and html:

✤ c:\IBM\HTTPServer\htdocs\en_US\mytheme\css_html

✤ /opt/IBM/HTTPServer/htdocs/en_US/mytheme/css_html

✤ From profiles application, copy across header.html, footer.html, defaultTheme.css and themeImages directory into mytheme/css_html

✤ Copy images directory into mytheme/images

✤ c:\IBM\HTTPServer\htdocs\en_US\mytheme\images

✤ /opt/IBM/HTTPServer/htdocs/en_US/mytheme/images

Page 38: Your First Lotus Connections 2.5 Customisations Made Easy

Moving theme to HTTP server 2/3

# cd /opt/IBM/HTTPServer/htdocs/en_US/mytheme# ls -lR .

drwxr-xr-x3 root system 256 2009-09-11 06:14 css_htmldrwxr-xr-x3 root system 20480 2009-09-11 06:00 images

./css_html:-rw-r--r--1 root system 64094 2009-09-11 05:47 defaultTheme.css

-rw-r--r--1 root system3910 2009-09-09 08:27 footer.html-rw-r--r--1 root system1696 2009-09-11 05:56 header.html

-rw-r--r--1 root system 64093 2009-09-09 07:38 mytheme.cssdrwxr-xr-x2 root system4096 2009-09-09 07:38 themeImages

..../css_html/themeImages:

-rw-r--r--1 root system 202 2009-09-09 07:38 btnSpecialBkgd.png-rw-r--r--1 root system 19091 2009-09-09 07:38 loginBkgd.png

..../images:

-rw-r--r-- 1 root system 15163 2009-09-09 07:06 16pxIcons.gif-rw-r--r-- 1 root system1203 2009-09-09 07:06 2secondary_cols.jpg

...

Page 39: Your First Lotus Connections 2.5 Customisations Made Easy

Moving theme to HTTP server 3/3✤ Check you can access the files via a browser:

✤ e.g.

✤ http://connections.myorg.com/images/logo.png

✤ http://connections.myorg.com/mytheme/header.html

✤ http://connections.myorg.com/mytheme/footer.html

✤ http://connections.myorg.com/mytheme/defaultTheme.css

Page 40: Your First Lotus Connections 2.5 Customisations Made Easy

Configure Connections to use

✤ Edit LotusConnections-config.xml *

✤ Search for ‘style enabled’, change lines:

✤ to:

* Using appropriate wsadmin commands to checkin/checkout

<style enabled="true"><!-- leave "admin_replace" for any fields you do not wish to override --><header url="http://connections.myorg.com/mytheme/css_html/header.html"/><footer url="http://connections.myorg.com/mytheme/css_html/footer.html"/><images ssl_url="https://connections.myorg.com/mytheme/images" url="http://connections.myorg.com/mytheme/images"/><caching value="private, max-age=3601"/></style>

<style enabled="false"><!-- leave "admin_replace" for any fields you do not wish to override --><header url="admin_replace"/><footer url="admin_replace"/><images ssl_url="admin_replace" url="admin_replace"/><caching value="private, max-age=3601"/></style>

Page 41: Your First Lotus Connections 2.5 Customisations Made Easy

Configure Connections to use

✤ Tell Connections to use CSS from mytheme directory

✤ Edit mytheme/css_html/header.html, add relative (not absolute) link to CSS file just below<div class=”lotusInner”>:

✤ Save file. Restart WAS. Restart HTTP.

<div class="lotusRightCorner"><div class="lotusInner"><link rel="stylesheet" href="/mytheme/css_html/defaultTheme.css" type="text/css">

Page 42: Your First Lotus Connections 2.5 Customisations Made Easy

Testing

✤ Access the site via a browser

✤ Should see Connections appearing same as previously, but with images, header and footer from HTTP site

✤ Test by ‘View Image’ on Lotus Connections logo, or by adding comment to HTML files and using ‘View Source’

Page 43: Your First Lotus Connections 2.5 Customisations Made Easy

Trouble-shooting

✤ If content is not appearing from HTTP server:

✤ Clear Browser Cache

✤ Restart WAS again - sometimes this takes 2 restarts

✤ Check paths used and validity of LotusConnections-config.xml

Page 44: Your First Lotus Connections 2.5 Customisations Made Easy

Customising Images

✤ Recommended to use web standard image sizes, formats and dimensions when creating theme images (copy default theme for guidance)

✤ Plan design and create images before creating/editing CSS

✤ Do not use transparent 24-bit PNG - not all supported browsers support them

✤ Keep all images in HTTP Server mytheme/images directory and reduce size wherever possible

Page 45: Your First Lotus Connections 2.5 Customisations Made Easy

Changing Lotus Connections logo

✤ In LC2.0.x logo image was set in header.html

✤ In LC2.5 it is in the CSS file:

✤ Open mytheme/defaultTheme.css, search for lotusLogo:

✤ To link to your image:

.lotusui .lotusLogo, .lotusLoginLogo{height:18px;width:104px;background-image:url(../images/logo.png);background-repeat:no-repeat;}/*height, width values are in this file to aid in retheming*/

.lotusui .lotusLogo, .lotusLoginLogo{height:73px;width:160px;background-image:url(./images/acme.png);background-repeat:no-repeat;}/*height, width values are in this file to aid in retheming*/

Page 46: Your First Lotus Connections 2.5 Customisations Made Easy

Changing Lotus Connections logo

✤ Note, height and width do not scale image, just crop:

✤ Instead, but resize the image itself

✤ Recommended to keep to 18px height, so long rectangular logos work best

lotusui .lotusLogo, .lotusLoginLogo{height:18px;width:39px;background-image:url(../images/acme.png);background-repeat:no-repeat;}/*height, width values are in this file to aid in retheming*/

.lotusui .lotusLogo, .lotusLoginLogo{height:18px;width:39px;background-image:url(../images/acme18.png);background-repeat:no-repeat;}/*height, width values are in this file to aid in retheming

Page 47: Your First Lotus Connections 2.5 Customisations Made Easy

Adding additional links to Header

✤ Connections automatically populates the list of features at the top of each page from those installed and enabled

✤ It is straightforward to add additional links to the list

✤ Edit header.html, and adjust after the line,

✤ e.g.

✤ Need to restart the WAS server to take effect

<ul class="lotusInlinelist lotusLinks">{{application links: li }}

<ul class="lotusInlinelist lotusLinks">{{application links: li }} <a href="http://quickr.acme.com">Places</a> </ul>

Page 48: Your First Lotus Connections 2.5 Customisations Made Easy

Adding/editing links in Footer

✤ The links in the LC2.5 footer are very IBM-centric and are ripe for replacing with organisational resources (Help desk, training, homepage etc.)

✤ To change, edit footer.html, e.g:

✤ Must restart WAS server to take effect

<tr><th>ACME Connections</th><th>{{ label.footer.help.heading }}</th><th class="lconnFooterToolsHeader">{{ label.footer.tools.heading }}</th><th class="lotusLast">{{ label.footer.about.heading }}</th></tr><tr><td><ul id="lotusFooterULConnections"><a href="http://www.acme.com">ACME Home</a><br><a href="http://helpdesk.acme.com/request">Raise a Help Request</a><br><a href="http://helpdesk.acme.com/password">Reset My Password</a></ul></td>

Page 49: Your First Lotus Connections 2.5 Customisations Made Easy

Lotus Connections Branding

✤ Changes covered so far do not change look and feel of Connections features

✤ Significant modifications are possible using CSS and image changes

✤ Additional UI changes can be accomplished within JSPs and by using iWidgets (out of scope of this session)

Page 50: Your First Lotus Connections 2.5 Customisations Made Easy

Included Themes✤ In addition to defaultTheme, there are four other LC2.5

themes shipped with the product: goldTheme, greenTheme, metalTheme and redTheme

✤ These can be used by copying to HTTP server and linking to the CSS file from header.html

Page 51: Your First Lotus Connections 2.5 Customisations Made Easy

Custom Themes 1/2

✤ Most organisations wish to create their own theme according to corporate UI guidelines or branding

✤ Take the included theme CSS that is closest to desired look and feel, and copy to new file, e.g. acmeTheme.css

✤ Use theme colour chart (for 2.0.x but still relevant) from LC Wiki to assist with colour transformations

Editing or Creating a New Lotus Connections Theme It is recommended you have knowledge of CSS (Cascading Style Sheets) HTML and image creation/editing techniques before editing or creating a new theme.

The default (blue) theme is controlled by the css file "defaultTheme.css" located here: common/styles/defaultTheme.css

IMPORTANT: Please make a backup copy of the original "defaultTheme.css" before making any changes. To create a new theme based on one of the existing themes, just choose a theme, duplicate it (copy, paste) and then proceed to change the colors, background images (if you have new images to replace the originals) and styles to create a custom branded theme for your Lotus Connections software.

TIP: If creating a new theme using new images, place any new images into a new folder and reference where the css file should look for the new images. E.G. the default theme buttons are stored here: /images/buttonBkgd.png the RED theme buttons are stored here: /images/red/buttonBkgd.png

HTML / CSS Class Name Description Default Blue Theme Red Theme Comments

body

Page Background Color

#fbfcfd #efe6cc

Page Background Image (can be repeated)

images/background.png images/red/background.png

Some background images may need to be repeated horizontally, vertically or both.

#lotusMain, .lotusMain

Main Content Area (central page area)

border-top-color: #568dd0 border-top-color: #9b3031

Left side panel background image (light blue blend)

Left side panel background image (grey blend)

a:link, a:visited Default Link color

#105cb6 #9f060d

a.lotusAction, a.lotusAction:visited Action Links (more actions etc.).lotusActions a, .lotusActions a:visited

.lotusVCard a:link, .lotusVCard a:visited,

.lotusVCard a:hover, .lotusVCard a:focus, a:active

.lotusVCard .lotusPersonActions .lotusInlinelist li

Popup person card link color (V Card)

.dijitCalendarYearLabel .dijitCalendarPreviousYear,

.dijitCalendarYearLabel, .dijitCalendarNextYear

a:hover, a:focus, a:activeMouse Over Default Link color

#05386b #6f0207

a.lotusAction:hover, a.lotusAction:focus, a.lotusAction:active, .lotusActions a:hover, .lotusActions a:focus, .lotusActions a:active, .lotusTags a.lotusAction:hover, .lotusTags a.lotusAction:focus, .lotusTags a.lotusAction:active

Action Links mouse over (more actions etc.)

a.lotusMyLink:hover, a.lotusMyLink:focus, .lotusMyLinks a:hover, .lotusMyLinks a:focus My Links

Change color and border bottom color

a.lotusPerson, a.lotusPerson:visited Person Name Link color

#578cca #a7853c .lotusTags a:link, .lotusTags a:visited, a.lotusTag:link, a.lotusTag:visited Tag link color

.lotusTags a:hover, .lotusTags a:focus, .lotusTags a:active, a.lotusTag:hover, a.lotusTag:focus, a.lotusTag:active, a.lotusPerson:hover, a.lotusPerson:focus, a.lotusPerson:active

Tag links and underline mouse over color

#05386b #ba9a55

Change color and border bottom color

.lotusView Change details view buttons

background-image: url(images/views.gif);

background-image: url(images/red/views.gif);

.lotusActionMenu li.lotusMenuSeparator Action menu separator #b3cae9 #9b3031

Change color and border top color

.dijitMenuSeparatorTop

#lotusBanner ul li, .lotusBanner ul li

Dividers between links in the top right (name | help | login)

border-left-color: #639ade border-left-color: #ac9e69

#lotusBanner ul.lotusLinks li.lotusSelected a, .lotusBanner ul.lotusLinks li.lotusSelected a

Background box color on selected main navigation links

background-color: #649de1 background-color: #cfb275 .dijitMenu

ul.lotusActionMenu

Page 1 of 4Lotus Connections Theme Editing Guide

14/05/2008file://C:\Users\Karl Thompson\Documents\UI designs\Connections\Themes\Theme M...

http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Creating_a_Connections_Theme_Dec2008.pdf/$file/Creating_a_Connections_Theme_Dec2008.pdf

Page 52: Your First Lotus Connections 2.5 Customisations Made Easy

Custom Themes 2/2

✤ Get your web designers, communications department etc. on board

✤ Start on paper!

✤ For each of the colours in the colour chart, match to appropriate colour from corporate guidelines/branding

✤ Then edit CSS, and test in browser

✤ Some images will need to be changed for colour match

✤ Don’t forget that fonts and font sizes can be changed as well as colours

✤ Recommend the user of Firebug for ad-hoc testing and dedicated CSS editing tools

Page 53: Your First Lotus Connections 2.5 Customisations Made Easy

Customising Communities

✤ It is also possible to personalise the look and feel of individual communities, including theme templates

✤ Use same CSS templates as overall theme - create some to complement your overall custom theme

Page 54: Your First Lotus Connections 2.5 Customisations Made Easy

Customising Profiles

✤ The other principal area where most organisations customise Lotus Connections (even for pilots) is Profiles

✤ Common changes include:

✤ Customising which fields are populated from LDAP

✤ Changing field labels or field order

✤ Enabling/disabling editing of fields

✤ Adding custom fields

✤ Adding additional profile types

✤ There are many more expert topics (integration of data from other sources etc.), but these are the basics

Page 56: Your First Lotus Connections 2.5 Customisations Made Easy

✤ Import is a two stage process (even if driven by Wizard), first collecting the relevant entries from LDAP, then populating Profiles with specified information

✤ Collection of names is driven by collect_dns script, according to settings specified in profiles_tdi.properties

source_ldap_collect_dns_file=collect.dnssource_ldap_search_base=o=acme

source_ldap_search_filter=(&(uid=*)(objectclass=inetOrgPerson))source_ldap_url=ldap://ldap.acme.com:389

source_ldap_use_ssl=falsesource_ldap_user_login=cn=LDAPBind

source_ldap_user_password={encr}<encrypted password>

Customising Profiles population

Page 57: Your First Lotus Connections 2.5 Customisations Made Easy

✤ Names that reside within search base and match search filter are deposited in collect.dns

✤ Some pilots have specified only selected users to be imported, hence manual editing on collect.dns - not recommended!

✤ Populate_from_dn_file is then run to load new users within collect.dns into Profiles, acting upon settings in map_dbrepos_from_source.properties

CN=Neil Burston,ou=it,o=acmeCN=Mitch Cohen,ou=it,o=acme

CN=Sharon Bellamy,ou=it,o=acmeCN=Stuart McIntyre,ou=it,o=acme

Customising Profiles population

Page 58: Your First Lotus Connections 2.5 Customisations Made Easy

✤ map_dbrepos_from_source.properties specifies match between LDAP and Profiles fields:

✤ Customise according to your org’spopulated fields in LDAP

✤ Watch for field lengths and validation (see validate_dbrepos_fields.properties)

✤ Some field lengths are very restrictive, particularly Department (16 characters) and Country (3 - for ISO codes)

✤ Can be a good use for extended fields to replace default attributes

alternateLastname=nullbldgId=nullblogUrl=nullcalendarUrl=nullcountryCode=ccourtesyTitle=nulldeptNumber=nulldescription=description...

alternateLastname=64blogUrl=256bldgId=64calendarUrl=256courtesyTitle=64deptNumber=16description=1048576...

Customising Profiles population

Page 59: Your First Lotus Connections 2.5 Customisations Made Easy

Controlling attributes listed

✤ Attribute listing and whether editable is controlled in profiles-config.xml, set by Profile Type

✤ Initially there is just the ‘default’ Profile Type

✤ Order of attributes in configuration file controls order on screen

✤ How many of you use ‘IP Telephony Number’? So how to stop it appearing?

Page 60: Your First Lotus Connections 2.5 Customisations Made Easy

Profiles-config.xml

<profileLayout profileType="default"><jobInformation>

<editableAttribute showLabel="false" hideIfEmpty="true" prependHtml="&lt;strong&gt;" appendHtml="&lt;/strong&gt;&lt;br/&gt;">jobResp</editableAttribute><attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br &gt;">employeeTypeDesc<attribute><attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br/&gt;">organizationTitle<attribute>

...</jobInformation>

<contactInformation><!-- <editableAttribute hideIfEmpty="true" showLabel="true">courtesyTitle</editableAttribute> --><editableAttribute showLabel="true" hideIfEmpty="true" disabled="true" prependHtml="&lt;strong&gt;" appendHtml="&lt;/strong&gt;&lt;br/&gt;">displayName</editableAttribute><!-- <editableAttribute showLabel="true" hideIfEmpty="true">preferredFirstName</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true">preferredLastName</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true">alternateLastname</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true">nativeFirstName</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true">nativeLastName</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true">preferredLanguage</editableAttribute> --><editableAttribute showLabel="true" hideIfEmpty="true">bldgId</editableAttribute><editableAttribute showLabel="true" hideIfEmpty="true">floor</editableAttribute><editableAttribute showLabel="true" hideIfEmpty="true">officeName</editableAttribute><editableAttribute showLabel="true" hideIfEmpty="true">telephoneNumber</editableAttribute><editableAttribute showLabel="true" hideIfEmpty="true">ipTelephoneNumber</editableAttribute><editableAttribute showLabel="true" hideIfEmpty="true">mobileNumber</editableAttribute><editableAttribute showLabel="true" hideIfEmpty="true">pagerNumber</editableAttribute><!-- <editableAttribute showLabel="true" hideIfEmpty="true">pagerType</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true">pagerId</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true">pagerServiceProvider</editableAttribute> --><editableAttribute showLabel="true" hideIfEmpty="true">faxNumber</editableAttribute><attribute showLabel="true" hideIfEmpty="true" email="true">email</attribute>...

Each attribute listed in Profile and Edit My

profile is controlled by an entry in profiles-

config.xml

Page 61: Your First Lotus Connections 2.5 Customisations Made Easy

Hiding a Profiles attribute

✤ Connections 2.5 now has the intelligence to hide fields when empty, but still appear in Edit My Profile. So how to hide completely?

✤ Edit profiles-config.xml, find the <profileLayout profileType="default"> stanza, and the relevant attribute:

✤ Simply comment out the entry:

✤ Restart the WAS server

<editableAttribute showLabel="true" hideIfEmpty="true">ipTelephoneNumber</editableAttribute>

<!-- <editableAttribute showLabel="true" hideIfEmpty="true">ipTelephoneNumber</editableAttribute> -->

IP Telephony no longer appears to the user

Page 62: Your First Lotus Connections 2.5 Customisations Made Easy

Controlling editable attributes 1/2

✤ A familiar request is to stop the Assistant attribute being editable by the end user, but for that attribute to still appear in the profile

Page 63: Your First Lotus Connections 2.5 Customisations Made Easy

Controlling editable attributes 2/2

✤ Again, edit profiles-config.xml, find the ‘default’ profile type definitions, and the appropriate attribute:

✤ To stop the attribute being editable, modify ‘editableAttribute’ to be ‘attribute’:

<editableAttribute showLabel="true" hideIfEmpty="true" hcard="true" email="secretaryEmail" uid="secretaryUid" userid="secretaryUserid" appendHtml="&lt;br/&gt;">secretaryName</editableAttribute>

<attribute showLabel="true" hideIfEmpty="true" hcard="true" email="secretaryEmail" uid="secretaryUid" userid="secretaryUserid" appendHtml="&lt;br/&gt;">secretaryName</attribute>

Assistant no longer appears in the Edit My Profile screen

Page 64: Your First Lotus Connections 2.5 Customisations Made Easy

Controlling attribute labels 1/2

✤ When profiles are displayed, some attributes are displayed with labels, others are not:

✤ So, how to show the label for the Phone number?

The secretary/assistant’s name is displayed with a label, whilst the phone

number and email address are not

Page 65: Your First Lotus Connections 2.5 Customisations Made Easy

✤ Again, edit profiles-config.xml, find the ‘default’ profile type definitions, and the appropriate attribute:

✤ To make the default attribute label appear, change the showLabel value:

<attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br/&gt;">telephoneNumber</attribute>

The label for the phone number is

now shown

<attribute showLabel="true" hideIfEmpty="true" appendHtml="&lt;br/&gt;">telephoneNumber</attribute>

Controlling attribute labels 2/2

Page 66: Your First Lotus Connections 2.5 Customisations Made Easy

Changing Profiles attribute labels

✤ Default attribute labels (designed to be multi-lingual) can be irrelevant or misunderstood in many organisations, and thus need to be changed

✤ Also, it is often it is easier to change labels than to create new attributes from scratch

Page 67: Your First Lotus Connections 2.5 Customisations Made Easy

Changing Profiles attribute labels

✤ In Connections 2.5, process has changed✤ LC2.5 provides external resource bundle loader

for adding and updating strings to Profiles and Communities.

✤ Mechanism used when performing the following tasks:✤ Adding custom extension attributes✤ Customizing the Profiles business card✤ Adding custom widgets to Communities and Profiles✤ Configuring the vCard export feature

✤ Too complex to describe here

http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/topic/com.ibm.connections.25.help/t_admin_profiles_add_custom_strings.html

Page 68: Your First Lotus Connections 2.5 Customisations Made Easy

Changing Profiles attribute labels

Page 69: Your First Lotus Connections 2.5 Customisations Made Easy

Adding new attributes

✤ Concept of Extension Attributes included in profiles

✤ Three step process:

✤ Add new attribute to profiles-config.xml (in ExtensionAttributes stanza and again where it should be displayed) - mandatory

✤ Add label for attribute using Bundle file (optional)

✤ Add to TDI import process (optional)

Page 70: Your First Lotus Connections 2.5 Customisations Made Easy

Adding a new attribute 1/2

✤ First add to Extension Attribute stanza:

✤ Then within the Profile Type(s) it should appear in:

✤ Save and restart the WAS server

<profileExtensionAttributes><simpleAttribute extensionId="homeAddress" length="64" /><xmlFileAttribute extensionId="profileLinks" ...</xmlFileAttribute>

</profileExtensionAttributes>

<contactInformation>...<editableAttribute showLabel="true" hideIfEmpty="true" email="true">groupwareEmail</editableAttribute>

<!-- <editableAttribute showLabel="true" hideIfEmpty="true" link="true">calendarUrl</editableAttribute> --><!-- <editableAttribute showLabel="true" hideIfEmpty="true" link="true">freeBusyUrl</editableAttribute> --><editableAttribute showLabel="true" hideIfEmpty="true" blogUrl="true">blogUrl</editableAttribute>

<extensionAttribute showLabel="false" editable="true" extensionIdRef="homeAddress" /></contactInformation>

Page 71: Your First Lotus Connections 2.5 Customisations Made Easy

New attribute will appear for editing and display (if populated), but will not

have appropriate label

Adding a new attribute 2/2

Page 72: Your First Lotus Connections 2.5 Customisations Made Easy

Adding label for new attribute 2/2

Attribute is now correctly labelled

Page 73: Your First Lotus Connections 2.5 Customisations Made Easy

Populating extension attributes

✤ Steps so far will allow new attributes to be populated by the user

✤ However, it is possible to populate via TDI too

✤ Add to <TDISOL>/conf/LotusConnections-conf/tdi-profile-config.xml

<profileExtensionAttributes><simpleAttribute extensionId="homeAddress" length="64" userLabel="Home Address" userTypeString="String" sourceKey="homeAddress"/><xmlFileAttribute extensionId="profileLinks" schemaFile="profile-links.xsd" indexBindingExpr="/linkroll/link/@name | /linkroll/link/@url"><indexFields><indexField fieldName="linkName" fieldExpr="/linkroll/link/@name" /></indexFields> </xmlFileAttribute>

</profileExtensionAttributes>

Page 74: Your First Lotus Connections 2.5 Customisations Made Easy

Troubleshooting

✤ Many issues are caused by caching within the WAS server and HTTP server - always restart WAS if editing XML, JAR or HTML files - CSS changes do not require restart

✤ Most files within Connections/WAS are case-sensitive - check and double-check case and syntax

✤ Always use appropriate WSADMIN checkin/checkout procedures for XML configuration files - saves a lot of pain with typos

✤ It is worth investing in a pre-production/test system configured as live for testing customisations first

Page 75: Your First Lotus Connections 2.5 Customisations Made Easy

What next?

✤ Other areas where customisation may be desired:

✤ Additional Profile Types (e.g. Active vs. Leavers, Students vs. Staff)

✤ See CuriousMitch article at http://www.curiousmitch.com/CuriousMitch/mitch2.nsf/d6plinks/MCON-7LK2X2 and Infocenter http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/index.jsp?topic=/com.ibm.connections.25.help/c_admin_profiles_add_profile_type.htmlc_admin_profiles_add_profile_type.html

✤ Business Card

✤ See Infocenter http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/topic/com.ibm.connections.25.help/c_admin_profiles_customize_biz_card_links.html

✤ Search Results

✤ See Infocenter http://publib.boulder.ibm.com/infocenter/ltscnnct/v2r0/topic/com.ibm.connections.25.help/t_admin_profiles_customize_search_results.html

✤ Notifications

✤ See great developerWorks paper on Notifications http://www.ibm.com/developerworks/lotus/documentation/d-ls-lcnotifications/?S_TACT=105AGX13&S_CMP=LP

Page 76: Your First Lotus Connections 2.5 Customisations Made Easy

Lotus Connections Resources

Infocenter http://tinyurl.com/20infocenter

Wiki http://tinyurl.com/connectwiki

Support Page http://tinyurl.com/consupport

Support Forum http://tinyurl.com/20forum

developerWorks articles http://tinyurl.com/condevworks

Software Catalog http://tinyurl.com/consoftcat

Product Page http://tinyurl.com/conhome

With thanks to Mitch Cohen http://curiousmitch.com

Page 77: Your First Lotus Connections 2.5 Customisations Made Easy

But in truth, social software

users do and the business problems the tools address.

Jakob Nielsen, Usability Guru

Source: http://www.slideshare.net/marknadsstod/getting-real-about-enterprise-20

Page 78: Your First Lotus Connections 2.5 Customisations Made Easy

My Takeaways

Lotus Connections supports (and embraces) customisation

Many areas appropriate for customisation - a never-ending feast!Agree and document your scope and

priorities - stick to it!Use appropriate change management,

versioning and testing processesHave fun and make Connections work

for you and your organisation...

Image: http://www.slideshare.net/Niezette/100-pictures-for-powerpoint-presentations

Page 79: Your First Lotus Connections 2.5 Customisations Made Easy

Thank You!