A ridiculously long presentation from IBM Connect 2013, formerly Lotusphere, from Rob Novak @IBMRockStar and Jerald Mahurin @SociallyCurious on the tools, language, and methods we used to transition from Domino, Quickr and overall web developers to becoming IBM Connections 4.0 developers. From the abstract:
With IBM Connections 4.0, IBM has released the most important new platform - yes platform - for social business development since the Notes client. As a Domino developer, you have excelled. Now, faced with an entire new glossary of terms, new concepts in customization and development, and a whole new set of tools, it could take some time to get up to speed. This session will help you cut weeks off that ramp-up time by showing you exactly what a Connections development environment looks like. We'll cover how to choose your tools and toolkits as well as configuration for development and testing. From the fundamentals of skill gap identification to real working samples, this session is sure to give you a huge head start.
MAS202 - Customizing IBM Connections - Downloadablepaulbastide
IBM Connections enables you to connect and socialize with colleagues, find experts, and quickly share and organize information to get work done. As a developer, you can leverage the IBM Connections data to provide a better experience for your users. In this session, you learn what features you can extend, leverage and use to build a compelling experience. The session highlights how best to extend and work with the IBM Connections Cloud.
This particular presentation is downloadable and missing some transition graphics which were licensed for viewing.
Customize it! Make IBM Connections look your way Klaus Bild
My session at Dominopoint Days 2013 in Milano
IBM Connections offers endless customizing possibilities in order to change the platform according to your needs . In this session we will explore the many customization options available and will look at some examples like customizing the UI, notifications, blog themes, profiles or even metrics reports.
This will give you an idea of the various possibilities Connections is offering and should act as a starting point for your own customizations.
turn your connections out of the box instance into your own look and feel - and more
Demo files here :
http://www.dilf.me.uk/demos/CustomizeConnectionsDemo.zip
IBM Connections enables you to connect and socialize with colleagues, find experts, and quickly share and organize information to get work done. As a developer, you can leverage the IBM Connections data to provide a better experience for your users. In this session, you learn what features you can extend, leverage and use to build a compelling experience. The session highlights how best to extend and work with the IBM Connections Cloud.
Updated file adds pointers to other sessions throughout the week.
This is a session which I held at the ICSUG 2015 event in Bremen.
Installation of IBM Connections is very time consuming and lot of the work is repetitive and exactly the same on all deployments. In this session you will see how you can automate the installation of prerequisites, the installation of IBM Connections itself and finally how you can automate post install tasks. Come and see how the silence of the installers help you save a lot of your time.
MAS202 - Customizing IBM Connections - Downloadablepaulbastide
IBM Connections enables you to connect and socialize with colleagues, find experts, and quickly share and organize information to get work done. As a developer, you can leverage the IBM Connections data to provide a better experience for your users. In this session, you learn what features you can extend, leverage and use to build a compelling experience. The session highlights how best to extend and work with the IBM Connections Cloud.
This particular presentation is downloadable and missing some transition graphics which were licensed for viewing.
Customize it! Make IBM Connections look your way Klaus Bild
My session at Dominopoint Days 2013 in Milano
IBM Connections offers endless customizing possibilities in order to change the platform according to your needs . In this session we will explore the many customization options available and will look at some examples like customizing the UI, notifications, blog themes, profiles or even metrics reports.
This will give you an idea of the various possibilities Connections is offering and should act as a starting point for your own customizations.
turn your connections out of the box instance into your own look and feel - and more
Demo files here :
http://www.dilf.me.uk/demos/CustomizeConnectionsDemo.zip
IBM Connections enables you to connect and socialize with colleagues, find experts, and quickly share and organize information to get work done. As a developer, you can leverage the IBM Connections data to provide a better experience for your users. In this session, you learn what features you can extend, leverage and use to build a compelling experience. The session highlights how best to extend and work with the IBM Connections Cloud.
Updated file adds pointers to other sessions throughout the week.
This is a session which I held at the ICSUG 2015 event in Bremen.
Installation of IBM Connections is very time consuming and lot of the work is repetitive and exactly the same on all deployments. In this session you will see how you can automate the installation of prerequisites, the installation of IBM Connections itself and finally how you can automate post install tasks. Come and see how the silence of the installers help you save a lot of your time.
Make Your IBM Connections Deployment Your Own: Customize It!Klaus Bild
This session was held at the Engage UG Event in Breda (NL) 2014.
IBM Connections offers a lot of customization possibilities to enable you to have the platform comply to your corporate standards or exhaustive needs.
In this session we will explore all customization options available and will show you examples on customizations on UI, notifications, profiles, Richtext Editor, metric reports and more.
This will allow you to better decide what you want to customize and should offer you a technical starting point for your own customizations
IBM Connect 2016: 1402 - Getting Technically Cozy with IBM Connections Cloud ...David Simpson
From setting up your development environment to shipping a great new app for your IBM Connections Cloud instance, this session shows you how to achieve all that and more. We define and review a baseline project with basic scaffold code, including a structured layout, events, modules, package conventions, functional skeletons for streams, embedded experiences, apps interactions, native UI/UX dialogs, buttons, and more. We review best practice tips and "gotcha" areas, and provide detailed examples.
Full code samples available at:
https://github.com/dvdsmpsn/ibm-connect-2016-examples/
Open Mic to discuss the new features related to Portal and Web Content Management introduced in version 8.5. We will be covering changes related to themes,
mobile, social integration and WCM changes related to syndication and rich media aspects of the new release.
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
presented by @johnhead and @davidvia
Some organizations are neglecting or under-utilizing one of the greatest IT assets in their portfolio today - the Notes/Domino application platform. Some are even considering re-coding Domino applications in other languages and development tools. In this session we present the business case and technical merits of Notes and Domino in direct comparison to other tools such as Microsoft SharePoint. Based on data collected from real-world engagements we will demonstrate the positive return on investment of the Notes platform. We will also discuss PSC’s “Application Modernization” strategy and how it helps move customers from merely maintaining Notes applications to increasing their value with XPages and advanced collaboration functionality.
These slides provide detailed step by step deployment of the 9.0.1 IBM Notes/Domino OpenSocial Component, Integration with IBM Connections, and Troubleshooting steps.
Open Mic Webcast: "Connections Next - what to expect from the next version "Vinayak Tavargeri
Hello All,
Welcome to this year's (2014) Open Mic Webcast from IBM India Pune Center. We hope to add a lot of value to your experience using IBM Connections.
You are invited to join an Open Mic Web cast on the topic: "Connections Next - what to expect from the next version " presented by our development team .
This event will be held on Thursday 17th July at 1:30 PM India Time (8:00 AM GMT), for 60 minutes. After a presentation, you "ll have an opportunity to ask questions directly to IBM Team.
ARCHIVE - XCC 4.5 Web Content Management Extension for IBM ConnectionsTIMETOACT GROUP
Many companies decide to use their Internet Web Content Management System for their Intranet too. Web Content Management Systems are excellent in top-down communication. IBM Connections is excellent in peer-to-peer collaboration. Using separate platforms for communication and collaboration causes confusion and confronts users and authors with difficult choices: where to publish and where to search content. Governance problems, fragmentation, user frustration and lost potential are the consequences.
The Web Content Management Extension (XCC) enhances IBM Connections with classic Web CMS capabilities and thus integrates the two antipodes of an intranet, i.e. peer-to-peer collaboration with top-down communication. IBM Connections with the Web Content Management Extension XCC creates a beautifully integrated Social Intranet. See an extensive live demo of XCC. Learn how to manage internal communications with IBM Connections and why IBM Connections adoption and ROI will increase with XCC by 50% to 100%.
What's New in XCC 9.0 - Web Content and Custom Apps Extension for IBM Connections
New Features:
- XCC Cloud for IBM Connections Cloud
- FlyOut Page
- Custom Widgets API
- Client-Side-Caching
- Gallery Widget
- Community Overview Widget
and much more..
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...SocialBiz UserGroup
At ConnectED 2015, Theo Heselmans (Xceed/Engage) presented BTE101: Yes, you can use those modern frameworks for mobile Domino development. The session is from the Beyond the Everyday track, which were some of the sexier sessions at the conference.
In this tip from that session, Theo introduces his definition of what a framework/library is and what requirements you need to work with one. He then goes in depth on Bootstrap and Ratchet frameworks, including examples, screenshots and HTML, and his analysis of the good and bad of each.
The full presentation is available in our ConnectED 2015 community. In the full slide deck, he also looks at the Backbone and Knockout frameworks and provides 6 key development resources.
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Davalen LLC
TECH-D13: Should I write my own Builder? Increase productivity by identifying and capturing repeatable design patterns within Web Experience Factory
David Wade, Davalen’s Web Experience Factory Architect
Adam Kewley, Web Experience Factory Lead, Davalen
Description: Writing efficient code in a modular fashion is a fundamental concept in developing quality software that must grow and change as business dictates. Capturing key components for reusability enables your developers to capitalize on shared knowledge through proper use of repeatable design patterns. This session is geared towards IT managers, architects and developers who wish to not only learn how to properly capture design patterns in IBM Web Experience Factory (WEF), but when to spot the need for such mechanisms. Utilizing existing techniques and features within WEF to generate your own library of repeatable functionality. Only available at the IBM Exceptional Web Experience conference, learn from a seasoned lead architect with applicable world-class practical knowledge.
Some topics covered will include:
Breaking down code reuse: builders, models, ljo's (what is this...)
Identifying reuse areas at a project level
How to decide between a builder and a model
Other areas of code reuse (data retrievers, LJO's services)
Pitfalls to avoid
Where Does IBM Web Experience Factory Fit in your Architecture? TECH-D22 from...Davalen LLC
Web Experience Factory (WEF) has matured as a framework and web and mobile solution development tool over the last several years. While the WEF design interface and services enable rapid custom development, too often implementation emphasis has focused more on speed versus how it fits into proper architecture.(The tendency is just start coding)! By its nature WEF allows for many levels of integration, but it still has to be structured in a way that fits proper design. This session is geared towards IT architects and developers and provides guidance to leverage WEF as a part of their overall architectural plan. We will discuss how WEF fits in various combinations of architecture. The goal will be to refer to best practices patterns, identify where WEF “fits” in your plan and to give you a head start on a successful use of WEF in your multichannel solutions.
Topics covered will include
WEF in Architectural patterns
A sample Navigation Pattern in the View
Some Patterns for WEF page automation and profiling
Starting and governing a WEF project including QA
Integrating your unique developer skills with WEF
Make Your IBM Connections Deployment Your Own: Customize It!Klaus Bild
This session was held at the Engage UG Event in Breda (NL) 2014.
IBM Connections offers a lot of customization possibilities to enable you to have the platform comply to your corporate standards or exhaustive needs.
In this session we will explore all customization options available and will show you examples on customizations on UI, notifications, profiles, Richtext Editor, metric reports and more.
This will allow you to better decide what you want to customize and should offer you a technical starting point for your own customizations
IBM Connect 2016: 1402 - Getting Technically Cozy with IBM Connections Cloud ...David Simpson
From setting up your development environment to shipping a great new app for your IBM Connections Cloud instance, this session shows you how to achieve all that and more. We define and review a baseline project with basic scaffold code, including a structured layout, events, modules, package conventions, functional skeletons for streams, embedded experiences, apps interactions, native UI/UX dialogs, buttons, and more. We review best practice tips and "gotcha" areas, and provide detailed examples.
Full code samples available at:
https://github.com/dvdsmpsn/ibm-connect-2016-examples/
Open Mic to discuss the new features related to Portal and Web Content Management introduced in version 8.5. We will be covering changes related to themes,
mobile, social integration and WCM changes related to syndication and rich media aspects of the new release.
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
presented by @johnhead and @davidvia
Some organizations are neglecting or under-utilizing one of the greatest IT assets in their portfolio today - the Notes/Domino application platform. Some are even considering re-coding Domino applications in other languages and development tools. In this session we present the business case and technical merits of Notes and Domino in direct comparison to other tools such as Microsoft SharePoint. Based on data collected from real-world engagements we will demonstrate the positive return on investment of the Notes platform. We will also discuss PSC’s “Application Modernization” strategy and how it helps move customers from merely maintaining Notes applications to increasing their value with XPages and advanced collaboration functionality.
These slides provide detailed step by step deployment of the 9.0.1 IBM Notes/Domino OpenSocial Component, Integration with IBM Connections, and Troubleshooting steps.
Open Mic Webcast: "Connections Next - what to expect from the next version "Vinayak Tavargeri
Hello All,
Welcome to this year's (2014) Open Mic Webcast from IBM India Pune Center. We hope to add a lot of value to your experience using IBM Connections.
You are invited to join an Open Mic Web cast on the topic: "Connections Next - what to expect from the next version " presented by our development team .
This event will be held on Thursday 17th July at 1:30 PM India Time (8:00 AM GMT), for 60 minutes. After a presentation, you "ll have an opportunity to ask questions directly to IBM Team.
ARCHIVE - XCC 4.5 Web Content Management Extension for IBM ConnectionsTIMETOACT GROUP
Many companies decide to use their Internet Web Content Management System for their Intranet too. Web Content Management Systems are excellent in top-down communication. IBM Connections is excellent in peer-to-peer collaboration. Using separate platforms for communication and collaboration causes confusion and confronts users and authors with difficult choices: where to publish and where to search content. Governance problems, fragmentation, user frustration and lost potential are the consequences.
The Web Content Management Extension (XCC) enhances IBM Connections with classic Web CMS capabilities and thus integrates the two antipodes of an intranet, i.e. peer-to-peer collaboration with top-down communication. IBM Connections with the Web Content Management Extension XCC creates a beautifully integrated Social Intranet. See an extensive live demo of XCC. Learn how to manage internal communications with IBM Connections and why IBM Connections adoption and ROI will increase with XCC by 50% to 100%.
What's New in XCC 9.0 - Web Content and Custom Apps Extension for IBM Connections
New Features:
- XCC Cloud for IBM Connections Cloud
- FlyOut Page
- Custom Widgets API
- Client-Side-Caching
- Gallery Widget
- Community Overview Widget
and much more..
Tip from ConnectED 2015: Using Bootstrap and Ratchet frameworks in Domino mob...SocialBiz UserGroup
At ConnectED 2015, Theo Heselmans (Xceed/Engage) presented BTE101: Yes, you can use those modern frameworks for mobile Domino development. The session is from the Beyond the Everyday track, which were some of the sexier sessions at the conference.
In this tip from that session, Theo introduces his definition of what a framework/library is and what requirements you need to work with one. He then goes in depth on Bootstrap and Ratchet frameworks, including examples, screenshots and HTML, and his analysis of the good and bad of each.
The full presentation is available in our ConnectED 2015 community. In the full slide deck, he also looks at the Backbone and Knockout frameworks and provides 6 key development resources.
Should I Be Writing My Own Web Experience Factory Builder? TECH-D13 from IBM ...Davalen LLC
TECH-D13: Should I write my own Builder? Increase productivity by identifying and capturing repeatable design patterns within Web Experience Factory
David Wade, Davalen’s Web Experience Factory Architect
Adam Kewley, Web Experience Factory Lead, Davalen
Description: Writing efficient code in a modular fashion is a fundamental concept in developing quality software that must grow and change as business dictates. Capturing key components for reusability enables your developers to capitalize on shared knowledge through proper use of repeatable design patterns. This session is geared towards IT managers, architects and developers who wish to not only learn how to properly capture design patterns in IBM Web Experience Factory (WEF), but when to spot the need for such mechanisms. Utilizing existing techniques and features within WEF to generate your own library of repeatable functionality. Only available at the IBM Exceptional Web Experience conference, learn from a seasoned lead architect with applicable world-class practical knowledge.
Some topics covered will include:
Breaking down code reuse: builders, models, ljo's (what is this...)
Identifying reuse areas at a project level
How to decide between a builder and a model
Other areas of code reuse (data retrievers, LJO's services)
Pitfalls to avoid
Where Does IBM Web Experience Factory Fit in your Architecture? TECH-D22 from...Davalen LLC
Web Experience Factory (WEF) has matured as a framework and web and mobile solution development tool over the last several years. While the WEF design interface and services enable rapid custom development, too often implementation emphasis has focused more on speed versus how it fits into proper architecture.(The tendency is just start coding)! By its nature WEF allows for many levels of integration, but it still has to be structured in a way that fits proper design. This session is geared towards IT architects and developers and provides guidance to leverage WEF as a part of their overall architectural plan. We will discuss how WEF fits in various combinations of architecture. The goal will be to refer to best practices patterns, identify where WEF “fits” in your plan and to give you a head start on a successful use of WEF in your multichannel solutions.
Topics covered will include
WEF in Architectural patterns
A sample Navigation Pattern in the View
Some Patterns for WEF page automation and profiling
Starting and governing a WEF project including QA
Integrating your unique developer skills with WEF
Video: http://www.youtube.com/watch?v=P2BfNglvpG0
Speaker:
Vincent Burckhardt, @vburckhardt
IBM, Software Engineer – Dev Lead IBM Connections News
Abstract:
Developers and administrators can extend the IBM Connections user interface with new capabilities, and replace existing capabilities that are shipped with the product by developing their own iWidgets using the iWidget specifications and integrating them with IBM Connections.
The webinar will start with an overview of iWidgets specifications, and then dive more in details on the deployment and development of iWidgets for Profiles, Communities and Homepage services. Finally, the session will give a few good practices in iWidget development for Connections.
IBM Connections administration – keep your systems running the right wayLetsConnect
You have IBM Connections installed but now you are unsure what you need to do to keep the lights on the servers running smoothly.
User account synchronization, Database maintenance, reviewing the log files for errors, …
There are many of tasks for an IBM Connections admin – let us tell you how to schedule them into daily, weekly, monthly or even quarterly tasks.
Learn what you need to deal with immediately and which tasks you can schedule for later.
Take home some useful scripts, life saving settings and a sample schedule for your admin work
DEV-1269: Best and Worst Practices for Deploying IBM Connections – IBM Conne...panagenda
It’s back. For the 3rd year in a row. Depending on deployment size, operating system and security considerations you have different options to configure IBM Connections. This session will show good and bad examples on how to do it from multiple customer deployments. We will describe things we found and how you can optimize your systems. Main topics include simple (documented) tasks that should be applied, missing documentation, automated user synchronization, TDI solutions and user synchronization, performance tuning, security optimizing and planning SSO. This is valuable information that will help you to be successful in your next IBM Connections deployment project. Don’t miss it.
A presentation by Christoph Stoettner (panagenda Consulting)
IBM Connect 2017: Refresh and Extend IBM Domino ApplicationsEd Brill
This session covered new capabilities such as additional REST APIs coming in future feature packs of IBM Domino; IBM's partnership with Panagenda ApplicationInsights; and partners such as Darwino, We4IT's Aveedo, and Sapho that provide tools to modernize corporate and situational applications.
BP 308 - The Journey to Becoming a Social Application DeveloperSerdar Basegmez
IBM Connect 2014 session, Serdar Basegmez and Graham Acres.
Absract: You probably have heard about the Social Business Toolkit SDK but do you know what it is and what it's really about? Yes, it's XPages, it's JavaScript, and it's Java, and it works with Domino, Connections and SmartCloud, but what about the other apps that your users are asking for? What about Dropbox, Twitter and other platforms? This session will give developers a strong foundation to build on. You will learn the tools to use and invest in, the place to start and the roadblocks to avoid when building your skills. You will leave with practical examples and code samples to show you how easy it is to extend your apps and bring the power of Social Business to your organization.
"Standing on the Shoulders of Giants" by Brian King @ eLiberatica 2008eLiberatica
This is a presentation held at eLiberatica 2008.
http://www.eliberatica.ro/2008/
One of the biggest events of its kind in Eastern Europe, eLiberatica brings community leaders from around the world to discuss about the hottest topics in FLOSS movement, demonstrating the advantages of adopting, using and developing Open Source and Free Software solutions.
The eLiberatica organizational committee together with our speakers and guests, have graciously allowed media representatives and all attendees to photograph, videotape and otherwise record their sessions, on the condition that the photos, videos and recordings are licensed under the Creative Commons Share-Alike 3.0 License.
This is a presentation by Google Developer Advocate Chris Schalk given to a Software Developer workshop hosted by CyWorld, a new OpenSocial container. This was presented to about 200 software developers in Seoul, Korea, Sept. 2009.
GDSC USICT organized an “INFO SESSION”. In this event the leads of all the teams introduced themselves to all the students and informed them about the benefits of joining GDSC. Leads gave students a broad idea about the technologies they would be working on and how it would help the students to solve real-life problems of society and to grow themselves.
Building an Open Source iOS app: lessons learnedWojciech Koszek
Building an Open Source iOS app: lessons learned
Dec 12, 2016, Hacker Dojo (Santa Clara), 6pm
In this talk I'm going to talk about lessons learned from building Sensorama (http://www.sensorama.org), an Open Source sensor platform for data science. The main theme of the talk will be Open Source: what is great about it, what is bad and how you must become a part of the Open Source community to really move quickly and benefit from it. For this project, I did both the code and the design, so you'll have a chance to see how solo-developer deals with time/feature constraints, which tools I've used and what my approach towards development in this mode is. In other words: I'll tell you what I did to stay sane. If the iOS development were a walk in a dark city park, this talk may turn out to be your flashlight. If you like it, star it at GitHub: https://github.com/wkoszek/sensorama-ios
Agenda
https://www.meetup.com/svmobiledev/events/235836893/
Materials
https://github.com/wkoszek/talks/tree/master/svmobiledev2016
Some links from the slides
Fake it till you make it presentation https://developer.apple.com/videos/play/wwdc2014/223
Designing for Future Hardware https://developer.apple.com/videos/play/wwdc2015/801/
References
WWW: http://www.sensorama.org
GitHub (code): https://github.com/wkoszek/sensorama-ios
GitHub (artwork): https://github.com/wkoszek/sensorama-artwork
Author
WWW: http://www.koszek.com
Twitter: https://twitter.com/wkoszek
LinkedIn: https://www.linkedin.com/in/wkoszek/
Email: wojciech (at) koszek.com
Ibm worklight - going from xpages mobile to native mobile applicationsMark Roden
Abstract
In this session John and Mark will demonstrate how an XPages developer can make the simple, practical, logical evolution from XPages to IBM Worklight developer.
Have you ever wondered how to easily integrate a mobile phone native feature set with your corporate web applications? We will show that any XPages developer currently building mobile-accessible websites already has the skillset to build native mobile apps using IBM Worklight. We will cover installation, setup, similarities in designer clients, the test environment, the skills necessary and provide a working example.
You have the skills, you have the knowledge. Your only challenge is to come to the session and understand how to make this work. Go from HTML5 to native in minutes.
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
Adding social features to new or existing applications has never been easier with the advent of the Social Business Toolkit SDK. At this session we will discuss how social features can add real business value and you will see how easily they can be built using the SDK. The SDK heralds a transformation is how you develop applications on the IBM Social Platform so come along learn more.
Introduction to (web) APIs - definitions, examples, concepts and trendsOlaf Janssen
This story is about the added value of APIs (application programming interfaces) for modern businesses, developers and software consumers. It deals with API-fundamentals and shows how APIs are the cornerstones of modern business development (BizDev2.0). By looking at casestudies from Google Maps, Twitter, Amazon, eBay, Moo, Flickr, Netflix and other web2.0-companies, it becomes clear how APIs add value for all parties on the modern web.
This presentation was given by Olaf Janssen - Open Data coordinator for the National Library of the Netherlands (KB) - as a lecture for students of the master's course "Digital Access to Cultural Heritage" at Leiden University on 13-3-2014
Similar to Becoming an IBM Connections Developer (20)
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
4. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
5. Before we begin…
Just a quick mention that we will be discussing IBM® Connections® extensively,
may very well mention IBM® Notes® and possibly refer to it as Lotus® Notes®
out of habit, in which case we really mean IBM® Lotus Notes®.
We’ll discuss and be spending a lot of time with IBM® WebSphere®
We think that covers it, because we won’t be talking about any of these other IBM
trademarked products:
– BooleDozer®
– Chiphopper™
– Decade of Smart™
– Integrate in Days®
– LOVEM®
– NameVariationGenerator®
– Pearl Diver®
– The Experience of Now®
– First Failure Support Technology™
5
6. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
7. Assumptions and Goals
You are a Domino developer (or a new developer)
Your knowledge of WebSphere is similar to your understanding of the Higgs Boson
Your skill level with general web technologies (HTML, JavaScript, Java™, CSS,
etc.) is anywhere from nonexistent to expert
With all the commotion about IBM Connections, you want to know enough to start
customizing it and “get” the development methods
After this session, you should “get it” just enough to be dangerous!
7
8. The Path to “Getting It”
Well, you’re here so that’s a good start
Terminology – taxonomy, glossary, language, wording.
Context – without which all the terminology in the world is a bit useless!
Framing – the ability to envision solutions in context, then describe them in
language that can be understood by both technical and nontechnical people
8
9. The language of Connections Development
Common language for a Domino
developer:
– HTML
– JavaScript
– CSS Middle ground (you might be familiar):
– Eclipse – WebSphere Application Server
– Branding – Integrated Solution Console
– REST API
– Activity Streams Less common:
– oAuth
– OpenSocial
– Shindig
– iWidget
– OSDE
9
11. So let’s discuss those hard words…OAuth
OAuth
– An open protocol to allow secure authorization in a simple and standard method
from web, mobile and desktop applications.
– The OAuth 2.0 authorization framework enables a third-party application to obtain limited
access to an HTTP service.
– You are either a consumer or a service provider, developing anything from widgets to
server-side APIs
– Code libraries are available from Google Code for many languages – Java, JavaScript,
Perl, Ruby for example
– To get started: http://oauth.net/documentation/getting-started/
11
12. So let’s discuss those hard words…OpenSocial
OpenSocial is a set of APIs that allow you to either
– Build social features into your site
– Let your users access social data on your site via REST
– The OpenSocial APIs provide three types of information: Person, Activity, and AppData
– Most commonly, OpenSocial apps implement OAuth (see how that fits!)
– Connections fully supports the OpenSocial specification for both creating new features
and accessing external social site person, activity or app data
– Opensocial.org
12
13. So let’s discuss those hard words…Shindig
Apache Shindig
– An OpenSocial container (layers…) that helps you start hosting OpenSocial apps quickly
by providing code to render gadgets, proxy requests, and handle REST and RPC
requests
– Stated goal: Apache Shindig's goal is to allow new sites to start hosting social apps in
under an hour's worth of work.
– We’ll dig deeper into Shindig later in the session – in fact we’ll install and use it
13
14. So let’s discuss those hard words…iWidget
iWidgets are based on an IBM spec and used in a number of products
– They are what you think they are – bits of code that make squares that do things!
– De-emphasizing them as time goes on, with the increased use of OpenSocial gadgets
– Still, they are used in Connections so we’ll spend some time in the next section
– http://www.ibm.com/developerworks/web/library/wa-iwidgets/index.html
14
15. So let’s discuss those hard words…OSDE
OpenSocial Development Environment
– An Eclipse plugin from OpenSocial.org that gives the IDE amazing superpowers
– OK, gives the IDE a Shindig container, sample code, and a new perspective
– Think of it as a nice way to put together all the resources you need for development and
local testing of OpenSocial gadgets
– We’ll install and use OSDE in this session
15
16. Now for some context
Connections 4.0 is a big product with a lot of social features
“Work” is social, technical, managerial, and uses many other non-social systems
By treating Connections as a social platform we start to see ways to:
– Use Connections social data to improve other systems and applications
– Integrate systems so attention is divided less and less (embedded experience)
– Brand the social experience, and add company-specific requirements
– Make use of common and emerging use patterns to make “work” more natural
The way to treat Connections as a platform is to understand the ways it can be
used – out of the box and programmatically
16
17. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
18. OpenSocial Evolution
OpenSocial
– MySpace
– iGoogle (Google Gadgets)
– Lots of other networks
– Time passing
– Big companies saying “hmm,
that’s actually pretty good”
opensocial.org – supported by a foundation, community membership,
corporate involvement
OpenSocial spec: Currently in draft version 2.50, it is a set of APIs for building
social applications that run on the web
19. OpenSocial Development
It’s HTML, JavaScript, REST, XML, JSON and Java
Google ran development under iGoogle Developer Program, then moved to
OpenSocial.org
OpenSocial Development Environment, OSDE, is available as an Eclipse
plug-in
We are here to get you to “dev-ready” so let’s dive into OSDE
20. OSDE
http://code.google.com/p/opensocial-development-environment/
Requires: Eclipse (classic recommended) and a JVM
21. Eclipse Naked
Here’s Eclipse with not
much going on
I happen to have Aptana
installed for a Web
perspective, but no
projects loaded
We want to add OSDE to
Eclipse
22. Let’s Get OSDE
Adding new software to
Eclipse is pretty easy once you
know where the menus are
In this case, we click Help ->
Install New Software
23. Selecting a site
In the first dialog, we
paste the location of the
XML file representing the
new software we want to
install in “Work with”
http://opensocial-
development-
environment.googlecode.c
om/svn/update-
site/site.xml
24. It’s the only option, we might as well take it
Select “OpenSocial”
26. OMG
“Unsigned content” is actually pretty common in the open source, free world
In this case, I think we’re OK to proceed
27. Still Naked
Nothing appears to
have happened, a
little counterintuitive
but expected
Change Perspective
To see our OSDE
environment, we
have to change to
the OpenSocial
“perspective” in
Eclipse
31. New menu items
Shindig, a fun name and
a container
iGoogle, which is familiar
but going away
Sample data!
32. Don’t get too excited
Resist the temptation to start clicking around on the iGoogle and sample data
menu items – they are accessed at specific times in development
Well this looks
tempting..
Well this looks
interesting...
33. What now?
Starting points are documented as iGoogle, but once you get there you
realize it’s retiring
iGoogle developer resources are deprecated
iGoogle website going away 1 November 2013, dev site already stale
Deduced: Use OSDE website
for development resources
34. Start our local Shindig server in Eclipse
Start Shindig server
Ooh, look at all the new tabs!
35. Shindig?
Apache Shindig is a container for hosting social applications consisting of four
parts:
– Gadget Container JavaScript
– Gadget Rendering Server
– OpenSocial Container JavaScript
– OpenSocial Data Server
Also, Shindig is a reference implementation of the OpenSocial API specifications
which includes:
– Profiles
– Relationships
– Activities
– Shared applications
– Authentication
– Authorization
36. Let’s start an OpenSocial project
New – Project –
OpenSocial
Provide the project with a
name as shown
37. Now we have ourselves a gadget!
This goes quickly for a
sample project!
Leave the gadget.xml file
name as is, add in an email
address and description
Leave the version number
as shown 0.9 (or the latest
in your installation if you are
doing this later)
38. Sample code? Yes!
For the view settings for canvas
(the area of the screen in read
mode) yes, let’s generate a set
of a sample code
Also make a choice of what to
do with the sample code
We chose to fetch a list of
friends for a user
39. Let’s do this too
Make the same choices for the
Profile view
40. Like magic, an app
Our gadget.xml file
appears in a “form-
like” mode, note the
tabs on the bottom
of the IDE to move
to Source
41. Run the app locally
So we have a sample app,
a running server, do what
any good developer would
do
Right click the gadget.xml
file in the app explorer or
navigator, and choose
OSDE – Run application
locally
42. Slight differences (0.8 vs. 0.9)
For illustration purposes only, we’re running the 0.9 version on the right…
0.8
0.9
44. A closer look (hint, notice the port)
You can see from the tab that this is the “app” and that we’re in the canvas
view
Take note of the port 8123 here, we’ll use it in a moment
45. And...voila. Results.
Click on “Fetch people and friends” and our gadget writes out a list of our
(conrad.doe’s) friends
46. Create a Java Project
So we can do some gadgety
UI stuff, can we write some
“real” code already?
This is where the Java
developers all have a laugh
Right click gadget.xml again,
choose OSDE – Create Java
Project for Restful Protocol
47. Give it a different name
We’re creating another
project, so just give it a
different name from the first
one, click Next
48. Accept these defaults
The project will want to create
some default folders, leave
them as is
49. Switch perspectives
Eclipse will ask you if you want to switch perspectives as it finishes the
project, feel free to click Yes
52. Does our code run?
Now that we have Right-click gadget.xml
a project we can
try to run it as a
Java Application
Right click the
gadget.xml file
again, Run as –
Java Application
53. oops...
We see an error and can deduce from the text that it has a problem with the
$server_port$ placeholder
This appears to be a bug in the current OSDE plugin as we can’t find a
preference for the port, so…
54. Not too bad
Changed port to 8123
Run application again, now we have results
55. Summary (OSDE)
OpenSocial is the future of gadget development for IBM Connections
OSDE is a community-supported Eclipse based plugin for development
You likely have the hang of Eclipse based IDEs if you’re here
56. Topics we hinted at (OSDE)
Performance measurement – requires Firefox (see preferences)
Shindig container and Jetty engine
Testing against iGoogle (tick tock...)
Mobile (OpenSocial is the only method for custom apps – widgets or gadgets
– to go mobile from Connections...)
For more on these topics: https://sites.google.com/site/opensocialdevenv/
And...other sessions here at Connect 2013
58. Developer Mode
Ask an admin to follow the instructions to enable developer mode:
http://public.dhe.ibm.com/software/dw/lotus/OS_gadget_IC4_final.pdf
They will say no.
Ask again, nicely.
62. Testing an embedded experience widget
From the bootstrap page,
if we “Load” a widget Load Post
that will make it
available to use or
perform some action
Loading the embedded
experience widget
lets you click a button
to post to your activity
stream
63. Sample Embedded Experience Gadget
From the bootstrap
page,we posted the
widget to our activity
stream in one area – “I’m
Following”
Clicking on the post
(blue) opens the
embedded experience
where other code might
take replies, let you
perform some other
action, etc.
64. Deploying a Gadget in Developer mode
Load
Back to our bootstrap
page, we can deploy
a gadget using the
same exact method
Once we Load the
gadget, we can go
use it wherever we
have decided in the
code to allow it to live
65. Change some settings
Don’t worry if they don’t persist yet
As an admin, add the widget to the homepage:
66. IBM & Partners: Hint - these are your admins
Note: This one got a little tricky, since
using a prepared VM we didn’t know who
was an admin.
A quick check in the Integrated Solutions
Console provided the list of admin IDs
In other words, ask your admin!
Yes, that’s TWO interactions with an
admin that I’ve mentioned
67. Add widget to My Page
Give it a go...the admin can add a widget to the page using the Customize
menu
68. Finished sample
This gadget is one of the
samples that comes with the
bootstrap page, it lets you set
some basic preferences in edit
mode
Obviously your gadgets will do
something more exciting in
read mode, but this is a good
template to follow for
preference settings in your
code
69. iWidgets
The most common way to add functionality to Connections 2 & 3
Based on an IBM specification and used in Lotus Mashups® (later IBM Mashup
Center®) and various other products
Little written about iWidgets in 3 years, but they still are valuable if you can
accept:
– Decline in documentation over time
– Lack of support for mobile
That said…
69
70. iWidgets definition
iWidget is an internal IBM specification that defines a standard way to wrap web
content and allow that content to participate in a Connections environment. In
order for widgets to participate in a mashup environment, they must be
componentized. The iWidget specification provides mechanisms for creating
iWidgets as componentized web content
An iWidget acts as a wrapper for any web content that you create, such as
servlets, JavaServer Pages (JSP) files, HTML, PHP, or CGI, can be wrapped in
an iWidget
The iWidget component provides a descriptor that wraps the web content and
allows it to be placed in another application that can render the web content
It can contain markup that is rendered and can be supported by JavaScript™ files
for dynamic client-side scripting and CSS files for styling the markup
70
71. Structure of an iWidget
Page
– The larger entity composed for presentation to a user. A page can include widgets from
different sources that do or do not display visibly on the page. The resources within a
page can include DOM elements, JavaScript™ variables, and functions.
iContext
– The context of the iWidget runtime environment manages the iWidget. This context
includes any user interface (UI) controls, coordination between iWidgets, and interaction
with the backend service.
Markup fragment
– A view that the iWidget produces for users. An iWidget can present multiple fragments
simultaneously to users.
71
72. Structure of an iWidget (cont’d)
ItemSet
– The attributes of an iWidget that control content presentation and data sources.
Examples: an attribute named bgColor that controls the background color of the iWidget,
an attribute named feedURL controls the RSS feed that the iWidget connects to or
renders.
Mode
– An iWidget piece of the iContext managed state that tells the iWidget what type of
markup to generate for the user. View mode uses normal markup and edit mode uses
markup for editing the iWidget attributes.
Events
– A mechanism that provides a transitory means of sharing information. There are two
types of events: a published event, which means the iWidget publishes some data by
this event, and the handled event, which means the iWidget receives some data from
other iWidgets.
72
73. Developing a Widget
Starting from scratch? Never.
Many iWidgets available for download (greenhouse.lotus.com/catalog) and able to
be built using developer resources on other sites, like Twitter
We’ll start with a widget developed by Luis Benitez, IBM Senior PM for
Connections
73
74. Components of an iWidget
Widget definition file (XML)
Usually, a JavaScript file
Sometimes, for IFRAME widgets, an HTML file
Other supporting files as needed
If deployed via WAS, possibly an EAR file
74
76. Copy to web server (easiest method)
Take note of the path to the
“htdocs” directory
This is the IBM HTTP
server’s equivalent of
Domino’s HTML directory
from a path standpoint
76
77. Ensure the XML file is addressable – if not, check permissions!
77
78. Let Connections know we want to use the widget, and where
Production method: Ask admin to use wsadmin to check out the widgets-
config.xml file and make these edits to the community section
Responsible developer method: Use wsadmin to check out the widgets-config.xml
file and make these edits
Development box/stage method: Pay no attention to the man behind the curtain!
Modification to widgets-config.xml:
– <widgetDef defId="TwitterSearch"
url="http://<hostname>/widgets/TwitterSearch/twitterSearchWidget.xml" modes="view
edit" primaryWidget="false" iconUrl="http://www.twitter.com/favicon.ico"
uniqueInstance="true"/>
Restart Connections
78
79. Find our widget
Since we added the widget definition to widgets-config.xml in the Community
section, it will be available in Communities
As a community moderator, enter a community and click “Community actions ->
Customize” to open the panel of available widgets and gadgets
79
82. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
83. Connections SPIs
SPI: Service Provider Interface
– Event, Seedlist, Service and User SPIs
These SPIs allow you to extend functionality in ways commonly associated
with “the back end”
Examples:
– Niklas Heidloff wrote an Event SPI to automatically add persons to Notes database
ACLs (access control lists) when community moderators add people as members
– Our sample from IBM AU is an Event SPI that sends an email to someone when
they are mentioned in a comment (in the Files app, when formatted a specific way)
Technologies:
– Java (primarily), but as a service can be consumed by pretty much anything on the
other end…
Tools:
– Eclipse (or RAD)
84. Connections SPIs
Sample code is
available on the
Connections wiki
I loaded the
sample into a
blank file in
Eclipse
Saved as a JAR
file (right click –
Export-JAR)
Or, you can
deploy the JAR
file sample
85. Location is key to deploying SPI programs
Deploying an SPI
application is a multi-step
process
Copy the JAR file to a
directory on the server
that has full access rights
Note the entire path as it
is used to set the
classpath in a moment
Location becomes
the classpath
86. Now tell WebSphere ISC where it is...
Log into
WebSphere
Integrated
Solutions
Console
Choose the
Choose cell scope
Environment-
Shared Libraries
and choose the
cell scope
91. Left to Right...
OK OK Save!
Note that our names reference library is available – just use the arrow key to
move it from Available to Selected
92. Depending on what your Event SPI does, test
In our case it’s designed to send an email (or at least try)
To determine if it loaded properly, ask your admin for (or find) the current
systemout.log file and search for your class name
Common issue has been ClassNotFoundException errors, which have one of a
number of causes:
– Could be compiler version (1.5 vs. 1.6 or 1.7)
– Could be file or folder permissions
– Could be a typo on the classpath (that’s what mine was)
92
93. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
94. REST APIs
Activities, Blogs, Bookmarks, Communities, Files, Forums, Profiles, and
Wikis...and Home page
Technologies:
– All of them, depending on where your program lives
Tools:
– Web browsers, plugins, HTTP request generation tools (cURL)
97. Suggested tools
Firefox: RESTClient
Chrome: Advanced REST Client
For more advanced work:
– Selenium IDE
– HTMLUnit
– JWebTest
– Canoo WebTest
– Apache JMeter
98. Example: RESTClient for Firefox
Download and install the
plugin for Firefox using the
Firefox menu (which changes
slightly over versions, so we
won’t list menu items here)
RESTClient will be available
in the menus and (in version
18 anyway) as an icon in the
address bar
99. Response Headers
To receive a response, enter a URL and the GET method, and click SEND
103. Example 2: Advanced REST Client for Chrome
Similar to Firefox,
Chrome has add-ons
Advanced REST Client
has a number of nice
features including a
history and the ability to
save REST calls – which
can get complex at times
104. Redirect, Status, and Headers
Header data returned from the same call is fairly verbose, good for
troubleshooting
105. Response - Raw or XML
In some instances, if JSON is returned there will be a JSON tab
106. Browser or Tool Choice?
Both browser plug-ins have options to add authentication, modify headers,
use OAuth
Suggest having both handy for lightweight testing
Heavier tools as needed for debugging, language specific needs
Then there’s our friend Eclipse...
107. REST Client tool from Eclipse labs
Similar to our OSDE plugin, we
can add a REST client to
Eclipse
It’s not pretty but it’s functional
Location is:
https://svn.codespot.com/a/ecli
pselabs.org/restclient- 1
tool/trunk/eclipse/update/ 2
(If you’re into subversion and
want to see the source you
can – not in the scope here…)
108. Once installed, it’s well-hidden!
Window -> Show View ->
Other -> REST Client ->
RestClient Tool
111. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
112. Themes
Technologies:
– HTML, CSS, JavaScript, JSPs
Tools?
– Your choice...ours is Eclipse + Aptana + Subversion
– Let’s review some of the “tools of the trade” that are used outside the IDEs
113. Remote File Management Tools in a Unix/Linux World
Terminal window
– Native Mac/Linux
– PuTTY for Windows
Unix SCP/SFTP or Client
• CyberDuck (Mac & Windows)
• Fugu (Mac)
• WinSCP (Windows)
• FileZilla (Mac, Windows & Linux)
Unix SCP command (Secure CoPy)
– scp user@FromHost:/location/file user@ToHost:/location/
– sftp/ftp command
113
115. Or the Easy Way: SFTP Client (in our case, Fugu Login)
You may have noticed
by now our tools are
primarily on our Macs
Platform doesn’t matter
until you get into
specific integration with
another system that has
a platform limitation
For instance, integration
with Domino
applications may
require Domino
Designer
117. Note About SFTP: Be nice to your admins
SSH must be installed on the server
Port 22 or equivalent must be available to you
You will need Read & Write privileges to the file system
You now you wish you were nicer to your Administrators last week
117
118. Directory specified in login if your client provides this feature
This slide simply illustrates the target
directory for the AppServer
Some clients (like Fugu) let you specify a
“starting directory” which can be quite nice,
because as you will soon see, directories in
WebSphere are very very deep!
119. Customizing the Header JSP
Why? We want to do something you can’t do easily with CSS (for illustration)
Method: Find the default JSP and modify a copy of it
Location of the default JSP is determined by the Connections installation
Location:
{WAS_HOME}/profiles/{profile_name}/installedApps/{cell_name}/{application_n
ame.ear}/{application_name.war}/nav/templates/{files}
Mine looks something like this:
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/installedApps/connection
swwCell01/Common.ear/connections.info.war/nav/templates/header.jsp
119
122. Copy the file to your local workstation (Eclipse project folder)
Never, ever, ever make changes in-line live to the JSPs on the Connections
server, your admin will hunt you down
123. Edit file in Eclipse Java EE editor
Another editor or
perspective can be
used, but may lack the
convenience of the
Outline
The Eclipse IDE can
offer version control and
facilitate collaborative
development
Built-in mini Web server
124. We are going to change the text logo in the header.jsp
124
127. Now you need to know where to put your customized JSP
Not knowing where to put things can be frustrating
You don’t have to configure your IDE to compile JSPs
Connections will do it for you
You don’t have to configure Tomcat in your IDE
In all fairness, you can use Notepad if you like
127
128. Open the Integrated Solutions Console (ISC)
URL: https://{host}:9043/ibm/console/login
Navigate to the ISC console
The default port is 9043
Shows you where things are located
Locations are based upon the installation
135. In case you thought that was too easy
It was
But you learned something about
– The location of source files
– How to download and change a common JSP page
– Where files go
– And how to apply your changes
Now let’s do it again (sort of)
135
136. Try to do most customizations with styles
Next we will create a
custom CSS to load a
corporate logo instead
of words in the upper
left corner
In Eclipse, create a
New - File
137. Create a file called “custom.css” in your IDE project
147. Notes about Styles:
Use styles to make theme changes when possible
There are two special css file names you can use:
– custom.css
– defaultTheme.css
When you stop & start the application the themes are combined
Which one you use depends on the level of changes you are making
Use custom.css for minor changes
Use defaultTheme.css for a major overhaul
147
157. Copy and paste the live changes to the custom.css file
Missed by many developers, live Firebug / Dev Tools changes are one of the most
powerful time saving techniques!
161. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
162. Integrating the Connections business card
Why?
– The Connections business card is the entry point to several social data links
related to a person
– If enabled, the business card may have Sametime enabled, providing a
lightweight IM integration
Basic steps:
– Add JavaScript library to page header
– Add API links to page either statically or dynamically
162
164. Notes about developing a business card
If profiles require authentication anonymous users cannot see the business
card and will get a basic authentication popup
You will need to style the business card
Due to browser security the business card integration will only run from a web
server (no local HTML files for development)
164
165. Eclipse built-in Web Server (localhost)
Eclipse gives us a
local web server to
test web apps that
are simple and have
few dependencies
With the HTML file
open in the IDE,
choose from the
menu Run-Run As-
JavaScript Web
Application
165
166. Business card options
Two presentation types
– Popup
– Inline
Two basic options
– Lookup by ID
– Lookup by email
166
167. About page with different styles of business cards
Popup business card using user
ID
Popup business card using email
address
Inline style using email address
167
168. The business card needs to be styled: two options
The below instructions are for the target HTML / JSP etc. page where you
want the business card integrated, not the Connections server!
Option 1: Use the Connections style sheet, which is called by a specific
script
– <script … /semanticTagService.js?inclDojo=true">
Option 2: Use your own style to make the business card match the rest of
the site and resolve style conflicts
– <script … /semanticTagService.js?inclDojo=false">
168
169. Add the JavaScript library to <HEAD> tag
<HEAD>
<script type="text/javascript"
src="http://yourserver.com/profiles/ibm_semanticTagServlet/javascript
/semanticTagService.js?loadCssFiles=true"></script>
</HEAD>
169
172. Combined site styles with business card styles
By using Firebug or
Developer Tools to
capture styles, we can
choose which few need
to be updated either
inline or in our own
CSS
172
173. Add the JavaScript library to <HEAD> tag
Switch parameter to false to prevent dynamic loading of default style
<HEAD>
<script type="text/javascript"
src="http://yourserver.com/profiles/ibm_semanticTagServlet/javascript
/semanticTagService.js?loadCssFiles=false"></script>
</HEAD>
173
180. Use the Firebug DOM tab to browse DOM objects in memory
180
181. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
182. Two open source efforts are worth more than a mention…
IBM Social Business Toolkit SDK
– You could call this a “Connections SDK” – almost – but the toolkit has many more
target platforms including standalone
– Find guys named Ryan Baxter, Philippe Riand, or Paul Bastide in the
– Covered in a number of sessions:
• INV110 : App Dev Strategy: Coding Social Business Applications
• AD101 : Social Applications Made Easy with the New Social Business Toolkit
SDK
• AD401 : Developing Integrated Applications with the Social Business ToolKit
• BPDD205 : Develop to the IBM Social Business Platform - Building Social
Applications
– Available on OpenNTF.org, speaking of which…
OpenNTF.org Connections submissions
– BP212 : Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from
OpenNTF
– BOF208 : OpenNTF: The Open Source Community for IBM Collaboration Solutions
182
183. Agenda
Session assumptions and goals
Language and context
OpenSocial & iWidgets
Connections SPIs
REST APIs
Branding & Themes: HTML, CSS, and JSPs
Connections business card integration
Open source overview
Resources, other sessions and Q & A
184. Resources
The official doc: http://www-
10.lotus.com/ldd/lcwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Connection
s+4.0+documentation#action=openDocument&content=catcontent&ct=prod
Doc
Developerworks articles:
http://www.ibm.com/developerworks/lotus/products/connections/
Luis’s blog: http://www.lbenitez.com
Humbly, my blog: IBMRockStar.com
184
185. Then there are outstanding “human” resources
Besides the Connections team in the labs of course…
Besides the product management team…Luis Benitez being the most
prolific…
Put on your Google hats and seek out writings and samples by these
awesome community contributors (for development…):
– David McMullin (IBM)
– Niklas Heidloff (IBM, also OpenNTF)
– Xujin Liu (IBM)
– Chuck Connell
– Sjaak Ursinus (@sursinus) (IBM Champion!)
– Mikkel Heisterberg (@lekkim) (IBM Champion!)
185
186. Relevant IBM Connect 2013 sessions
In no particular order
– BOF403 : IBM Connections 4: Enhancement Ideas from Connections Users
– INV211 : The New Social Business Paradigm with OpenSocial
– AD104 : IBM Connections Activity Stream Integration
– AD105 : Customizing and Extending IBM Connections
– BP209 : In The Land of Social Apps, the API is King
– JMP202 : Extending IBM Connections to Build an Exceptional Social Learning
Platform
– JMP102 : Extending Your App Arsenal With OpenSocial
– BPDD305 : Making Your Notes/Domino Applications Social
186
187. The Path to “Getting It”
Well, you’re here so that’s a good start
Terminology – taxonomy, glossary, language, wording.
Context – without which all the terminology in the world is a bit useless!
Framing – the ability to envision solutions in context, then describe them in
language that can be understood by both technical and nontechnical people
187