SlideShare uma empresa Scribd logo
1 de 79
Customising IBM
Connections 3.0.x
        Stuart McIntyre
  CTO/Connections Specialist
 Collaboration Matters Limited
Your Presenter
Stuart McIntyre

CTO, Collaboration Matters

Connections Specialist

Blogger/Podcaster/Design Partner/Speaker

Feel free to contact me:
        blog.collaborationmatters.com
                                           thisweekinlotus.com
           ibmconnectionsblog.com
                                           facebook.com/stuartmcintyre
                  quickrblog.com
                                           twitter.com/stuartmcintyre
               lotusliveblog.com           linkedin.com/in/mcintyre

              lotusphereblog.com           stuart@collaborationmatters.com
This Session
Customising IBM Connections 3.0.x
The Aim: Demonstrate some of the key areas where Connections 3.0.x
can be customised
Topics:
  Introduction to Connections customisation
  Part 1: UI customisations (themes and skins)
  Part 2: Profiles customisations (fields and labels)
  What next?
  Q&A
First, some questions...
First, some questions...

Administrator?
First, some questions...

Administrator?
Developer?
First, some questions...

Administrator?
Developer?
Something else?
First, some questions...

Administrator?
Developer?
Something else?
Edited HTML?
First, some questions...

Administrator?
Developer?
Something else?
Edited HTML?
Edited CSS?
First, some questions...

Administrator?
Developer?
Something else?
Edited HTML?
Edited CSS?
Worked with TDI?
First, some questions...

Administrator?
Developer?
Something else?
Edited HTML?
Edited CSS?
Worked with TDI?
Customised Lotus Connections?
Interactivity is good!




Image: http://www.slideshare.net/Niezette/100-pictures-for-powerpoint-presentations
A note...
We have a lot of material...

And only 60 minutes to cover it in...
A note...
We have a lot of material...

And only 60 minutes to cover it in...
Introduction to
Connections Customisation
Introducing IBM Connections 3.0.0



 Lotus Connections 3.0.0 was released in November 2010

 3.0.0 delivered new look and feel, plus many new features and functions, including:
What’s New in Connections 3.0.0?
 Global Navigation and Theme (including drop-down menus)

 Home Page/News – improved news feed and integration of status updates, email digest

 Communities – invitations, improved Files integration, Activities integration, sub-
 communities, My Communities views

 Forums – standalone service, tags, question/answer topics

 Profiles – Do You Know, Things in Common, Social Path widgets, tabbed Profile format

 Files – collections changed to folders including drag and drop

 Wikis – improved use of real estate, drag and drop navigation, My Wikis views

 Blogs – improved authoring including new editor and more consistent navigation and entries
 lists

 Linked Value – SharePoint/Communities integration, new portlets, status updates Lotus
 Notes sidebar plug-in
Introducing IBM Connections 3.0.1

 IBM Connections 3.0.1 was released in April 2011, delivering many of the features described
 at Lotusphere 2011

 No longer a ‘Lotus’ product

 The new features include:

    Ideation Blogs and Idea Graduation

    Image and Video Galleries in Communities

    Community Moderation

    ECM Integration

 User Interface and customisation process has not changed from 3.0.0
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
Key Resources


Lotus Connections Infocenter (now in Wiki)

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


Luis Benitez blog                                     http://www.lbenitez.com


Curious Mitch                                       http://www.curiousmitch.com


The Connections Blog                             http://www.ibmconnectionsblog.com


developerWorks                     https://www.ibm.com/developerworks/lotus/products/connections/
Part 1: UI Customisations
Theme Components


Each theme is made up of multiple components:

   CSS

   header.html

   footer.html

   images
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
End result? A total change in how the design of
Connections looks
What’s Changed in 3.0.x



Customisation has been made simpler, and possibly easier for 3.0.x compared to 2.5

Ability to customise individual features or entire suite is built into the product

No longer necessary to move themes onto HTTP server to customise them

Number of restarts has been reduced too
The Directory Layout


Lotus Connections 3.0 consists of a number of different applications (Activities, Blogs,
Communities, etc.)

Each application has its own .ear file in the Connections deployment, with each .ear
containing the .war file for that application. All the .war files are in the directory:

   <WASHome>/profiles/<Profile>/installedApps/<Cell>

   e.g. <WASHome>/profiles/<Profile>/installedApps/<Cell>/Homepage.ear contains
   homepage.ear file
The Directory Layout (cont.)
Each application's .war file then contains the files specific to that application:




During customisation we will copy files from these locations into a specific customisation
area for modification
Customisation Concepts



Connections 3.0.x has concept of common and specific customisations

Custom files are placed in a special shared customisation directory

Removing the file from this directory undoes the customisation

Modifications can be made to common, to specific features or to both
Customisation Precedence (1)
Content in the customisation directory overrides installed content

Customisation Directory            Installed Content                 User Sees

   Custom                                                       Custom
   Header                  +      Header       Footer     =     Header
                                                                            Footer



               Custom
               Footer      +      Header       Footer    =      Header
                                                                           Custom
                                                                           Footer



  Custom       Custom                                          Custom      Custom
  Header       Footer      +      Header       Footer    =     Header      Footer
Customisation Precedence (2)
       Feature-specific customisation directories override the common customisation directory

Profiles Customisation       Common Customisation    Installed Content       Profiles User Sees   Bookmarks User Sees


           Footer       +              Footer   +   Header     Footer   =   Header     Footer    Header     Footer



Header                  +              Footer   +   Header     Footer   =   Header     Footer    Header     Footer



           Footer       +    Header    Footer   +   Header     Footer   =   Header     Footer    Header     Footer



Header     Footer       +    Header             +   Header     Footer   =   Header     Footer    Header     Footer



Header     Footer       +    Header    Footer   +   Header     Footer   =   Header     Footer    Header     Footer
Overview of the Customisation
          Process

Enable Customisation

Restart Connections server(s)

Find the file you want to change from the installed application

Copy the file into the customisation directory at the correct sub-directory

Make changes to the copied file

Restart the affected applications on your application server
Enabling Customisation

Two variables in WebSphere that significantly affect customisation:

   CONNECTIONS_CUSTOMIZATION_DEBUG
   (must be set to true to enable customisations to take effect, set back to false once
   customisations complete)

   CONNECTIONS_CUSTOMIZATION_PATH
   (Connections 3.0.x uses a separate directory structure to hold files for customisations,
   allowing us to make changes without fear of harming the server, also easier to upgrade/
   migrate. Default is <connectionsinstall>/data/shared/customization/common/)

To view/set the variables, we log onto the WebSphere Application Server Console and
select Environment > WebSphere Variables

Do not change CONNECTIONS_CUSTOMIZATION_PATH but make a note as we will
need this for future use
Example 1: Changing Colours
Open the style sheet file for the default theme in a text editor, e.g. for Files:
<WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav
commonstylesdefaultThemedefaultTheme.css
Create a new, empty style sheet file in the common customisation directory:
<LotusConnectionsDir>datasharedcustomizationcommonnavcommonstyles
defaultThemecustom.css
Open custom.css file in a text editor
   Locate rules for sections of the page with accent colours - title bar and left navigation –
   in defaultTheme.css
   Paste those rules in custom.css, and change the colours from light blue to red
   Save changes
Tips:
   defaultTheme.css contains most colour settings for the product
   Use Firebug or Chrome Developer Tools to locate rules that should be changed
