SlideShare une entreprise Scribd logo
1  sur  41
The Unofficial FAQ for 
Connections Integration 
Development.
Mark Myers 
• A Member of the London 
Developer Co-op 
– Twitter: @stickfight 
– Email: Mark@londc.com 
– skype: stickfight 
• Developer from a support 
background 
• 13+ years on IBM technology, 
16+ years in IT
This Session 
• Connections is a very powerful platform but 
badly documented and a bit of a patchwork 
• Most of the fun things you can do are not on 
IBM official list of interfaces and methods 
• There are tons of WTF moments that can cost 
you a delivery date, lets see if we can head a 
couple off at the pass.
This Session Content 
• Its all in the Config – Lessons learnt and 
examples of intergrading your code into 
Connections user interface 
• Into the database – Shhhh! we should not be 
in here, it is the fun place
Please Interrupt 
(Connections is freaky enough with out trying to 
remember stuff for later)
It’s all in the Config 
• Front end Integration with connections is 
based on 2 standards, IWidget 1.0 and 
OpenSocial 2.5 
• As neither are used much outside of 
connections its best to avoid them as much as 
possible and just use normal web standards
It’s all in the Config 
IWidget 1.0 OpenSocial 2.5 
Activity Streams X 
Share Dialog X 
Home Page X X 
User Widgets X X 
Profiles X 
Communities X 
You can only use certain standards in 
certain places
It’s all in the Config 
• The easiest way to 
deal with this is to 
store BOTH the 
IWidget and Open 
social config in your 
project.
IWidget Config Example 
This is the “context-root” you can either set 
in in the ear file application.xml or ask your 
admin to set it in websphere
Opensocial Config Example 
A width of 450px is a nice safe width to 
make central content widgets
Showing the Widgets 
• You will have to provide your admins with 
some XML so your widgets show up in the 
right place. 
• This will need to go in the widgets-config.xml
Showing the Widgets 
• First you need a define the widget e.g. 
<widgetDef defId=“UKICON 2014 Widget" 
url="/ukicon2014/iwidgetConfig.xml" 
modes="view"></widgetDef> 
• And place it inside the 
<definitions></definitions> 
tag (there will be a load of other 
stuff already in there)
Showing the Widgets 
• Then tell connections where to show the 
widget, 
<widgetInstance uiLocation="col3" defIdRef=" 
UKICON 2014 Widget"/> 
• And place it inside the 
Column number 
<page pageId=“XXX"></page> 
tag “XXX” is the present page name 
such as “communityOverview” or 
“profilesView”
It’s a Database thing 
• Sometimes the connections ATOM feeds are 
not enough 
– Not the data you need 
– Not fast enough 
– IBM don’t want you to do that but your clients do 
, e.g. edit activity feeds. 
• Its time to dig into the real data, the 12 db2 
databases that back connections
It’s a Database thing – Tips #1 
• Each database implements referential 
integrity, however this does not work across 
the different databases. 
• When asking for database access, the read 
only db2 role does not cut the mustard as it 
lets you see the databases but not the 
contents (all selects will return blank)
It’s a Database thing – Tips #2 
• The 12 Databases are never really meant to 
see each other, so there is a lot of reuse of 
identifier names (fields and tables) 
– This means that most of the automatic reverse 
engineering tools (hibernate, JPA etc etc), get 
really confused when you import multiple 
databases as well as eating up a lot of memory 
– Stick to static SQL if you have multiple database 
apps.
It’s a Database thing – Connecting 
• Recommended SQL client for dealing with 
Connections Dev is Squirrel SQL 
(http://squirrel-sql.sourceforge.net/) 
– Java client So experiences the same issues as your 
code 
– Uses IBM’s own jar files. 
– hellishly powerful 
– FREE
It’s a Database thing – Connecting 
• Downloaded and run the install Jar 
– Only change on a default install is to select the 
IBM DB2 option (just a tick box)
It’s a Database thing – Connecting 
• When you first open it you will get a screen 
like this (We need to do some config)
It’s a Database thing – Connecting 
• Click on the big “Drivers” button on the left hand side, find 
the “IBM DB2 App Driver” entry, you will see that like nearly 
all the other entries, it has a red X by it,
It’s a Database thing – Connecting 
• Now Double Click on the entry and in the pop up box, move 
to the “Extra Class Path” Tab
It’s a Database thing – Connecting 
• Next click on the “Add” button and go hunting for the driver 
Jar files, these are best to get of the DB2 server, they are: 
– db2jcc.jar 
– db2jcc_licence_cu.jar 
• You will tend to find them on any machine that has db2 
installed in the directory 
• X:Program FilesIBMSQLLIBjava 
• Once you have added them, change the “Class Name” drop 
down to 
– com.ibm.db2.jcc.DB2Driver
It’s a Database thing – Connecting
It’s a Database thing – Connecting 
• That’s you driver sorted, now make some connections 
– Click on the “Aliases” button then the “+” button to add a new Aliases
It’s a Database thing – Connecting 
• Select the driver you just setup, from the drop down field 
• Then in the URL field put the connection string for the 
database you want to get to in the format 
jdbc:db2://XXX.XXX.XXX.XXX:50000/XXXX 
(port 50000 is the default port for db2) 
for example 
• jdbc:db2://localdb2.ldc.com:50000/BLOGS 
will get me the blogs database on my local server
It’s a Database thing – Connecting 
The Full List of connections databases: 
• Connections App: Files, DataBase: FILES 
• Connections App: Activities, DataBase: OPNACT 
• Connections App: Blogs, DataBase: BLOGS 
• Connections App: Communities, DataBase: SNCOMM 
• Connections App: Community Events, DataBase: SNCOMM 
• Connections App: HomePage , News, Search, DataBase: HOMEPAGE 
• Connections App: Metrics, DataBase: METRICS 
• Connections App: Mobile, DataBase: MOBILE 
• Connections App: Profiles, DataBase: PEOPLEDB 
• Connections App: Wiki, DataBase: WIKIS 
• Connections App: BookMarks, DataBase: DOGEAR 
• Connections App: Forums, DataBase: FORUM
It’s a Database thing – Connecting 
• Then just use enter the username and password (hint, you 
will NEVER get the lsuser account off your admin) 
• Click “OK”
It’s a Database thing – Connecting 
You now have an alias that you can 
double click to connect to the 
specified database, 
You are going to have to create one 
for each of the Connections 
databases 
You can make things easier by right 
clicking on a alias and copying
It’s a Database thing – Connecting 
Squirrel SQL makes it easy to backup tables, so you can work 
locally to test your SQL 
- “Create Table Script” to make a clone of the table 
- “Create Data Script” to make a clone of the data
It’s a Database thing – Version 
• The database fields are a moving target 
• You need to be able to tell which version you 
are connected to. 
• Each database has its own schema version
It’s a Database thing – Version 
Eg. for the home page db: 
SELECT DBSCHEMAVER FROM 
"HOMEPAGE"."HOMEPAGE_SCHEMA"; 
– Connections v4.0 BASE : 110 
– Connections v4.5 BASE: 210 
– Connections v4.5 CR4 : 213 
• http://www.stickfight.co.uk/blog/Living- 
Document-Connections-Db-Schema-Versions
It’s a Database thing – Clob 
• IBM are fond of the CLOB data type 
• Designed to store ASCII text data, including 
formatted text such as HTML or PostScript. 
• A pain to get via SQL
It’s a Database thing – Clob
It’s a Database thing – Clob 
SELECT DBMS_LOB.substr(VALUE, 3000) 
FROM "BLOGS"."ROLLER_PROPERTIES" 
where NAME = 'database.schema.version';
It’s a Database thing – User IDS 
• In Connections each application and database 
contains a separate user name table 
• This table stores a foreign key that is the 
global directory ID provided by the profile 
database.
It’s a Database thing – User IDS
It’s a Database thing – User IDS
It’s a Database thing – User IDS
Summing Up #1 
• The basic integration interfaces you will end 
up using will be 
– Standard Eclipse dynamic web project using your 
framework of choice to make content + a few IBM 
config files 
– Command Line Jar 
– Notes / Xpages
Summing Up #2 
• Do NOT expect the IBM interfaces to deliver 
on the marketing promise, 
– The IBM devs are not given enough time to 
complete any given interface or framework 
• Do NOT treat connections as a unified frame 
work 
– Treat is like a Websphere box with access to db2, 
Congnos, file net etc etc and a load of pre done 
apps
Questions / Abuse ?

Contenu connexe

Tendances

Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Lucidworks
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!
Ben Steinhauser
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
GGDBologna
 
DSpace 4.2 XMLUI Theming
DSpace 4.2 XMLUI ThemingDSpace 4.2 XMLUI Theming
DSpace 4.2 XMLUI Theming
DuraSpace
 

Tendances (20)

2-5-14 “DSpace User Interface Innovation” Presentation Slides
2-5-14 “DSpace User Interface Innovation” Presentation Slides2-5-14 “DSpace User Interface Innovation” Presentation Slides
2-5-14 “DSpace User Interface Innovation” Presentation Slides
 
Open Source Library System Software: Libraries Are Doing it For Themselves
Open Source Library System Software: Libraries Are Doing it For ThemselvesOpen Source Library System Software: Libraries Are Doing it For Themselves
Open Source Library System Software: Libraries Are Doing it For Themselves
 
Getting started with rails active storage wae
Getting started with rails active storage waeGetting started with rails active storage wae
Getting started with rails active storage wae
 
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...
 
Web Performance First Aid
Web Performance First AidWeb Performance First Aid
Web Performance First Aid
 
Mikkel Heisterberg - An introduction to developing for the Activity Stream
Mikkel Heisterberg - An introduction to developing for the Activity StreamMikkel Heisterberg - An introduction to developing for the Activity Stream
Mikkel Heisterberg - An introduction to developing for the Activity Stream
 
Webinar: IBM Connections Adminblast
Webinar: IBM Connections AdminblastWebinar: IBM Connections Adminblast
Webinar: IBM Connections Adminblast
 
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
Soccnx11 Two wrongs don't make a right - Troubleshooting Connections
 
Basic computers for DIU laptop project students
Basic computers for DIU laptop project studentsBasic computers for DIU laptop project students
Basic computers for DIU laptop project students
 
2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides2.28.17 Introducing DSpace 7 Webinar Slides
2.28.17 Introducing DSpace 7 Webinar Slides
 
XFILES, the APEX 4 version - The truth is in there
XFILES, the APEX 4 version - The truth is in thereXFILES, the APEX 4 version - The truth is in there
XFILES, the APEX 4 version - The truth is in there
 
SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!SharePoint 2014: Where to save my data, for devs!
SharePoint 2014: Where to save my data, for devs!
 
Intoduction to php web services and json
Intoduction to php  web services and jsonIntoduction to php  web services and json
Intoduction to php web services and json
 
GeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPressGeneralMobile Hybrid Development with WordPress
GeneralMobile Hybrid Development with WordPress
 
DSpace 4.2 XMLUI Theming
DSpace 4.2 XMLUI ThemingDSpace 4.2 XMLUI Theming
DSpace 4.2 XMLUI Theming
 
Web Technology Fundamentals
Web Technology FundamentalsWeb Technology Fundamentals
Web Technology Fundamentals
 
Dspace software
Dspace softwareDspace software
Dspace software
 
Chapter3 mo
Chapter3 moChapter3 mo
Chapter3 mo
 
dmBridge & dmMonocle
dmBridge & dmMonocledmBridge & dmMonocle
dmBridge & dmMonocle
 
foss_19-9
foss_19-9foss_19-9
foss_19-9
 

Similaire à Uklug 2014 connections dev faq

DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4Reporting
David Mann
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
Ulrich Krause
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
NetSPI
 

Similaire à Uklug 2014 connections dev faq (20)

The Dev-Admin Chimera: Customising Connections (with Gab Davis)
The Dev-Admin Chimera: Customising Connections (with Gab Davis)The Dev-Admin Chimera: Customising Connections (with Gab Davis)
The Dev-Admin Chimera: Customising Connections (with Gab Davis)
 
Framing the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQLFraming the Argument: How to Scale Faster with NoSQL
Framing the Argument: How to Scale Faster with NoSQL
 
SQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 QuestionsSQL to NoSQL: Top 6 Questions
SQL to NoSQL: Top 6 Questions
 
Connect2014 Show104: Practical Java
Connect2014 Show104: Practical JavaConnect2014 Show104: Practical Java
Connect2014 Show104: Practical Java
 
DB2 and PHP in Depth on IBM i
DB2 and PHP in Depth on IBM iDB2 and PHP in Depth on IBM i
DB2 and PHP in Depth on IBM i
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
MongoDB
MongoDBMongoDB
MongoDB
 
DMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4ReportingDMann-SQLDeveloper4Reporting
DMann-SQLDeveloper4Reporting
 
Making your user happy – how to create a perfect profile
Making your user happy – how to create a perfect profileMaking your user happy – how to create a perfect profile
Making your user happy – how to create a perfect profile
 
IBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and ExpansionIBM Connections – Managing Growth and Expansion
IBM Connections – Managing Growth and Expansion
 
D Maeda Bi Portfolio
D Maeda Bi PortfolioD Maeda Bi Portfolio
D Maeda Bi Portfolio
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
 
Handling Database Deployments
Handling Database DeploymentsHandling Database Deployments
Handling Database Deployments
 
Automation in Drupal
Automation in DrupalAutomation in Drupal
Automation in Drupal
 
Thick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash CourseThick Application Penetration Testing - A Crash Course
Thick Application Penetration Testing - A Crash Course
 
Architecture by Accident
Architecture by AccidentArchitecture by Accident
Architecture by Accident
 
Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)
 
A Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM ConnectionsA Hitchhiker's Guide to troubleshooting IBM Connections
A Hitchhiker's Guide to troubleshooting IBM Connections
 
A hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connectionsA hitchhiker’s guide to troubleshooting ibm connections
A hitchhiker’s guide to troubleshooting ibm connections
 
SHOW104: Practical Java
SHOW104: Practical JavaSHOW104: Practical Java
SHOW104: Practical Java
 

Plus de Mark Myers

Vertical vs Horizontal Scaling
Vertical vs Horizontal Scaling Vertical vs Horizontal Scaling
Vertical vs Horizontal Scaling
Mark Myers
 
Blug2013 frameworks
Blug2013 frameworksBlug2013 frameworks
Blug2013 frameworks
Mark Myers
 
Show104 buried treasure
Show104 buried treasureShow104 buried treasure
Show104 buried treasure
Mark Myers
 
BP203 limitless languages
BP203 limitless languagesBP203 limitless languages
BP203 limitless languages
Mark Myers
 

Plus de Mark Myers (10)

Engage 2017 - Choose your own adventure
Engage 2017 - Choose your own adventureEngage 2017 - Choose your own adventure
Engage 2017 - Choose your own adventure
 
LDC Via building a new app
LDC Via  building a new appLDC Via  building a new app
LDC Via building a new app
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino Dogs
 