Example 1: Changing Colours (cont.)
  Visit Lotus Connections in your web browser
             )2-03/03")*4*+5"67*0.89
               )2-03/03")*4*+5"67*0.89
  Best to go direct to WAS server (rather than HTTP) to avoid caching:
             !   :/5/.";*.<5")*00=7./*05"/0">*<+"?=@"@+*?5=+
                 ! :/5/.";*.<5")*00=7./*05"/0">*<+"?=@"@+*?5=+
     e.g. http://connections.myorg.com:<port>/files
                     )4=-+">*<+"@+*?5=+"7-72=B
                   A A      )4=-+">*<+"@+*?5=+"7-72=B
                     A   2..,CDDE5=+F=+GCE,*+.GDH/4=5
                         A 2..,CDDE5=+F=+GCE,*+.GDH/4=5
  Clear your browser cache - very important!




  Another tip:

     If you are making extensive changes or sending CSS to an external party, it can be easier
                J/,C"&H">*<"-+="K-L/03"=M.=05/F="72-03=5"*+"5=0N/03")OO".*"-0"=M.=+0-4",-+.>"
              I I J/,C"&H">*<"-+="K-L/03"=M.=05/F="72-03=5"*+"5=0N/03")OO".*"-0"=M.=+0-4",-+.>"
                -4.=+"N=H-<4.J2=K=8755"/05.=-N8
     to alter defaultTheme.css instead of using additional custom css file
                  -4.=+"N=H-<4.J2=K=8755"/05.=-N8



                                                                 !"#$%%"&'(")*+,*+-./*0
                                                                     !"#$%%"&'(")*+,*+-./*0 %1 %1
Example 1: Changing Colours (cont.)
   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/Chrome Developer Tools for ad-hoc testing and
   dedicated CSS editing tools for larger changes

   Something I’ve learnt:

      Just because someone can edit CSS, it doesn’t make them a graphic designer!
Example 1: Changing Colours (cont.)
  In addition to defaultTheme, there are four other themes shipped with the product:
  goldTheme, greenTheme, metalTheme and redTheme

  These can be used as templates for your own colour themes if a closer match than the
  defaultTheme
Example 1: Changing Colours (cont.)
  It is also possible to personalise the look and feel of individual communities and blogs,
  including theme templates

  Use same CSS templates as overall theme - create some to complement your overall
  custom theme
Example 2: Adding Logo

It is best to keep to same size logo as existing IBM/Lotus Connections logo, but can use a
different size if additional modifications are completed to CSS file

Create a new logo image for the site

   toolbar_logo.gif(306x66pixels)

Copy the image to the common customisation directory:
<LotusConnectionsDir>datasharedcustomizationcommonnavcommonstylesimages
toolbar_logo.gif

Verify that the image appears in your browser

   Open http://connections.myorg.com:<port>/files/nav/common/styles/images/
   toolbar_logo.gif
Example 2: Adding Logo (cont.)
Open defaultTheme.css in a text editor

   Change the source URL for the logo in this file

   Minor style changes to align the menus with the logo (if required)

   Save changes

Visit Connections in your web browser

   Clear your browser cache!

   http://connections.myorg.com:<port>/files

Remember:

   Any file you add to the common directory becomes available in all applications (but can
   be overridden)
Example 3: Adding a Drop-down
    Menu to the Header
Locate the header file
<WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav
templatesheader.jsp

Copy the header file to the common customization directory
<LotusConnectionsDir>datasharedcustomizationcommonnavtemplatesheader.jsp

Open the copied file in a text editor

   Create a new “Intranet” menu drop-down by copying the “People” menu link

   Add a “Support Forum” link in the upper-right

   Move the logo element in the page

   Save changes
Example 3: Adding a Drop-down
  Menu to the Header (cont.)
Locate the header menu file
<WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav
templatesmenupeople.jsp

Copy the header file to the common customization directory with a new name
<LotusConnectionsDir>datasharedcustomizationcommonnavtemplatesmenu
intranet.jsp

Open the copied file in a text editor

   Using the “People” menu as an example, create links pointing to intranet locations

   Save changes

More tips:

   Popup menus can use dynamic logic or Javascript – very flexible

   Menu contents can be styled as desired
Example 3: Adding a Drop-down
  Menu to the Header (cont.)

To test, visit Connections in your web browser

   Clear your browser cache!

   http://connections.myorg.com:<port>/files
Example 4: Customising the Login
             Page
Locate the login Java Server Page (JSP) file
<WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav
templateslogin.jsp

Copy the style sheet file to the common customization directory
<LotusConnectionsDir>datasharedcustomizationcommonnavtemplateslogin.jsp

Open the copied file in a text editor

   Remove IBM branding and add informational text

   Add a very simple click-through agreement using JavaScript

   Save changes
Example 4: Customising the Login
          Page (cont.)
To test, visit Connections in your web browser

   Clear your browser cache!

   http://connections.myorg.com:<port>/files/login
Example 4: Customising the Login
          Page (cont.)
Product text can be altered too
Locate the string resource file for the header and login pages
   Unzip the JAR file to a temporary directory with a zip program
   <WASHome>profiles<Profile>installedApps<Cell>Files.earlc.util.web-3.0.jar
   In the temporary directory, find the file
   comibmlconncorestringstemplates.properties
Create a new file in the string customization directory with the name
<LotusConnectionsDir>datasharedcustomizationstrings
com.ibm.lconn.core.strings.templates.properties
Open both the existing resource file and the new file in a text editor
   Copy the entire line (or lines) you want to change from the old to the new file
   Change text strings for the login page to match branding
   Save changes
Example 4: Customising the Login
          Page (cont.)
Restart the Connections server(s)

To test, visit Connections in your web browser

   Clear your browser cache!

   http://connections.myorg.com:<port>/files/login
Example 5: Modifying Getting Started
              pages
  Create a new HTML file in the common customization directory
  <LotusConnectionsDir>datasharedcustomizationcommonnavgettingstartednew.html

  Open the file in a text editor

     Add informational text about guidelines for your users

     Save changes

  Change the first <step> in gettingstarted-config.xml (see Infocenter)

     Securelink:${lcurl:homepage.secure}/nav/gettingstarted/new.html
     Unsecurelink:${lcurl:homepage}/nav/gettingstarted/new.html

  Restart Homepage application
Example 5: Modifying Getting Started
           pages (cont.)
  Visit Connections Homepage in your web browser

    http://connections.myorg.com:<port>/homepage
Customisation Best Practice -
           Creating
Only copy the files you need into the customisation directory
   Reduce the number of files to manage
   Makes it easier to know what has been changed
Keep track of the changes you make through documentation or comments
   Put comments directly into JSP or CSS files to simplify merging
   Extensive changes may be difficult to update from release to release
Use custom.css whenever possible, much easier to track style changes and handle migration
Back up frequently, and have a process for deploying customisations
   Best to have a staging or test environment, it is easy to backup your old customisation
   before copying over the new customisation
   If the customisation directory is renamed or moved customisation will be disabled
   May want to use a version control system for the customisation folder
When customisations are ready to deploy, always update the version stamp
   This ensures that old versions of the site are removed from browser caches
Customisation Best Practice -
             Maintaining
 Occasionally IBM will change a that has been customised
     Fixpacks and iFixes should document which files are being changed (in theory)
 Applying any fixes:
1.   Back up your customisation directory
2.   Disable all customisation by renaming the customisation directory
3.   Apply the iFix or fixpack
4.   Test that your environment still is functional
5.   Identify any files that have changed in the fixpack that you have customised
6.   Compare each new file from IBM to your customised copy, and merge changes
7.   Rename your customisation directory to the correct name
8.   Test your customisation
 Most changes to supported customisation files will be simple
Customisation Best Practice -
          Debugging
Use customisation debug mode in test environments
    Changes take effect immediately
    If possible, avoid using debug mode on a (loaded) production server
Why don't I see my changes?
    Check that the file is in the right location in the customisation directory (typically the
    source of many problems!) and has the right name
    Clear your browser cache
    Restart the application (or server) if debug mode is off
    Syntax error in file you changed? Check that there are no errors being output to the
    page or to the logs
Printing the list of customised files
    Enable WebSphere trace for “com.ibm.lconn.core.web.customization.*=all”
    Restart the Connections application
    trace.log will contain customisation debug information during application startup
Migrating Customisations from
        Previous Versions
Style customisation
    Some style rules have been changed, especially those that affect colour and borders
    If you have added additional CSS files via the header, copy contents of those files into
    <LotusConnectionsDir>datasharedcustomizationcommonnavcommonstyles
    defaultThemecustom.css
If you have a complete visual override, may be best to port changes to the new format by
following the InfoCenter topic “Making extensive colour and style changes”
    An example of the theme (using the new style rules) is located at
    <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav
    commonstylesgen1Theme
Header and Footer
    Because the header exposes new features in Connections 3.0.x, it is recommended that
    changes are migrated on top of the new header
    An example of the 2.5 header as a JSP is located at:
    <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav
    templatesoriginalHeader.jsp
UI Customisation FAQ
More detail on a type of customisation?

   This document is just great! Customizing IBM Lotus Connections 3.0

Can we customise other elements of the UI?

   Yes, but support is limited outside of the types covered here. Change at your own risk,
   and consult with Collaboration Matters or IBM support team first

   Changes are more likely to be overridden by a fixpack or upgrade

Can the IBM support team answer customisation questions (via PMRs etc.)?

   Yes, for directly supported customisation, and can provide info about what files need to
   be changed for other parts of the application

   Use recommended debugging steps – support team will ask you to work through them
Part 2: Profiles
Customisations
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
Customising Profiles population


Topic is well covered in the InfoCenter

Population Wizard has also made it more straightforward, however worth covering the
options

Recommend that one always uses manual process after initial population, to control
who gets added and how

Manual import can be scheduled using CRON or Windows Scheduler
Customising Profiles Population
           (cont.)
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.dns
                                source_ldap_search_base=o=acme
                 source_ldap_search_filter=(&(uid=*)(objectclass=inetOrgPerson))
                            source_ldap_url=ldap://ldap.acme.com:389
                                    source_ldap_use_ssl=false
                              source_ldap_user_login=cn=LDAPBind
                    source_ldap_user_password={encr}<encrypted password>
Customising Profiles Population
           (cont.)

Names that reside within search base and match search filter are deposited in
collect.dns                      CN=Neil Burston,ou=it,o=acme
                                 CN=Mitch Cohen,ou=it,o=acme
                                CN=Sharon Bellamy,ou=it,o=acme
                                CN=Stuart McIntyre,ou=it,o=acme

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
Customising Profiles Population
           (cont.)

map_dbrepos_from_source.properties specifies match between LDAP and Profiles
fields:                                                   alternateLastname=null
                                                               bldgId=null
                                                               blogUrl=null
Customise according to your org’s populated fields in LDAP      calendarUrl=null
                                                               countryCode=c
Watch for field lengths and validation                          courtesyTitle=null
                                                               deptNumber=null
(see validate_dbrepos_fields.properties)                        description=description
                                                               ...
Some field lengths are very restrictive, particularly Department (16 characters) and
Country (3 - for ISO codes)                                    alternateLastname=64
                                                               blogUrl=256
Can be a good use for extended fields to replace default        bldgId=64
attributes                                                     calendarUrl=256
                                                               courtesyTitle=64
                                                               deptNumber=16
                                                               description=1048576
                                                               ...
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?
Profiles-config.xml
                                   <profileLayout profileType="default">
                                       <jobInformation>
 Each attribute listed in Profile             <editableAttribute showLabel="false" hideIfEmpty="true" prependHtml="&lt;strong&gt;" appendHtml="&lt;/
                                             strong&gt;&lt;br/&gt;">jobResp</editableAttribute>
and Edit My profile is controlled             <attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br &gt;">employeeTypeDesc<attribute>
                                             <attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br/&gt;">organizationTitle<attribute>
by an entry in profiles-config.xml   ...
                                       </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>
                                       ...
Hiding a Profiles attribute

        Connections 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:
           <editableAttribute showLabel="true" hideIfEmpty="true">ipTelephoneNumber</editableAttribute>

        Simply comment out the entry:
       <!-- <editableAttribute showLabel="true" hideIfEmpty="true">ipTelephoneNumber</editableAttribute> -->

        Restart the WAS server




IP Telephony no longer appears to the user
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
Controlling editable attributes 2/2

       Again, edit profiles-config.xml, find the ‘default’ profile type definitions, and the appropriate
       attribute:
  <editableAttribute showLabel="true" hideIfEmpty="true" hcard="true" email="secretaryEmail" uid="secretaryUid"
  userid="secretaryUserid" appendHtml="&lt;br/&gt;">secretaryName</editableAttribute>


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

      <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
Controlling attribute labels 1/2

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


  The secretary/assistant’s name is displayed with a
label, whilst the phone number and email address are
                         not




     So, how to show the label for the Phone number?
Controlling attribute labels 2/2
  Again, edit profiles-config.xml, find the ‘default’ profile type definitions, and the appropriate
  attribute:

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



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

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


                                                                  The label for the phone
                                                                  number is now shown
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
Changing Profiles attribute labels
 Connections 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

 Rather complex to get right!

    Given the time available for this presentation, this will be in the slide deck shared
    afterwards and will not be covered here
Changing Profiles attribute labels
Adding new attributes


The concept of Extension Attributes is 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)
Adding a new attribute 1/2

        First add to Extension Attribute stanza:
                   <profileExtensionAttributes>
                      <simpleAttribute extensionId="homeAddress" length="64" />
                      <xmlFileAttribute
                      extensionId="profileLinks"
                      ...
                      </xmlFileAttribute>
                   </profileExtensionAttributes>

        Then within the Profile Type(s) it should appear in:
<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>
        Save and restart the WAS server
Adding a new attribute 2/2




New attribute will appear for editing and
 display (if populated), but will not have
              appropriate label
Adding label for new attribute




Attribute is now correctly labelled
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>
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
What Next?
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
Remember...


But in truth, social software


users do and the business
problems the tools address.
Jakob Nielsen, Usability Guru
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 processes
    Have fun and make Connections work for
                          you and your organisation...

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

Mais conteúdo relacionado

Mais procurados

Branding & Design Opportunities/Challenges with SharePoint 2013
Branding & Design Opportunities/Challenges with SharePoint 2013Branding & Design Opportunities/Challenges with SharePoint 2013
Branding & Design Opportunities/Challenges with SharePoint 2013Marius Constantinescu [MVP]
 
LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)Fred Janssen
 
Lotus Notes/Domino Strategy Update - Dec 2009
Lotus Notes/Domino Strategy Update - Dec 2009Lotus Notes/Domino Strategy Update - Dec 2009
Lotus Notes/Domino Strategy Update - Dec 2009Ed Brill
 
JSN Dome Customization Manual
JSN Dome Customization ManualJSN Dome Customization Manual
JSN Dome Customization ManualJoomlaShine
 
Oshyn - Best Practices For Sitecore CMS
Oshyn - Best Practices For Sitecore CMSOshyn - Best Practices For Sitecore CMS
Oshyn - Best Practices For Sitecore CMSdotCMS
 
JSN Cube Customization Manual
JSN Cube Customization ManualJSN Cube Customization Manual
JSN Cube Customization ManualJoomlaShine
 
Jaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social ComputingJaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social ComputingSharePoint Saturday NY
 
Sb chatterjee share point workspace 2010 in action
Sb chatterjee   share point workspace 2010 in actionSb chatterjee   share point workspace 2010 in action
Sb chatterjee share point workspace 2010 in actionSharePoint Saturday NY
 
JSN Pixel Customization Manual
JSN Pixel Customization ManualJSN Pixel Customization Manual
JSN Pixel Customization ManualJoomlaShine
 
Documentation 2.0: DIY Content Delivery and Feedback in Real-time
Documentation 2.0: DIY Content Delivery and Feedback in Real-timeDocumentation 2.0: DIY Content Delivery and Feedback in Real-time
Documentation 2.0: DIY Content Delivery and Feedback in Real-timelykhinin
 

Mais procurados (13)

3 022
3 0223 022
3 022
 
Branding & Design Opportunities/Challenges with SharePoint 2013
Branding & Design Opportunities/Challenges with SharePoint 2013Branding & Design Opportunities/Challenges with SharePoint 2013
Branding & Design Opportunities/Challenges with SharePoint 2013
 
LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)LUG 2009 - Lotus Domino 8.5.1 Administration (english)
LUG 2009 - Lotus Domino 8.5.1 Administration (english)
 
Lotus Notes/Domino Strategy Update - Dec 2009
Lotus Notes/Domino Strategy Update - Dec 2009Lotus Notes/Domino Strategy Update - Dec 2009
Lotus Notes/Domino Strategy Update - Dec 2009
 
JSN Dome Customization Manual
JSN Dome Customization ManualJSN Dome Customization Manual
JSN Dome Customization Manual
 
Oshyn - Best Practices For Sitecore CMS
Oshyn - Best Practices For Sitecore CMSOshyn - Best Practices For Sitecore CMS
Oshyn - Best Practices For Sitecore CMS
 
Wordpress latest features version
Wordpress latest features versionWordpress latest features version
Wordpress latest features version
 
JSN Cube Customization Manual
JSN Cube Customization ManualJSN Cube Customization Manual
JSN Cube Customization Manual
 
Jaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social ComputingJaime Velez: SharePoint 2010 Social Computing
Jaime Velez: SharePoint 2010 Social Computing
 
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
(28.04) MOSSCA Invita - Bienvenidos a la casa de Sharepoint - Visión técnica
 
Sb chatterjee share point workspace 2010 in action
Sb chatterjee   share point workspace 2010 in actionSb chatterjee   share point workspace 2010 in action
Sb chatterjee share point workspace 2010 in action
 
JSN Pixel Customization Manual
JSN Pixel Customization ManualJSN Pixel Customization Manual
JSN Pixel Customization Manual
 
Documentation 2.0: DIY Content Delivery and Feedback in Real-time
Documentation 2.0: DIY Content Delivery and Feedback in Real-timeDocumentation 2.0: DIY Content Delivery and Feedback in Real-time
Documentation 2.0: DIY Content Delivery and Feedback in Real-time
 

Semelhante a Customising IBM Connections 3.0.x

Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304malexanderIBM
 
Connections customization lite
Connections customization liteConnections customization lite
Connections customization liteSharon James
 
Auslug 2011 customising ibm connections
Auslug 2011 customising ibm connectionsAuslug 2011 customising ibm connections
Auslug 2011 customising ibm connectionsAdam Brown
 
Sustainable Drupal Theming with Fusion
Sustainable Drupal Theming with FusionSustainable Drupal Theming with Fusion
Sustainable Drupal Theming with Fusionsheenadonnelly
 
Vanilla Forums Theme Guide
Vanilla Forums Theme GuideVanilla Forums Theme Guide
Vanilla Forums Theme GuideVanilla Forums
 
Share point 2010-uiimprovements
Share point 2010-uiimprovementsShare point 2010-uiimprovements
Share point 2010-uiimprovementsLiquidHub
 
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Suite Solutions
 
Lotus Notes Blog Template
Lotus Notes Blog TemplateLotus Notes Blog Template
Lotus Notes Blog Templateprojectdxguy
 
Spsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point brandingSpsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point brandingThomas Daly
 
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Suite Solutions
 
IBM Filenet Content Navigator + IBM Docs screen demo
IBM Filenet Content Navigator + IBM Docs screen demoIBM Filenet Content Navigator + IBM Docs screen demo
IBM Filenet Content Navigator + IBM Docs screen demoBrian Pearson
 
Customizing IBM Connections - LS2012
Customizing IBM Connections - LS2012Customizing IBM Connections - LS2012
Customizing IBM Connections - LS2012Lidia Vikulova
 
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...TIMETOACT GROUP
 
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...IBM Connections Developers
 
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...buildacloud
 
Open writing-cloud-collab
Open writing-cloud-collabOpen writing-cloud-collab
Open writing-cloud-collabKaren Vuong
 
Site Templates in SP 13
Site Templates in SP 13Site Templates in SP 13
Site Templates in SP 13Shahzad S
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 
Atlassian Confluence: как сделать работу комфортной
Atlassian Confluence: как сделать работу комфортнойAtlassian Confluence: как сделать работу комфортной
Atlassian Confluence: как сделать работу комфортнойAndrew Fadeev
 

Semelhante a Customising IBM Connections 3.0.x (20)

Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304Customizing IBM Connections 3.0 - LS11 AD304
Customizing IBM Connections 3.0 - LS11 AD304
 
Connections customization lite
Connections customization liteConnections customization lite
Connections customization lite
 
Auslug 2011 customising ibm connections
Auslug 2011 customising ibm connectionsAuslug 2011 customising ibm connections
Auslug 2011 customising ibm connections
 
Sustainable Drupal Theming with Fusion
Sustainable Drupal Theming with FusionSustainable Drupal Theming with Fusion
Sustainable Drupal Theming with Fusion
 
Vanilla Forums Theme Guide
Vanilla Forums Theme GuideVanilla Forums Theme Guide
Vanilla Forums Theme Guide
 
Share point 2010-uiimprovements
Share point 2010-uiimprovementsShare point 2010-uiimprovements
Share point 2010-uiimprovements
 
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
 
Lotus Notes Blog Template
Lotus Notes Blog TemplateLotus Notes Blog Template
Lotus Notes Blog Template
 
Spsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point brandingSpsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point branding
 
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
Understanding and Configuring the FO Plug-in for Generating PDF Files: Part I...
 
IBM Filenet Content Navigator + IBM Docs screen demo
IBM Filenet Content Navigator + IBM Docs screen demoIBM Filenet Content Navigator + IBM Docs screen demo
IBM Filenet Content Navigator + IBM Docs screen demo
 
Customizing IBM Connections - LS2012
Customizing IBM Connections - LS2012Customizing IBM Connections - LS2012
Customizing IBM Connections - LS2012
 
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...
ARCHIVE - What's new in Release 4.0 of the Web Content Management Extension f...
 
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
IBM Connect 2014 - AD105: IBM iNotes and IBM SmartCloud Notes Web Customizati...
 
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
Open Writing! Collaborative Authoring for CloudStack Documentation by Jessica...
 
Open writing-cloud-collab
Open writing-cloud-collabOpen writing-cloud-collab
Open writing-cloud-collab
 
Site Templates in SP 13
Site Templates in SP 13Site Templates in SP 13
Site Templates in SP 13
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
197 ssp seminar05_murphy
197 ssp seminar05_murphy197 ssp seminar05_murphy
197 ssp seminar05_murphy
 
Atlassian Confluence: как сделать работу комфортной
Atlassian Confluence: как сделать работу комфортнойAtlassian Confluence: как сделать работу комфортной
Atlassian Confluence: как сделать работу комфортной
 

Mais de Stuart McIntyre

IBM Connections 4.5 Reviewer's Guide
IBM Connections 4.5 Reviewer's GuideIBM Connections 4.5 Reviewer's Guide
IBM Connections 4.5 Reviewer's GuideStuart McIntyre
 
Social Business: The Irresistible Force To Overcome Immovable Objections
Social Business: The Irresistible Force To Overcome Immovable ObjectionsSocial Business: The Irresistible Force To Overcome Immovable Objections
Social Business: The Irresistible Force To Overcome Immovable ObjectionsStuart McIntyre
 
BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...
BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...
BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...Stuart McIntyre
 
Social Business - The Irresistible Force to Overcome Immovable Objections (IB...
Social Business - The Irresistible Force to Overcome Immovable Objections (IB...Social Business - The Irresistible Force to Overcome Immovable Objections (IB...
Social Business - The Irresistible Force to Overcome Immovable Objections (IB...Stuart McIntyre
 
A Profile is the key a users' Connections identity, exploit it!
A Profile is the key a users' Connections identity, exploit it!A Profile is the key a users' Connections identity, exploit it!
A Profile is the key a users' Connections identity, exploit it!Stuart McIntyre
 
Congratulations, you've successfully deployed IBM Connections 4.x! Now what?
Congratulations, you've successfully deployed IBM Connections 4.x! Now what?Congratulations, you've successfully deployed IBM Connections 4.x! Now what?
Congratulations, you've successfully deployed IBM Connections 4.x! Now what?Stuart McIntyre
 
Social Connections II - Paul Mason - Applicable, the power of choice
Social Connections II - Paul Mason - Applicable, the power of choiceSocial Connections II - Paul Mason - Applicable, the power of choice
Social Connections II - Paul Mason - Applicable, the power of choiceStuart McIntyre
 
Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...Stuart McIntyre
 
Social Connections II - Stuart McIntyre - Extending IBM Connections
Social Connections II - Stuart McIntyre - Extending IBM ConnectionsSocial Connections II - Stuart McIntyre - Extending IBM Connections
Social Connections II - Stuart McIntyre - Extending IBM ConnectionsStuart McIntyre
 
Avoiding the seven deadly sins of IBM Connections and how to plot the route ...
Avoiding the seven deadly sins of IBM Connections and how to plot the route ...Avoiding the seven deadly sins of IBM Connections and how to plot the route ...
Avoiding the seven deadly sins of IBM Connections and how to plot the route ...Stuart McIntyre
 
Extending IBM Connections - Bridging the Gap
Extending IBM Connections - Bridging the GapExtending IBM Connections - Bridging the Gap
Extending IBM Connections - Bridging the GapStuart McIntyre
 
Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...Stuart McIntyre
 
IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)
IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)
IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)Stuart McIntyre
 
Ascendant Technology: Successful Collaboration solutions require a concrete a...
Ascendant Technology: Successful Collaboration solutions require a concrete a...Ascendant Technology: Successful Collaboration solutions require a concrete a...
Ascendant Technology: Successful Collaboration solutions require a concrete a...Stuart McIntyre
 
Salvation Army: A private social network
Salvation Army: A private social networkSalvation Army: A private social network
Salvation Army: A private social networkStuart McIntyre
 
IBM Connections Next - Futures & Feedback
IBM Connections Next - Futures & FeedbackIBM Connections Next - Futures & Feedback
IBM Connections Next - Futures & FeedbackStuart McIntyre
 
Great expectations - students today, employees tomorrow
Great expectations - students today, employees tomorrowGreat expectations - students today, employees tomorrow
Great expectations - students today, employees tomorrowStuart McIntyre
 
IBM Connections - Customizing and Extending
IBM Connections - Customizing and ExtendingIBM Connections - Customizing and Extending
IBM Connections - Customizing and ExtendingStuart McIntyre
 
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDIBeyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDIStuart McIntyre
 
Things I wish I'd known 5 years ago
Things I wish I'd known 5 years agoThings I wish I'd known 5 years ago
Things I wish I'd known 5 years agoStuart McIntyre
 

Mais de Stuart McIntyre (20)

IBM Connections 4.5 Reviewer's Guide
IBM Connections 4.5 Reviewer's GuideIBM Connections 4.5 Reviewer's Guide
IBM Connections 4.5 Reviewer's Guide
 
Social Business: The Irresistible Force To Overcome Immovable Objections
Social Business: The Irresistible Force To Overcome Immovable ObjectionsSocial Business: The Irresistible Force To Overcome Immovable Objections
Social Business: The Irresistible Force To Overcome Immovable Objections
 
BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...
BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...
BCCON 2014 - Social Business: The irresistible force to overcome immovable ob...
 
Social Business - The Irresistible Force to Overcome Immovable Objections (IB...
Social Business - The Irresistible Force to Overcome Immovable Objections (IB...Social Business - The Irresistible Force to Overcome Immovable Objections (IB...
Social Business - The Irresistible Force to Overcome Immovable Objections (IB...
 
A Profile is the key a users' Connections identity, exploit it!
A Profile is the key a users' Connections identity, exploit it!A Profile is the key a users' Connections identity, exploit it!
A Profile is the key a users' Connections identity, exploit it!
 
Congratulations, you've successfully deployed IBM Connections 4.x! Now what?
Congratulations, you've successfully deployed IBM Connections 4.x! Now what?Congratulations, you've successfully deployed IBM Connections 4.x! Now what?
Congratulations, you've successfully deployed IBM Connections 4.x! Now what?
 
Social Connections II - Paul Mason - Applicable, the power of choice
Social Connections II - Paul Mason - Applicable, the power of choiceSocial Connections II - Paul Mason - Applicable, the power of choice
Social Connections II - Paul Mason - Applicable, the power of choice
 
Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...
 
Social Connections II - Stuart McIntyre - Extending IBM Connections
Social Connections II - Stuart McIntyre - Extending IBM ConnectionsSocial Connections II - Stuart McIntyre - Extending IBM Connections
Social Connections II - Stuart McIntyre - Extending IBM Connections
 
Avoiding the seven deadly sins of IBM Connections and how to plot the route ...
Avoiding the seven deadly sins of IBM Connections and how to plot the route ...Avoiding the seven deadly sins of IBM Connections and how to plot the route ...
Avoiding the seven deadly sins of IBM Connections and how to plot the route ...
 
Extending IBM Connections - Bridging the Gap
Extending IBM Connections - Bridging the GapExtending IBM Connections - Bridging the Gap
Extending IBM Connections - Bridging the Gap
 
Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...Social Connections II - Gaining Traction & Results from Collaboration Platfor...
Social Connections II - Gaining Traction & Results from Collaboration Platfor...
 
IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)
IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)
IBM Connections - Bridging the Gap (delivered at DanNotes, Nov 2011)
 
Ascendant Technology: Successful Collaboration solutions require a concrete a...
Ascendant Technology: Successful Collaboration solutions require a concrete a...Ascendant Technology: Successful Collaboration solutions require a concrete a...
Ascendant Technology: Successful Collaboration solutions require a concrete a...
 
Salvation Army: A private social network
Salvation Army: A private social networkSalvation Army: A private social network
Salvation Army: A private social network
 
IBM Connections Next - Futures & Feedback
IBM Connections Next - Futures & FeedbackIBM Connections Next - Futures & Feedback
IBM Connections Next - Futures & Feedback
 
Great expectations - students today, employees tomorrow
Great expectations - students today, employees tomorrowGreat expectations - students today, employees tomorrow
Great expectations - students today, employees tomorrow
 
IBM Connections - Customizing and Extending
IBM Connections - Customizing and ExtendingIBM Connections - Customizing and Extending
IBM Connections - Customizing and Extending
 
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDIBeyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
Beyond the Basics: An Overview of User LifeCycle and Managing Users with TDI
 
Things I wish I'd known 5 years ago
Things I wish I'd known 5 years agoThings I wish I'd known 5 years ago
Things I wish I'd known 5 years ago
 

Último

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Último (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Customising IBM Connections 3.0.x

  • 1. Customising IBM Connections 3.0.x Stuart McIntyre CTO/Connections Specialist Collaboration Matters Limited
  • 2. Your Presenter Stuart McIntyre CTO, Collaboration Matters Connections Specialist Blogger/Podcaster/Design Partner/Speaker Feel free to contact me: blog.collaborationmatters.com thisweekinlotus.com ibmconnectionsblog.com facebook.com/stuartmcintyre quickrblog.com twitter.com/stuartmcintyre lotusliveblog.com linkedin.com/in/mcintyre lotusphereblog.com stuart@collaborationmatters.com
  • 3. This Session Customising IBM Connections 3.0.x The Aim: Demonstrate some of the key areas where Connections 3.0.x can be customised Topics: Introduction to Connections customisation Part 1: UI customisations (themes and skins) Part 2: Profiles customisations (fields and labels) What next? Q&A
  • 10. First, some questions... Administrator? Developer? Something else? Edited HTML? Edited CSS? Worked with TDI?
  • 11. First, some questions... Administrator? Developer? Something else? Edited HTML? Edited CSS? Worked with TDI? Customised Lotus Connections?
  • 12. Interactivity is good! Image: http://www.slideshare.net/Niezette/100-pictures-for-powerpoint-presentations
  • 13. A note... We have a lot of material... And only 60 minutes to cover it in...
  • 14. A note... We have a lot of material... And only 60 minutes to cover it in...
  • 16. Introducing IBM Connections 3.0.0 Lotus Connections 3.0.0 was released in November 2010 3.0.0 delivered new look and feel, plus many new features and functions, including:
  • 17. What’s New in Connections 3.0.0? Global Navigation and Theme (including drop-down menus) Home Page/News – improved news feed and integration of status updates, email digest Communities – invitations, improved Files integration, Activities integration, sub- communities, My Communities views Forums – standalone service, tags, question/answer topics Profiles – Do You Know, Things in Common, Social Path widgets, tabbed Profile format Files – collections changed to folders including drag and drop Wikis – improved use of real estate, drag and drop navigation, My Wikis views Blogs – improved authoring including new editor and more consistent navigation and entries lists Linked Value – SharePoint/Communities integration, new portlets, status updates Lotus Notes sidebar plug-in
  • 18. Introducing IBM Connections 3.0.1 IBM Connections 3.0.1 was released in April 2011, delivering many of the features described at Lotusphere 2011 No longer a ‘Lotus’ product The new features include: Ideation Blogs and Idea Graduation Image and Video Galleries in Communities Community Moderation ECM Integration User Interface and customisation process has not changed from 3.0.0
  • 19. 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
  • 20. Key Resources Lotus Connections Infocenter (now in Wiki) Lotus Connections Wiki http://www-10.lotus.com/ldd/lcwiki.nsf Luis Benitez blog http://www.lbenitez.com Curious Mitch http://www.curiousmitch.com The Connections Blog http://www.ibmconnectionsblog.com developerWorks https://www.ibm.com/developerworks/lotus/products/connections/
  • 21. Part 1: UI Customisations
  • 22. Theme Components Each theme is made up of multiple components: CSS header.html footer.html images
  • 23. 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 End result? A total change in how the design of Connections looks
  • 24. What’s Changed in 3.0.x Customisation has been made simpler, and possibly easier for 3.0.x compared to 2.5 Ability to customise individual features or entire suite is built into the product No longer necessary to move themes onto HTTP server to customise them Number of restarts has been reduced too
  • 25. The Directory Layout Lotus Connections 3.0 consists of a number of different applications (Activities, Blogs, Communities, etc.) Each application has its own .ear file in the Connections deployment, with each .ear containing the .war file for that application. All the .war files are in the directory: <WASHome>/profiles/<Profile>/installedApps/<Cell> e.g. <WASHome>/profiles/<Profile>/installedApps/<Cell>/Homepage.ear contains homepage.ear file
  • 26. The Directory Layout (cont.) Each application's .war file then contains the files specific to that application: During customisation we will copy files from these locations into a specific customisation area for modification
  • 27. Customisation Concepts Connections 3.0.x has concept of common and specific customisations Custom files are placed in a special shared customisation directory Removing the file from this directory undoes the customisation Modifications can be made to common, to specific features or to both
  • 28. Customisation Precedence (1) Content in the customisation directory overrides installed content Customisation Directory Installed Content User Sees Custom Custom Header + Header Footer = Header Footer Custom Footer + Header Footer = Header Custom Footer Custom Custom Custom Custom Header Footer + Header Footer = Header Footer
  • 29. Customisation Precedence (2) Feature-specific customisation directories override the common customisation directory Profiles Customisation Common Customisation Installed Content Profiles User Sees Bookmarks User Sees Footer + Footer + Header Footer = Header Footer Header Footer Header + Footer + Header Footer = Header Footer Header Footer Footer + Header Footer + Header Footer = Header Footer Header Footer Header Footer + Header + Header Footer = Header Footer Header Footer Header Footer + Header Footer + Header Footer = Header Footer Header Footer
  • 30. Overview of the Customisation Process Enable Customisation Restart Connections server(s) Find the file you want to change from the installed application Copy the file into the customisation directory at the correct sub-directory Make changes to the copied file Restart the affected applications on your application server
  • 31. Enabling Customisation Two variables in WebSphere that significantly affect customisation: CONNECTIONS_CUSTOMIZATION_DEBUG (must be set to true to enable customisations to take effect, set back to false once customisations complete) CONNECTIONS_CUSTOMIZATION_PATH (Connections 3.0.x uses a separate directory structure to hold files for customisations, allowing us to make changes without fear of harming the server, also easier to upgrade/ migrate. Default is <connectionsinstall>/data/shared/customization/common/) To view/set the variables, we log onto the WebSphere Application Server Console and select Environment > WebSphere Variables Do not change CONNECTIONS_CUSTOMIZATION_PATH but make a note as we will need this for future use
  • 32. Example 1: Changing Colours Open the style sheet file for the default theme in a text editor, e.g. for Files: <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav commonstylesdefaultThemedefaultTheme.css Create a new, empty style sheet file in the common customisation directory: <LotusConnectionsDir>datasharedcustomizationcommonnavcommonstyles defaultThemecustom.css Open custom.css file in a text editor Locate rules for sections of the page with accent colours - title bar and left navigation – in defaultTheme.css Paste those rules in custom.css, and change the colours from light blue to red Save changes Tips: defaultTheme.css contains most colour settings for the product Use Firebug or Chrome Developer Tools to locate rules that should be changed
  • 33. Example 1: Changing Colours (cont.) Visit Lotus Connections in your web browser )2-03/03")*4*+5"67*0.89 )2-03/03")*4*+5"67*0.89 Best to go direct to WAS server (rather than HTTP) to avoid caching: ! :/5/.";*.<5")*00=7./*05"/0">*<+"?=@"@+*?5=+ ! :/5/.";*.<5")*00=7./*05"/0">*<+"?=@"@+*?5=+ e.g. http://connections.myorg.com:<port>/files )4=-+">*<+"@+*?5=+"7-72=B A A )4=-+">*<+"@+*?5=+"7-72=B A 2..,CDDE5=+F=+GCE,*+.GDH/4=5 A 2..,CDDE5=+F=+GCE,*+.GDH/4=5 Clear your browser cache - very important! Another tip: If you are making extensive changes or sending CSS to an external party, it can be easier J/,C"&H">*<"-+="K-L/03"=M.=05/F="72-03=5"*+"5=0N/03")OO".*"-0"=M.=+0-4",-+.>" I I J/,C"&H">*<"-+="K-L/03"=M.=05/F="72-03=5"*+"5=0N/03")OO".*"-0"=M.=+0-4",-+.>" -4.=+"N=H-<4.J2=K=8755"/05.=-N8 to alter defaultTheme.css instead of using additional custom css file -4.=+"N=H-<4.J2=K=8755"/05.=-N8 !"#$%%"&'(")*+,*+-./*0 !"#$%%"&'(")*+,*+-./*0 %1 %1
  • 34. Example 1: Changing Colours (cont.) 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/Chrome Developer Tools for ad-hoc testing and dedicated CSS editing tools for larger changes Something I’ve learnt: Just because someone can edit CSS, it doesn’t make them a graphic designer!
  • 35. Example 1: Changing Colours (cont.) In addition to defaultTheme, there are four other themes shipped with the product: goldTheme, greenTheme, metalTheme and redTheme These can be used as templates for your own colour themes if a closer match than the defaultTheme
  • 36. Example 1: Changing Colours (cont.) It is also possible to personalise the look and feel of individual communities and blogs, including theme templates Use same CSS templates as overall theme - create some to complement your overall custom theme
  • 37. Example 2: Adding Logo It is best to keep to same size logo as existing IBM/Lotus Connections logo, but can use a different size if additional modifications are completed to CSS file Create a new logo image for the site toolbar_logo.gif(306x66pixels) Copy the image to the common customisation directory: <LotusConnectionsDir>datasharedcustomizationcommonnavcommonstylesimages toolbar_logo.gif Verify that the image appears in your browser Open http://connections.myorg.com:<port>/files/nav/common/styles/images/ toolbar_logo.gif
  • 38. Example 2: Adding Logo (cont.) Open defaultTheme.css in a text editor Change the source URL for the logo in this file Minor style changes to align the menus with the logo (if required) Save changes Visit Connections in your web browser Clear your browser cache! http://connections.myorg.com:<port>/files Remember: Any file you add to the common directory becomes available in all applications (but can be overridden)
  • 39. Example 3: Adding a Drop-down Menu to the Header Locate the header file <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav templatesheader.jsp Copy the header file to the common customization directory <LotusConnectionsDir>datasharedcustomizationcommonnavtemplatesheader.jsp Open the copied file in a text editor Create a new “Intranet” menu drop-down by copying the “People” menu link Add a “Support Forum” link in the upper-right Move the logo element in the page Save changes
  • 40. Example 3: Adding a Drop-down Menu to the Header (cont.) Locate the header menu file <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav templatesmenupeople.jsp Copy the header file to the common customization directory with a new name <LotusConnectionsDir>datasharedcustomizationcommonnavtemplatesmenu intranet.jsp Open the copied file in a text editor Using the “People” menu as an example, create links pointing to intranet locations Save changes More tips: Popup menus can use dynamic logic or Javascript – very flexible Menu contents can be styled as desired
  • 41. Example 3: Adding a Drop-down Menu to the Header (cont.) To test, visit Connections in your web browser Clear your browser cache! http://connections.myorg.com:<port>/files
  • 42. Example 4: Customising the Login Page Locate the login Java Server Page (JSP) file <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav templateslogin.jsp Copy the style sheet file to the common customization directory <LotusConnectionsDir>datasharedcustomizationcommonnavtemplateslogin.jsp Open the copied file in a text editor Remove IBM branding and add informational text Add a very simple click-through agreement using JavaScript Save changes
  • 43. Example 4: Customising the Login Page (cont.) To test, visit Connections in your web browser Clear your browser cache! http://connections.myorg.com:<port>/files/login
  • 44. Example 4: Customising the Login Page (cont.) Product text can be altered too Locate the string resource file for the header and login pages Unzip the JAR file to a temporary directory with a zip program <WASHome>profiles<Profile>installedApps<Cell>Files.earlc.util.web-3.0.jar In the temporary directory, find the file comibmlconncorestringstemplates.properties Create a new file in the string customization directory with the name <LotusConnectionsDir>datasharedcustomizationstrings com.ibm.lconn.core.strings.templates.properties Open both the existing resource file and the new file in a text editor Copy the entire line (or lines) you want to change from the old to the new file Change text strings for the login page to match branding Save changes
  • 45. Example 4: Customising the Login Page (cont.) Restart the Connections server(s) To test, visit Connections in your web browser Clear your browser cache! http://connections.myorg.com:<port>/files/login
  • 46. Example 5: Modifying Getting Started pages Create a new HTML file in the common customization directory <LotusConnectionsDir>datasharedcustomizationcommonnavgettingstartednew.html Open the file in a text editor Add informational text about guidelines for your users Save changes Change the first <step> in gettingstarted-config.xml (see Infocenter) Securelink:${lcurl:homepage.secure}/nav/gettingstarted/new.html Unsecurelink:${lcurl:homepage}/nav/gettingstarted/new.html Restart Homepage application
  • 47. Example 5: Modifying Getting Started pages (cont.) Visit Connections Homepage in your web browser http://connections.myorg.com:<port>/homepage
  • 48. Customisation Best Practice - Creating Only copy the files you need into the customisation directory Reduce the number of files to manage Makes it easier to know what has been changed Keep track of the changes you make through documentation or comments Put comments directly into JSP or CSS files to simplify merging Extensive changes may be difficult to update from release to release Use custom.css whenever possible, much easier to track style changes and handle migration Back up frequently, and have a process for deploying customisations Best to have a staging or test environment, it is easy to backup your old customisation before copying over the new customisation If the customisation directory is renamed or moved customisation will be disabled May want to use a version control system for the customisation folder When customisations are ready to deploy, always update the version stamp This ensures that old versions of the site are removed from browser caches
  • 49. Customisation Best Practice - Maintaining Occasionally IBM will change a that has been customised Fixpacks and iFixes should document which files are being changed (in theory) Applying any fixes: 1. Back up your customisation directory 2. Disable all customisation by renaming the customisation directory 3. Apply the iFix or fixpack 4. Test that your environment still is functional 5. Identify any files that have changed in the fixpack that you have customised 6. Compare each new file from IBM to your customised copy, and merge changes 7. Rename your customisation directory to the correct name 8. Test your customisation Most changes to supported customisation files will be simple
  • 50. Customisation Best Practice - Debugging Use customisation debug mode in test environments Changes take effect immediately If possible, avoid using debug mode on a (loaded) production server Why don't I see my changes? Check that the file is in the right location in the customisation directory (typically the source of many problems!) and has the right name Clear your browser cache Restart the application (or server) if debug mode is off Syntax error in file you changed? Check that there are no errors being output to the page or to the logs Printing the list of customised files Enable WebSphere trace for “com.ibm.lconn.core.web.customization.*=all” Restart the Connections application trace.log will contain customisation debug information during application startup
  • 51. Migrating Customisations from Previous Versions Style customisation Some style rules have been changed, especially those that affect colour and borders If you have added additional CSS files via the header, copy contents of those files into <LotusConnectionsDir>datasharedcustomizationcommonnavcommonstyles defaultThemecustom.css If you have a complete visual override, may be best to port changes to the new format by following the InfoCenter topic “Making extensive colour and style changes” An example of the theme (using the new style rules) is located at <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav commonstylesgen1Theme Header and Footer Because the header exposes new features in Connections 3.0.x, it is recommended that changes are migrated on top of the new header An example of the 2.5 header as a JSP is located at: <WASHome>profiles<Profile>installedApps<Cell>Files.earqkr.share.files.warnav templatesoriginalHeader.jsp
  • 52. UI Customisation FAQ More detail on a type of customisation? This document is just great! Customizing IBM Lotus Connections 3.0 Can we customise other elements of the UI? Yes, but support is limited outside of the types covered here. Change at your own risk, and consult with Collaboration Matters or IBM support team first Changes are more likely to be overridden by a fixpack or upgrade Can the IBM support team answer customisation questions (via PMRs etc.)? Yes, for directly supported customisation, and can provide info about what files need to be changed for other parts of the application Use recommended debugging steps – support team will ask you to work through them
  • 54. 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
  • 55. Customising Profiles population Topic is well covered in the InfoCenter Population Wizard has also made it more straightforward, however worth covering the options Recommend that one always uses manual process after initial population, to control who gets added and how Manual import can be scheduled using CRON or Windows Scheduler
  • 56. Customising Profiles Population (cont.) 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.dns source_ldap_search_base=o=acme source_ldap_search_filter=(&(uid=*)(objectclass=inetOrgPerson)) source_ldap_url=ldap://ldap.acme.com:389 source_ldap_use_ssl=false source_ldap_user_login=cn=LDAPBind source_ldap_user_password={encr}<encrypted password>
  • 57. Customising Profiles Population (cont.) Names that reside within search base and match search filter are deposited in collect.dns CN=Neil Burston,ou=it,o=acme CN=Mitch Cohen,ou=it,o=acme CN=Sharon Bellamy,ou=it,o=acme CN=Stuart McIntyre,ou=it,o=acme 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
  • 58. Customising Profiles Population (cont.) map_dbrepos_from_source.properties specifies match between LDAP and Profiles fields: alternateLastname=null bldgId=null blogUrl=null Customise according to your org’s populated fields in LDAP calendarUrl=null countryCode=c Watch for field lengths and validation courtesyTitle=null deptNumber=null (see validate_dbrepos_fields.properties) description=description ... Some field lengths are very restrictive, particularly Department (16 characters) and Country (3 - for ISO codes) alternateLastname=64 blogUrl=256 Can be a good use for extended fields to replace default bldgId=64 attributes calendarUrl=256 courtesyTitle=64 deptNumber=16 description=1048576 ...
  • 59. 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?
  • 60. Profiles-config.xml <profileLayout profileType="default"> <jobInformation> Each attribute listed in Profile <editableAttribute showLabel="false" hideIfEmpty="true" prependHtml="&lt;strong&gt;" appendHtml="&lt;/ strong&gt;&lt;br/&gt;">jobResp</editableAttribute> and Edit My profile is controlled <attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br &gt;">employeeTypeDesc<attribute> <attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br/&gt;">organizationTitle<attribute> by an entry in profiles-config.xml ... </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> ...
  • 61. Hiding a Profiles attribute Connections 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: <editableAttribute showLabel="true" hideIfEmpty="true">ipTelephoneNumber</editableAttribute> Simply comment out the entry: <!-- <editableAttribute showLabel="true" hideIfEmpty="true">ipTelephoneNumber</editableAttribute> --> Restart the WAS server IP Telephony no longer appears to the user
  • 62. 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
  • 63. Controlling editable attributes 2/2 Again, edit profiles-config.xml, find the ‘default’ profile type definitions, and the appropriate attribute: <editableAttribute showLabel="true" hideIfEmpty="true" hcard="true" email="secretaryEmail" uid="secretaryUid" userid="secretaryUserid" appendHtml="&lt;br/&gt;">secretaryName</editableAttribute> To stop the attribute being editable, modify ‘editableAttribute’ to be ‘attribute’: <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
  • 64. Controlling attribute labels 1/2 When profiles are displayed, some attributes are displayed with labels, others are not: The secretary/assistant’s name is displayed with a label, whilst the phone number and email address are not So, how to show the label for the Phone number?
  • 65. Controlling attribute labels 2/2 Again, edit profiles-config.xml, find the ‘default’ profile type definitions, and the appropriate attribute: <attribute showLabel="false" hideIfEmpty="true" appendHtml="&lt;br/&gt;">telephoneNumber</attribute> To make the default attribute label appear, change the showLabel value: <attribute showLabel="true" hideIfEmpty="true" appendHtml="&lt;br/&gt;">telephoneNumber</attribute> The label for the phone number is now shown
  • 66. 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
  • 67. Changing Profiles attribute labels Connections 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 Rather complex to get right! Given the time available for this presentation, this will be in the slide deck shared afterwards and will not be covered here
  • 69. Adding new attributes The concept of Extension Attributes is 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)
  • 70. Adding a new attribute 1/2 First add to Extension Attribute stanza: <profileExtensionAttributes> <simpleAttribute extensionId="homeAddress" length="64" /> <xmlFileAttribute extensionId="profileLinks" ... </xmlFileAttribute> </profileExtensionAttributes> Then within the Profile Type(s) it should appear in: <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> Save and restart the WAS server
  • 71. Adding a new attribute 2/2 New attribute will appear for editing and display (if populated), but will not have appropriate label
  • 72. Adding label for new attribute Attribute is now correctly labelled
  • 73. 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>
  • 74. 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
  • 76. 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
  • 77. Remember... But in truth, social software users do and the business problems the tools address. Jakob Nielsen, Usability Guru
  • 78. 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 processes Have fun and make Connections work for you and your organisation... Image: http://www.slideshare.net/Niezette/100-pictures-for-powerpoint-presentations