1 app 2 developers 3 servers
1 app 2 developers 3 servers1 app 2 developers 3 servers
1 app 2 developers 3 servers
 
Vertical vs Horizontal Scaling
Vertical vs Horizontal Scaling Vertical vs Horizontal Scaling
Vertical vs Horizontal Scaling
 
Proper Connections Development for Proper Domino Developers
Proper Connections Development for Proper Domino DevelopersProper Connections Development for Proper Domino Developers
Proper Connections Development for Proper Domino Developers
 
Ar*@!+$es to this. getting IBM connections to do what you want
Ar*@!+$es to this. getting IBM connections to do what you want Ar*@!+$es to this. getting IBM connections to do what you want
Ar*@!+$es to this. getting IBM connections to do what you want
 
Blug2013 frameworks
Blug2013 frameworksBlug2013 frameworks
Blug2013 frameworks
 
Show104 buried treasure
Show104 buried treasureShow104 buried treasure
Show104 buried treasure
 
BP203 limitless languages
BP203 limitless languagesBP203 limitless languages
BP203 limitless languages
 

Dernier

6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Dernier (20)

Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund ⟟ 6297143586 ⟟ Call Me For Genuine Sex Servi...
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Rani Bagh Escort Service Delhi N.C.R.
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...Russian Call Girls Pune  (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
Russian Call Girls Pune (Adult Only) 8005736733 Escort Service 24x7 Cash Pay...
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
VVIP Pune Call Girls Mohammadwadi WhatSapp Number 8005736733 With Elite Staff...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft DatingDubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
Dubai Call Girls Milky O525547819 Call Girls Dubai Soft Dating
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 

Uklug 2014 connections dev faq

  • 1. The Unofficial FAQ for Connections Integration Development.
  • 2. Mark Myers • A Member of the London Developer Co-op – Twitter: @stickfight – Email: Mark@londc.com – skype: stickfight • Developer from a support background • 13+ years on IBM technology, 16+ years in IT
  • 3. This Session • Connections is a very powerful platform but badly documented and a bit of a patchwork • Most of the fun things you can do are not on IBM official list of interfaces and methods • There are tons of WTF moments that can cost you a delivery date, lets see if we can head a couple off at the pass.
  • 4. This Session Content • Its all in the Config – Lessons learnt and examples of intergrading your code into Connections user interface • Into the database – Shhhh! we should not be in here, it is the fun place
  • 5. Please Interrupt (Connections is freaky enough with out trying to remember stuff for later)
  • 6. It’s all in the Config • Front end Integration with connections is based on 2 standards, IWidget 1.0 and OpenSocial 2.5 • As neither are used much outside of connections its best to avoid them as much as possible and just use normal web standards
  • 7. It’s all in the Config IWidget 1.0 OpenSocial 2.5 Activity Streams X Share Dialog X Home Page X X User Widgets X X Profiles X Communities X You can only use certain standards in certain places
  • 8. It’s all in the Config • The easiest way to deal with this is to store BOTH the IWidget and Open social config in your project.
  • 9. IWidget Config Example This is the “context-root” you can either set in in the ear file application.xml or ask your admin to set it in websphere
  • 10. Opensocial Config Example A width of 450px is a nice safe width to make central content widgets
  • 11. Showing the Widgets • You will have to provide your admins with some XML so your widgets show up in the right place. • This will need to go in the widgets-config.xml
  • 12. Showing the Widgets • First you need a define the widget e.g. <widgetDef defId=“UKICON 2014 Widget" url="/ukicon2014/iwidgetConfig.xml" modes="view"></widgetDef> • And place it inside the <definitions></definitions> tag (there will be a load of other stuff already in there)
  • 13. Showing the Widgets • Then tell connections where to show the widget, <widgetInstance uiLocation="col3" defIdRef=" UKICON 2014 Widget"/> • And place it inside the Column number <page pageId=“XXX"></page> tag “XXX” is the present page name such as “communityOverview” or “profilesView”
  • 14. It’s a Database thing • Sometimes the connections ATOM feeds are not enough – Not the data you need – Not fast enough – IBM don’t want you to do that but your clients do , e.g. edit activity feeds. • Its time to dig into the real data, the 12 db2 databases that back connections
  • 15. It’s a Database thing – Tips #1 • Each database implements referential integrity, however this does not work across the different databases. • When asking for database access, the read only db2 role does not cut the mustard as it lets you see the databases but not the contents (all selects will return blank)
  • 16. It’s a Database thing – Tips #2 • The 12 Databases are never really meant to see each other, so there is a lot of reuse of identifier names (fields and tables) – This means that most of the automatic reverse engineering tools (hibernate, JPA etc etc), get really confused when you import multiple databases as well as eating up a lot of memory – Stick to static SQL if you have multiple database apps.
  • 17. It’s a Database thing – Connecting • Recommended SQL client for dealing with Connections Dev is Squirrel SQL (http://squirrel-sql.sourceforge.net/) – Java client So experiences the same issues as your code – Uses IBM’s own jar files. – hellishly powerful – FREE
  • 18. It’s a Database thing – Connecting • Downloaded and run the install Jar – Only change on a default install is to select the IBM DB2 option (just a tick box)
  • 19. It’s a Database thing – Connecting • When you first open it you will get a screen like this (We need to do some config)
  • 20. It’s a Database thing – Connecting • Click on the big “Drivers” button on the left hand side, find the “IBM DB2 App Driver” entry, you will see that like nearly all the other entries, it has a red X by it,
  • 21. It’s a Database thing – Connecting • Now Double Click on the entry and in the pop up box, move to the “Extra Class Path” Tab
  • 22. It’s a Database thing – Connecting • Next click on the “Add” button and go hunting for the driver Jar files, these are best to get of the DB2 server, they are: – db2jcc.jar – db2jcc_licence_cu.jar • You will tend to find them on any machine that has db2 installed in the directory • X:Program FilesIBMSQLLIBjava • Once you have added them, change the “Class Name” drop down to – com.ibm.db2.jcc.DB2Driver
  • 23. It’s a Database thing – Connecting
  • 24. It’s a Database thing – Connecting • That’s you driver sorted, now make some connections – Click on the “Aliases” button then the “+” button to add a new Aliases
  • 25. It’s a Database thing – Connecting • Select the driver you just setup, from the drop down field • Then in the URL field put the connection string for the database you want to get to in the format jdbc:db2://XXX.XXX.XXX.XXX:50000/XXXX (port 50000 is the default port for db2) for example • jdbc:db2://localdb2.ldc.com:50000/BLOGS will get me the blogs database on my local server
  • 26. It’s a Database thing – Connecting The Full List of connections databases: • Connections App: Files, DataBase: FILES • Connections App: Activities, DataBase: OPNACT • Connections App: Blogs, DataBase: BLOGS • Connections App: Communities, DataBase: SNCOMM • Connections App: Community Events, DataBase: SNCOMM • Connections App: HomePage , News, Search, DataBase: HOMEPAGE • Connections App: Metrics, DataBase: METRICS • Connections App: Mobile, DataBase: MOBILE • Connections App: Profiles, DataBase: PEOPLEDB • Connections App: Wiki, DataBase: WIKIS • Connections App: BookMarks, DataBase: DOGEAR • Connections App: Forums, DataBase: FORUM
  • 27. It’s a Database thing – Connecting • Then just use enter the username and password (hint, you will NEVER get the lsuser account off your admin) • Click “OK”
  • 28. It’s a Database thing – Connecting You now have an alias that you can double click to connect to the specified database, You are going to have to create one for each of the Connections databases You can make things easier by right clicking on a alias and copying
  • 29. It’s a Database thing – Connecting Squirrel SQL makes it easy to backup tables, so you can work locally to test your SQL - “Create Table Script” to make a clone of the table - “Create Data Script” to make a clone of the data
  • 30. It’s a Database thing – Version • The database fields are a moving target • You need to be able to tell which version you are connected to. • Each database has its own schema version
  • 31. It’s a Database thing – Version Eg. for the home page db: SELECT DBSCHEMAVER FROM "HOMEPAGE"."HOMEPAGE_SCHEMA"; – Connections v4.0 BASE : 110 – Connections v4.5 BASE: 210 – Connections v4.5 CR4 : 213 • http://www.stickfight.co.uk/blog/Living- Document-Connections-Db-Schema-Versions
  • 32. It’s a Database thing – Clob • IBM are fond of the CLOB data type • Designed to store ASCII text data, including formatted text such as HTML or PostScript. • A pain to get via SQL
  • 33. It’s a Database thing – Clob
  • 34. It’s a Database thing – Clob SELECT DBMS_LOB.substr(VALUE, 3000) FROM "BLOGS"."ROLLER_PROPERTIES" where NAME = 'database.schema.version';
  • 35. It’s a Database thing – User IDS • In Connections each application and database contains a separate user name table • This table stores a foreign key that is the global directory ID provided by the profile database.
  • 36. It’s a Database thing – User IDS
  • 37. It’s a Database thing – User IDS
  • 38. It’s a Database thing – User IDS
  • 39. Summing Up #1 • The basic integration interfaces you will end up using will be – Standard Eclipse dynamic web project using your framework of choice to make content + a few IBM config files – Command Line Jar – Notes / Xpages
  • 40. Summing Up #2 • Do NOT expect the IBM interfaces to deliver on the marketing promise, – The IBM devs are not given enough time to complete any given interface or framework • Do NOT treat connections as a unified frame work – Treat is like a Websphere box with access to db2, Congnos, file net etc etc and a load of pre done apps