BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
DOTS (Domino OSGi Tasklet Service) allows developers to create tasklets outside of the Notes client to perform background tasks on the Domino server. Tasklets can be run on a schedule or manually and outperform Java agents. To use DOTS, it must be installed on the Domino server and Eclipse is used for development. Tasklets are developed as OSGi bundles and can be deployed to the server through a jar file or update site. Logging, progress monitoring, and annotations help developers code efficient tasklets. Multiple profiles allow isolating tasklets from each other.
This document provides an overview of creating and deploying OSGi plugins for the Domino HTTP task. It discusses setting up the Eclipse development environment with the necessary prerequisites like the Domino OSGi target platform and the Notes.jar plugin. It then demonstrates creating a simple "Hello World" servlet plugin that runs on the Equinox HTTP service, and deploying/debugging it using the PDE tool directly from Eclipse.
BP207 - Meet the Java Application Server You Already Own – IBM DominoSerdar Basegmez
This document discusses preparing the runtime and development environments for DOTS (Domino OSGi Tasklet Service) on IBM Domino. It describes copying necessary JAR files and executable files to directories within the Domino program folder to prepare the runtime environment. It also mentions that the Eclipse IDE is needed for developing DOTS tasklets as OSGi bundles, and steps will be provided for configuring Eclipse to develop plugins that can run on the Domino OSGi environment.
Java and in particular OSGi are now very important parts of the Notes/Domino app dev model. In this session, you will learn what techniques can be utilized to process background jobs for XPages applications. Whether you want to replace your existing agents with Domino OSGi Tasklet Services (DOTS) or use Eclipse Jobs to run time-consuming routines without interrupting the use of your application - we will show you real life examples of why and how. You should also consider attending this session to hear about some suprises you don't want to miss...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...Jesse Gallagher
Though Domino makes working with build servers and CI/CD pipelines difficult, it is possible to do so even with complex applications. This session will discuss the specifics of using several OpenNTF projects - NSF ODP Tooling, the Jakarta XPages Runtime, and XPages Jakarta EE Support - as well as open-source technologies such as Docker to build, test, and deploy Java-based Domino applications for testing and staging. This builds on previous sessions about the NSF ODP Tooling and Maven generally.
This document provides an overview of the OpenNTF Domino API (ODA). It discusses what the ODA is, how to set it up, key developers, and examples of how it can be used for session handling, view handling, document handling, datetime enhancements, transactions, Xots, and graphs. The ODA is an open source project that fills gaps and provides additional capabilities for Java development on Domino. It consists of OSGi plugins that can be installed on a Domino server to extend the functionality available to XPages and plugins.
DNUG Webcast: IBM Notes V10 Performance BoostChristoph Adler
IBM Notes Clients mit einer gewissen Portion Performance zu versehen, muss nicht komliziert sein. Diese Session ist bereits für IBM Notes V10 Beta-2 aktualisiert. Komm in den Webcast und finde heraus, welche Stellschrauben, wie weit und in welche Richtung gedreht werden müssen, um IBM Notes maximal optimiert und mit höchster Stabilität nutzen zu können.
Hier werden auch Themen wie z.B. veraltete ODS, Netzwerk-Latenzen und Applikationsperformance behandelt und besprochen, wie man diese messen und beheben kann. Lerne Möglichkeiten das (Start-)Verhalten von IBM Notes Clients zu Analysieren und Best Practices bzgl. „Arbeitsumgebungs- und Verbindungsdokumenten“ anzuwenden und warum die catalog.nsf so wichtig ist.
Verbessere deine IBM Notes Client-Infrastruktur und mache deine Benutzer glücklich, indem du eine bessere Experience (schnellere und stabilere Clients) anbietest. Als Bonus wird Christoph Adler zeigen, wie man den Notes Client Start in virtualisierten Umgebungen (Citrix VMWare) um bis zu 75% beschleunigen kann.
The document summarizes updates to several OpenNTF projects including the Domino API, NSF ODP Tooling, XPages Bazaar, and NSF Router projects. It notes that the Domino API follows Domino releases and includes new methods and bug fixes. The NSF ODP Tooling includes tools for compiling and exporting ODPs without Designer. The XPages Bazaar project supports the NSF ODP Tooling. The NSF Router allows specifying redirection routes within NSFs. It also mentions the Import and Export for Designer project for importing design elements into NSFs from Designer.
CrossWorlds is IBM WebSphere Liberty and IBM Domino getting together to provide a huge leap forward for Domino developers and customer. Learn what's being built !!!
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
Building a plugin for the Notes client is hard and you need to be a rocket scientist to write a simple menu extension. This is exactly, what I thought, when I first heard of plugin development. In this session, you will learn, how to setup an Eclipse environment, connect it to your Notes Client for debugging and testing, and finally deploy your plugin to your users. Become familiar with the basics, and you will no longer be scared.
This document provides an agenda for a conference on XPages Beyond the Basics held from February 2-3, 2012 in Denmark. The agenda includes topics like JavaScript/CSS aggregation, pre-loading for XPages, Java design elements, themes, the XPages Extension Library, relational database support using JDBC, exporting data to Excel/PDF, and more. The document also introduces the speaker, Ulrich Krause, an IBM Champion and experienced Notes/Domino developer.
The document summarizes an event called UKLUG 2012 that was held from September 2-4, 2012 at Cardiff University in Wales. It focused on XPages topics beyond the basics. The agenda included sessions on JavaScript/CSS aggregation, enabling pre-load for XPages, Java design elements, JAR design elements, Faces-config design elements, themes, and the XPages Extension Library.
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Julian Robichaux
This document discusses Java 8 features like lambdas and streams. It begins with an introduction to lambdas, providing an example of using a lambda expression with the setHostnameVerifier() method instead of an anonymous class. Lambdas allow passing functions as parameters and rely on functional interfaces. The document then covers streams, showing how to iterate over a certificate array using streams instead of a for loop. Additional examples demonstrate sorting a list of sandwiches using different comparator constructions and handling exceptions. The key benefits of lambdas and streams are cleaner, more readable code that encourages a functional programming style.
This document provides an overview of managed beans in IBM Domino applications. It discusses key concepts such as what managed beans are, how they are configured and used, and when they make sense to use over traditional server-side JavaScript. It then outlines steps to create a basic managed bean, including creating the Java class, adding properties and getters/setters, configuring in faces-config.xml, and using the bean in an XPage. The document also covers debugging managed beans and presents an example application where managed beans would be well suited to address complexity and persistence needs.
Domino applications, stored in NSFs, have been historically difficult to add to Continuous Integration tools like Jenkins and to have participate in Continous Delivery workflows. This session will discuss the NSF ODP Tooling project on OpenNTF, which allows you to take Domino-based projects - whether targetting the Notes client or web, XPages or not - and integrate them with modern tooling and flows. It will demonstrate use with projects ranging from a single NSF to a suite of a dozen OSGi plguins and two dozen NSFs, showing how they can be built and packaged automatically and consistently.
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®Serdar Basegmez
This document summarizes a presentation on processing background tasks on IBM Domino servers. It discusses:
1) DOTS (Domino OSGi Tasklet Services), which provides the ability to develop and run OSGi-level server tasks (tasklets) for Domino for unattended processing such as scheduled reports and batch jobs.
2) Asynchronous processing techniques for XPages applications, including using Eclipse Jobs and thread pools to run long-running tasks asynchronously without blocking the user interface.
3) Alternative approaches like using a thread management bean to simplify managing background threads in XPages.
OpenNTF Domino API - Overview IntroductionPaul Withers
The document provides an overview of the OpenNTF Domino API (ODA) project. It describes the mission to modernize and extend the Domino API, lists the initial contributors and reasons for starting the project. It outlines the core areas and functionality that ODA has developed over time, including transaction processing, events, email handling, indexing, sorting, and graph implementations. It also describes the project structure and integration with XPages.
A slide deck presenting the highlights of the NetBeans IDE 7 release, including each of its minor releases, 7.1, 7.1.1, 7.2, 7.2.1, 7.3, 7.3.1, and 7.4, in the context of the IDE's complete feature set.
This document provides an overview of XPages server processing and performance. It discusses how XPages run on the Java Virtual Machine (JVM) within the Domino server. It covers memory management options for persisting the component tree in memory or on disk. It also summarizes the JSF lifecycle phases and how event handling works. Performance tests demonstrate that using computed fields on page load rather than dynamically, using data contexts over theme variables, and partial refreshes can improve performance. Understanding these technical details helps optimize XPages applications.
The new GraalVM from Oracle supports multiple language including JavaScript, Python, Ruby, R, C++ as well as Java and other JVM languages. This opens up interesting possibilities for polygot enterprise applications. Now you can use a Node library in a Java application or call an R statistical function from an EJB. Previously, this type of integration was extremely challenging. This session will provide recipes to get up and running along with best practices and some cool demos.
Code: https://github.com/rcuprak/graalvm_jee
Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020Puppet
This two-hour workshop will focus on the following:
Improving operational efficiency for managing Windows infrastructure
Applying configuration baselines to Windows Server and IIS web servers
Utilizing PowerShell and Bolt to automate day to day management tasks
What's Bolt? Puppet Bolt is the easiest way to get started with DevOps and does not require Puppet knowledge. During this workshop you will utilize WinRM or SSH to communicate with your server environments.
You will leave this workshop with a working knowledge of Bolt, and your laptop equipped to start tackling automation challenges across your organization.
The document provides an overview of the Play framework, a stateless and non-blocking web application framework for Java and Scala. It discusses key aspects of Play including its goals of being developer-friendly, fully compiled and type-safe, integration of JSON and other features. It also contrasts stateful versus stateless web application architectures and threaded versus event-driven web servers. Finally, it covers setting up a new Play project, project structure and running a Play application.
Faster java ee builds with gradle [con4921]Ryan Cuprak
JavaOne 2016
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session covers the basics of switching existing Java EE projects (that use Maven) over to Gradle and the benefits you will reap, such as incremental compiling, custom distributions, and task parallelization. You’ll see demos of all the goodies you’ve come to expect, such as integration testing and leveraging of Docker. Switching is easier than you think, and no refactoring is required.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
Jakarta EE is an open source Java platform that provides a wide range of APIs for building enterprise applications. It is made up of specifications covering areas like web services, security, and object-relational mapping. The document discusses the history and evolution of Jakarta EE, its relationship to other technologies like Spring and MicroProfile, and its importance for businesses, careers, and the Java ecosystem. It also outlines proposals for future versions like Jakarta EE 10 that aim to improve areas like security, messaging, and NoSQL support.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
BP204 It's Not Infernal: Dante's Nine Circles of XPages HeavenMichael McGarel
Do not abandon all hope, ye who enter here! Your very own Dante and Virgil will take you through a divine comedy of nine circles that show that XPages is more paradise than perdition. We'll show how XPages and related concepts like OSGi plugins make XPages a modern and vibrant development technology for web, mobile and rich client. On the way we'll guide you past some pitfalls to avoid becoming one of the lost souls. When we re-emerge, you'll see the sky's the limit with star-studded opportunities. (Presented at IBM Connect 2014)
The document summarizes updates to several OpenNTF projects including the Domino API, NSF ODP Tooling, XPages Bazaar, and NSF Router projects. It notes that the Domino API follows Domino releases and includes new methods and bug fixes. The NSF ODP Tooling includes tools for compiling and exporting ODPs without Designer. The XPages Bazaar project supports the NSF ODP Tooling. The NSF Router allows specifying redirection routes within NSFs. It also mentions the Import and Export for Designer project for importing design elements into NSFs from Designer.
CrossWorlds is IBM WebSphere Liberty and IBM Domino getting together to provide a huge leap forward for Domino developers and customer. Learn what's being built !!!
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
Building a plugin for the Notes client is hard and you need to be a rocket scientist to write a simple menu extension. This is exactly, what I thought, when I first heard of plugin development. In this session, you will learn, how to setup an Eclipse environment, connect it to your Notes Client for debugging and testing, and finally deploy your plugin to your users. Become familiar with the basics, and you will no longer be scared.
This document provides an agenda for a conference on XPages Beyond the Basics held from February 2-3, 2012 in Denmark. The agenda includes topics like JavaScript/CSS aggregation, pre-loading for XPages, Java design elements, themes, the XPages Extension Library, relational database support using JDBC, exporting data to Excel/PDF, and more. The document also introduces the speaker, Ulrich Krause, an IBM Champion and experienced Notes/Domino developer.
The document summarizes an event called UKLUG 2012 that was held from September 2-4, 2012 at Cardiff University in Wales. It focused on XPages topics beyond the basics. The agenda included sessions on JavaScript/CSS aggregation, enabling pre-load for XPages, Java design elements, JAR design elements, Faces-config design elements, themes, and the XPages Extension Library.
Connect2017 DEV-1550 Why Java 8? Or, What's a Lambda?Julian Robichaux
This document discusses Java 8 features like lambdas and streams. It begins with an introduction to lambdas, providing an example of using a lambda expression with the setHostnameVerifier() method instead of an anonymous class. Lambdas allow passing functions as parameters and rely on functional interfaces. The document then covers streams, showing how to iterate over a certificate array using streams instead of a for loop. Additional examples demonstrate sorting a list of sandwiches using different comparator constructions and handling exceptions. The key benefits of lambdas and streams are cleaner, more readable code that encourages a functional programming style.
This document provides an overview of managed beans in IBM Domino applications. It discusses key concepts such as what managed beans are, how they are configured and used, and when they make sense to use over traditional server-side JavaScript. It then outlines steps to create a basic managed bean, including creating the Java class, adding properties and getters/setters, configuring in faces-config.xml, and using the bean in an XPage. The document also covers debugging managed beans and presents an example application where managed beans would be well suited to address complexity and persistence needs.
Domino applications, stored in NSFs, have been historically difficult to add to Continuous Integration tools like Jenkins and to have participate in Continous Delivery workflows. This session will discuss the NSF ODP Tooling project on OpenNTF, which allows you to take Domino-based projects - whether targetting the Notes client or web, XPages or not - and integrate them with modern tooling and flows. It will demonstrate use with projects ranging from a single NSF to a suite of a dozen OSGi plguins and two dozen NSFs, showing how they can be built and packaged automatically and consistently.
ICONUK 2013 - An XPager's Guide to Process Server-Side Jobs on IBM® Domino®Serdar Basegmez
This document summarizes a presentation on processing background tasks on IBM Domino servers. It discusses:
1) DOTS (Domino OSGi Tasklet Services), which provides the ability to develop and run OSGi-level server tasks (tasklets) for Domino for unattended processing such as scheduled reports and batch jobs.
2) Asynchronous processing techniques for XPages applications, including using Eclipse Jobs and thread pools to run long-running tasks asynchronously without blocking the user interface.
3) Alternative approaches like using a thread management bean to simplify managing background threads in XPages.
OpenNTF Domino API - Overview IntroductionPaul Withers
The document provides an overview of the OpenNTF Domino API (ODA) project. It describes the mission to modernize and extend the Domino API, lists the initial contributors and reasons for starting the project. It outlines the core areas and functionality that ODA has developed over time, including transaction processing, events, email handling, indexing, sorting, and graph implementations. It also describes the project structure and integration with XPages.
A slide deck presenting the highlights of the NetBeans IDE 7 release, including each of its minor releases, 7.1, 7.1.1, 7.2, 7.2.1, 7.3, 7.3.1, and 7.4, in the context of the IDE's complete feature set.
This document provides an overview of XPages server processing and performance. It discusses how XPages run on the Java Virtual Machine (JVM) within the Domino server. It covers memory management options for persisting the component tree in memory or on disk. It also summarizes the JSF lifecycle phases and how event handling works. Performance tests demonstrate that using computed fields on page load rather than dynamically, using data contexts over theme variables, and partial refreshes can improve performance. Understanding these technical details helps optimize XPages applications.
The new GraalVM from Oracle supports multiple language including JavaScript, Python, Ruby, R, C++ as well as Java and other JVM languages. This opens up interesting possibilities for polygot enterprise applications. Now you can use a Node library in a Java application or call an R statistical function from an EJB. Previously, this type of integration was extremely challenging. This session will provide recipes to get up and running along with best practices and some cool demos.
Code: https://github.com/rcuprak/graalvm_jee
Manage your Windows Infrastructure with Puppet Bolt - August 26 - 2020Puppet
This two-hour workshop will focus on the following:
Improving operational efficiency for managing Windows infrastructure
Applying configuration baselines to Windows Server and IIS web servers
Utilizing PowerShell and Bolt to automate day to day management tasks
What's Bolt? Puppet Bolt is the easiest way to get started with DevOps and does not require Puppet knowledge. During this workshop you will utilize WinRM or SSH to communicate with your server environments.
You will leave this workshop with a working knowledge of Bolt, and your laptop equipped to start tackling automation challenges across your organization.
The document provides an overview of the Play framework, a stateless and non-blocking web application framework for Java and Scala. It discusses key aspects of Play including its goals of being developer-friendly, fully compiled and type-safe, integration of JSON and other features. It also contrasts stateful versus stateless web application architectures and threaded versus event-driven web servers. Finally, it covers setting up a new Play project, project structure and running a Play application.
Faster java ee builds with gradle [con4921]Ryan Cuprak
JavaOne 2016
It is time to move your Java EE builds over to Gradle! Gradle continues to gain momentum across the industry. In fact, Google is now pushing Gradle for Android development. Gradle draws on lessons learned from both Ant and Maven and is the next evolutionary step in Java build tools. This session covers the basics of switching existing Java EE projects (that use Maven) over to Gradle and the benefits you will reap, such as incremental compiling, custom distributions, and task parallelization. You’ll see demos of all the goodies you’ve come to expect, such as integration testing and leveraging of Docker. Switching is easier than you think, and no refactoring is required.
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
Jakarta EE is an open source Java platform that provides a wide range of APIs for building enterprise applications. It is made up of specifications covering areas like web services, security, and object-relational mapping. The document discusses the history and evolution of Jakarta EE, its relationship to other technologies like Spring and MicroProfile, and its importance for businesses, careers, and the Java ecosystem. It also outlines proposals for future versions like Jakarta EE 10 that aim to improve areas like security, messaging, and NoSQL support.
CDI portable extensions are one of greatest features of Java EE allowing the platform to be extended in a clean and portable way. But allowing extension is just part of the story. CDI opens the door to a whole new eco-system for Java EE, but it’s not the role of the specification to create these extensions.
Apache DeltaSpike is the project that leads this brand new eco-system by providing useful extension modules for CDI applications as well as tools to ease the creation of new ones.
In this session, we’ll start by presenting the DeltaSpike toolbox and show how it helps you to develop for CDI. Then we’ll describe the major extensions included in DeltaSpike, including 'configuration', 'scheduling' and 'data'.
BP204 It's Not Infernal: Dante's Nine Circles of XPages HeavenMichael McGarel
Do not abandon all hope, ye who enter here! Your very own Dante and Virgil will take you through a divine comedy of nine circles that show that XPages is more paradise than perdition. We'll show how XPages and related concepts like OSGi plugins make XPages a modern and vibrant development technology for web, mobile and rich client. On the way we'll guide you past some pitfalls to avoid becoming one of the lost souls. When we re-emerge, you'll see the sky's the limit with star-studded opportunities. (Presented at IBM Connect 2014)
This document summarizes an agenda for an XPages performance masterclass. The agenda covers many factors that affect XPages performance including hardware, network performance, client limitations, and coding practices. It also discusses tools for optimizing performance such as JavaScript/CSS aggregation, scoped variables, data contexts, partial refresh vs partial execution, and XPages preloading. Specific techniques are demonstrated such as reducing unnecessary computations in the JSF lifecycle and using scoped variables to dynamically compute values.
Speed up your XPages Application performanceMaarga Systems
This document discusses best practices for optimizing performance of XPages applications on Domino servers. It covers recommended server hardware and software configurations including memory allocation, enabling server-side caching, and configuring timeouts. Application-level optimizations are also presented such as reducing database lookups, limiting partial refreshes, and properly using scoped variables. Tools for identifying bottlenecks like XPages Toolbox are also mentioned. The document aims to provide guidance for configuring servers and coding applications for optimal performance when deploying and maintaining XPages applications.
Xpages Anwendungen lassen sich recht leicht per Drag & Drop und ein wenig Code erstellen. In den meisten Fällen reicht dies auch aus, wenn es um die Arbeit mit wenig Datensätzen geht und die Anwendung selber nicht sonderlich kompliziert ist. Dringt man aber tiefer in die Programmierung ein, so wird man nicht selten mit Performanceproblemen konfrontiert.
Die Session zeigt auf, wo in einer Anwendung ( und auch ausserhalb ) die Performancefresser stecken und wie man diesen auf die Schliche kommt. Die Installation des OpenNTF Xpages Toolkit und die Anwendung der Toolbox werden an einem praktischen Beispiel erläutert. Dabei wird aus einer anfänglich nicht performanten Anwendung Schritt für Schritt eine performante Applikation.
Agenda:
Performance, was kann bremsen ?
Java vs. JavaScript
Daten vorbereiten, ViewNavigator vs. GetNextDocument
Stringbuilder vs. Concat
Phase Listener
Partial Refresh / Partial Execute
Variable resolver
The document discusses administration of IBM Connections Cloud. It describes the different roles in administering the cloud service between IBM and the customer organization. It outlines tools for automating user provisioning and directory integration using an Integration Server. The Integration Server uses change files in CSV format to programmatically add/update users and profiles. However, the current Integration Server has limitations like a maximum of 200 operations per file. The document also discusses policy administration and issues in administering the cloud service, noting that the all-or-nothing administrator interface does not scale well. It proposes an internal administrative interface and service portal to help customers better manage the cloud service according to their organizational needs and policies.
Life in the fast lane. Full speed XPagesUlrich Krause
This document summarizes Ulrich Krause's presentation titled "AD103 - Life in the Fast Lane – Full Speed XPages!". The presentation discusses various factors that affect XPages performance and provides optimizations that can be made to improve performance, including:
- Hardware specifications like CPU, memory, and disk speed have a significant impact on performance.
- Design optimizations like using partial update/execute, minimizing computations in rendered properties, and leveraging viewScope can improve performance.
- JavaScript and CSS optimizations like aggregation and image sprites reduce page size and load time.
- Tools like the XPages Toolbox profiler can help analyze memory usage and CPU performance to identify bottlenecks.
BP205: There’s an API for that! Why and how to build on the IBM Connections P...Mikkel Flindt Heisterberg
The document discusses IBM Connections and its application programming interfaces (APIs). It provides an overview of IBM Connections as a platform and describes its various APIs, which are based on the Atom standard. It also covers widgets/iWidgets for IBM Connections, developing for the activity stream, and the event service interface (SPI). The document aims to help developers understand and leverage the IBM Connections APIs and capabilities.
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesbeglee
Bootstrap has recently been integrated into the XPages core framework, allowing the creation of sleek, polished, responsive XPages applications. Using this new feature your apps will look great, with a consistent look and feel from the web browser to the mobile experience on phones & tablets. This session will demonstrate all of the tools now at your disposal, such as the Bootstrap-ized XPages controls, icons, fonts, CSS, new controls, themes and jQuery! We'll show you why this new feature is one that you can't ignore.
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...Benedek Menesi
Properly logging and monitoring what happens in your Domino environment is critically important for both security and performance. In order to get the most out of your log data when things go wrong, it’s vital to understand its structure, how and what is (or isn’t) logged, and how to search logs effectively. In this in-depth session we will talk about the inner workings of various Domino logging mechanisms by dissecting the structure of log event documents such as Miscellaneous, Replication, Usage Session, User Activity etc. You’ll learn how to deal with verbose logging, retention best practices, monitoring bottlenecks, as well as behind-the-scenes data such as status codes and how to best use them. After this presentation you will walk away with a solid understanding of your log architecture, the means to set up notifications for when things go wrong and faster ways to find what you’re looking for.
The future of web development write once, run everywhere with angular js an...Mark Leusink
This document provides a summary of a presentation on using AngularJS and IBM Domino to build modern web applications.
The presentation introduces AngularJS, an open-source JavaScript framework, and how it uses a model-view-controller architecture. It also discusses using IBM Domino as a RESTful backend service via Domino Access Services or a custom REST API.
The presentation demonstrates a sample conference scheduling app built with AngularJS, Bootstrap, and data from an IBM Domino database. The app runs entirely on the client-side and shows how AngularJS allows building portable web apps that can run on any device or platform.
BP201 Creating Your Own Connections Confection - Getting The Flavour RightGabriella Davis
IBM Connections 5 comes in a variety of exciting flavours - fancy a vanilla install, or maybe you want to add some extra sauce like External users or IBM Docs? A sprinkling of File Viewer and a few Surveys or maybe a dollop of Sametime. In this session we'll take a look at how to build the right flavour combination of Connections for your business from deciding what features you want through to architecting a solution. We will have plenty of "How Tos" such as how to add external users to your Connections communities securely and what does their experience look like? How much Sametime is just enough? What's the difference between IBM Docs, File Viewer and EditLive in features and deployment? If you're new to Connections, planning a move to Connections 5 or even considering what Connections features you might want to add, this is your session, low fat and calorie free!
Connections Directory Integration: A Tour Through Best Practices for Directo...Gabriella Davis
Presentation from Connections 2015 with Terri Warren
In this directory, data integration and single sign on session, we'll explore best practices for successful integration of social software with your existing directory data. Learn how to utilize Single Sign On across your environment as well as how to successfully utilize directory information across all of the Connections applications.
From IBM Connected 2015
Connections 5 introduces us to a new model of access - the external user. Originally designed to have limited rights within your Connections environment, the security surrounding external user access is deliberately very restrictive. To achieve appropriate access for the external user, we must tell Connections how to identity an external user by flagging either an LDAP attribute or a new LDAP source. In this session we’ll discuss the options for external user configuration, how to manage registration and passwords as well as how everyone in your Connections world can work together.
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.
The document provides information about customizing the Connections Mobile app. It discusses options for customization including branding, services, login forms and EULAs. It describes the mobile app architecture and components that can be customized. Specific customization capabilities are then covered in more detail such as customizing the application name, service labels, login forms, and adding additional services. The document also discusses leveraging Connections through social rendering and mobile administration.
This document provides an agenda for the BLUG 2012 conference on XPages Beyond the Basics taking place March 22-23, 2012 in Antwerp. The agenda covers topics like JavaScript/CSS aggregation, pre-loading for XPages, Java design elements, themes, the XPages Extension Library, relational database support, and recommended resources. It also includes background information on the presenter Ulrich Krause and his experience with Lotus Notes, Domino, and XPages development.
The document announces the Entwicklercamp 2012 event from March 26-28 at the Maritim Hotel in Gelsenkirchen, Germany. It will feature sessions on XPages, the Extension Library, pre-loading for XPages, Java design elements, themes, and more. The event is organized by Ulrich Krause of is@web, an IBM Champion for collaboration solutions.
The document provides an overview of the SharePoint Framework (SPFx) from the perspective of an ISV. It begins by focusing on key aspects of SPFx like publishing versions, pushing updates through a CDN, using shared code and external libraries, and using custom PropertyPane properties. It then provides a history of SharePoint development models and extensibility opportunities. The document explains what SPFx is, its advantages and disadvantages, and choices for the UI framework. It discusses building a solution, publishing, dependencies, consuming data, the advanced PropertyPane, updating SPFx, and provides some helpful tips.
The document provides instructions for using decorations with controls in SWT/JFace applications. It discusses how the ControlDecoration class allows placing image decorations on controls to provide additional information. Creating a decoration involves adding a ControlDecoration to a Text field in the design view and then adding code in the source view to initialize the decoration. The decoration can display an image and tooltip text when the user hovers over it. Developers must leave space in the UI layout for decorations to be visible.
The document provides an overview of agile development using JBoss Seam. It discusses various agile methodologies and technologies that will be presented, including TestNG, Groovy, Hudson, Subversion, Cobertura, DBUnit, and Selenium. It provides descriptions and examples of using these technologies for unit testing, integration testing, and acceptance testing in an agile project.
This document provides an overview of installing and using the XPages Extension Library in Domino Designer. It discusses downloading and installing the Extension Library plug-in, verifying the installation, developing applications that utilize Extension Library components, and deploying those applications to the Domino server. Helpful resources for further learning about the Extension Library and XPages development are also listed.
The document provides an overview of using Subversion (SVN) for source code control, including how to set up SVN clients and servers, basic and advanced SVN commands, best practices for usage, and how to install the VisualSVN server software. SVN allows developers to concurrently edit and manage different versions of code through features like revision tracking, merging, branching and locking files during edits. The document recommends using SVN for both individual developers and development teams to avoid issues with shared network drives and provides instructions for getting started with clients like TortoiseSVN and servers like VisualSVN.
Prizm Content Connect is a lightweight document viewer flash control that allows applications to display and interact with different file formats like Microsoft Office documents. It provides a universal viewing solution and acts as a document container for embedding documents in a custom form or webpage. The viewer is lightweight, flexible and allows integrating an end-to-end solution using Office or other native format documents in a custom solution.
Maven is a build tool that can manage a project's build process, dependencies, documentation and reporting. It uses a Project Object Model (POM) file to store build configuration and metadata. Maven has advantages over Ant like built-in functionality for common tasks, cross-project reuse, and support for conditional logic. It works by defining the project with a POM file then running goals bound to default phases like compile, test, package to build the project.
Maven: Managing Software Projects for Repeatable ResultsSteve Keener
Maven is a tool for managing Java-based software projects that provides a standard way to manage builds, documentation, dependencies, and project metadata. It simplifies common project tasks like compiling code, generating reports, and managing dependencies. Maven uses a Project Object Model (POM) file to store build settings and dependencies for a project. It maintains a central repository of dependencies to avoid duplicate copies of files. Maven builds can be configured to compile code, test it, package artifacts, and generate reports through a standardized process. Maven archetypes provide project templates to quickly generate new projects with common configurations.
Maven is a project management and build tool that promotes convention over configuration using a hierarchical Project Object Model (POM). It can build Flex projects by generating artifacts like SWF and SWC files. The flexmojos plugin supports Flex, AIR, and AS3 projects by adding goals for tasks like compiling, testing, documentation, and optimization. To set up a Flex project with Maven and flexmojos, developers use an archetype to generate the project structure, configure repositories and dependencies, then build and debug the project using Maven goals and phases.
Jenkins Pipeline uses a master-slave architecture to execute builds across multiple nodes. The Jenkinsfile defines the continuous delivery pipeline using Declarative or Scripted syntax. It contains stages for building, testing, and deploying with steps to define tasks. Maven is used to manage dependencies and build processes. It defines projects using a POM file containing identifiers, dependencies, repositories, plugins, and build configuration.
Introduction to building Flex and AIR applications with Maven through the open source Flexmojos plugin.
All source available: https://github.com/justinjmoses/flexmojos-introduction
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
The document discusses Maven, an open source build automation tool used primarily for Java projects. It provides an overview of Maven's key features like dependency management, build lifecycles, and the project object model (POM). The presentation also demonstrates how to create a basic Maven project, configure dependencies and repositories, and manage multi-module builds.
The document provides an overview of Eclipse, an open-source integrated development environment (IDE). It discusses that Eclipse is built on an extensible plugin framework called OSGi/Equinox that allows new functionality to be easily added without disrupting existing features. It also describes key components of the Eclipse platform including SWT for cross-platform user interface elements, JFace for common UI tasks, and the workbench for the Eclipse environment. The document highlights that Eclipse can be used as not just an IDE but also as a general application framework and tools framework through its extensibility.
A soup to nuts presentation on using Composer and repository servers to manage and leverage shared code libraries for personal projects to the largest enterprise.
Jenkins Pipeline allows automating the process of software delivery with continuous integration and deployment. It uses Jenkinsfiles to define the build pipeline through stages like build, test and deploy. Jenkinsfiles can be written declaratively using a domain-specific language or scripted using Groovy. The pipeline runs on agent nodes and is composed of stages containing steps. Maven is a build tool that manages Java projects and dependencies through a POM file. The POM defines project properties, dependencies, plugins and profiles to customize builds.
This document provides an overview of Maven, Subversion (SVN), and GIT. It discusses how to install and set up Maven, create Maven projects, and manage dependencies. It also explores version control systems, specifically SVN and GIT. With SVN, it demonstrates how to create repositories and check out projects. It discusses merging code and avoiding conflicts. The document is a presentation intended to teach these topics.
SenchaCon 2016: Building Enterprise Ext JS Apps with Mavenized Sencha Cmd - F...Sencha
In this session, we'll show you how CoreMedia's Maven plugin offers the deepest integration of Sencha Cmd into your Maven build process available today and takes modular Ext JS development to the next level.
Are you tired of the ever-increasing complexity in the world of DevOps? Do Docker and Kubernetes scripts, Ansible configurations, and networking woes make your head spin? It's time for a breath of fresh air.
Join us on a transformative journey where we shatter the myth that DevOps has to be overly complicated. Say goodbye to the days of struggling with incomplete scripts and tangled configurations. In this enlightening talk, we'll guide you through the process of rapidly onboarding your new standard microservice into the DevOps and Cloud universe.
We'll unveil the power of GitHub Actions, AWS, OpenAI API, and MS Teams Incoming Web hooks in a way that's both enlightening and entertaining. Additionally, we'll explore how Language Model APIs (LLMs) can be leveraged to enhance and streamline your DevOps workflows. You'll discover that DevOps doesn't have to be a labyrinth of complexity; it can be a streamlined and enjoyable experience.
So, if you're ready to simplify your DevOps journey and embrace a world where AWS, the OpenAI API, and GitHub Actions collaborate seamlessly while harnessing the potential of LLMs, join us and let's make DevOps a breeze!
This document provides an introduction to Node-RED, including what it is, its origins and key facts. It discusses Node-RED's low-code approach and ease of use for integration. The fundamentals of Nodes, messages and flows are explained. Installation and usage are demonstrated locally and via Docker. Security, authentication, configuration and developing custom nodes are also covered.
Engage 2019: Modernising Your Domino and XPages Applications Paul Withers
This document discusses modernizing Domino and XPages applications. It covers modernizing web and mobile interfaces, using Dynamic Query Language for improved performance, and integrating applications via REST APIs. The document provides examples and considerations for updating applications' user interfaces, database design, and integration to meet modern needs and habits while leveraging new platform capabilities.
The document discusses the history and current state of artificial intelligence. It describes early milestones in AI development from Alan Turing to modern successes like AlphaGo. The document also discusses challenges with AI systems, noting they are only as good as their training and can learn bad behaviors if exposed to unsafe examples online. Additionally, the document explores applications of AI in healthcare and insurance, and the need for machine ethics as AI becomes more advanced and autonomous.
Social Connections 14 - ICS Integration with Node-RED and Open SourcePaul Withers
The document summarizes a presentation about integrating Node-RED with open source technologies. Node-RED is a browser-based flow editor that allows wiring together hardware devices, APIs, and online services to build IoT applications. It can be run on edge devices like Raspberry Pi or in the cloud. The presentation covers Node-RED's open source development, popular nodes, deployment options including on IBM Cloud, and demos of connecting Node-RED to IBM Connections.
ICONUK 2018 - Do You Wanna Build a ChatbotPaul Withers
- Watson Assistant is an IBM cloud service that uses natural language processing and structured processing to build dialog workflows for chatbots.
- It handles intents, entities, context variables, and dialog flow to understand user input and determine responses.
- Developers use the browser-based tool to build, test, and train chatbot conversations by managing intents, entities, dialog nodes, and context.
IBM Think Session 8598 Domino and JavaScript Development MasterClassPaul Withers
Session from IBM Think 2018. Note: the architecture used is an extreme case of what's possible (and it could go further), rather than a real-world expectation
IBM Think Session 3249 Watson Work Services Java SDKPaul Withers
This document discusses developing applications with the Watson Work Services Java SDK to integrate with Watson Workspace and Watson Work Services APIs. It provides an overview of app prerequisites, the OAuth 2.0 process, IDE options, the Watson Work Services APIs and GraphQL endpoint, an introduction to the Watson Work Services Java SDK, and examples of using the SDK.
This document provides an overview of GraphQL, including:
- GraphQL is a query language for APIs created by Facebook in 2012 that allows clients to request specific data fields and embed requests.
- It addresses issues with REST APIs like multiple requests being needed to join data and consumer having to parse responses.
- GraphQL allows consumer-driven queries that return exactly what is asked for in a hierarchical JSON response.
- The document discusses GraphQL queries, mutations, subscriptions, and introspection capabilities. It provides examples of using GraphQL with Watson Work Services and the Darwino implementation.
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentPaul Withers
The document discusses the OpenNTF Domino API (ODA), which is an OSGi plugin that extends the core Domino Java API. It provides features like reducing unnecessary coding, modernizing constructs, improving readability, adding new features, and enabling flexible session management beyond XPages. The document outlines some of the key features of ODA, how to enable it for XPages and Java applications, and how it improves upon and extends the standard Domino Java API in areas like sessions, documents, views, transactions, and more. It also discusses related OpenNTF projects like XOTS, database listeners, and ExtMgr that integrate with ODA.
This document provides an overview of a presentation on troubleshooting XPages applications. It discusses common issues developers face with XPages, such as state management and partial refreshes not working as expected. The presentation covers techniques for debugging these issues, including using a PhaseListener to identify problems with partial refreshes and ensuring components are rendered in the correct lifecycle phases. It also provides examples of questions asked on StackOverflow about XPages.
Social Connections 2015 CrossWorlds and DominoPaul Withers
This document discusses CrossWorlds, which allows developing generic web applications using the IBM Domino application server. CrossWorlds is a feature for IBM Websphere Liberty Profile that makes Liberty act like a Domino server to applications. It allows accessing Domino data and services via the OpenNTF Domino API from standard web applications. CrossWorlds provides advantages like Domino's security and data storage along with Liberty's speed and tooling. The OpenNTF Domino API also provides more flexible session handling and data access than traditional XPages development.
This document summarizes a presentation given by Paul Withers at UKLUG 2012 in Cardiff, Wales. The presentation covered updates to the Xots task scheduling library, session management in the OpenNTF Domino API, using graphs instead of documents to store and access data, and several demos including a conference application built with Vaadin running on WebSphere Liberty Profile connected to a Domino backend. It also discussed how the OpenNTF Domino API allows developing applications that interact with Domino data beyond just XPages.
What's New and Next in OpenNTF Domino API (ICON UK 2014)Paul Withers
- The document summarizes the presentation "What's New And Next in OpenNTF Domino API" given by Paul Withers.
- It describes recent enhancements to the OpenNTF Domino API including improvements to logging, database methods, document serialization, and email functionality.
- Future plans include expanding the XOTS task framework, graph database support, classes to represent all design elements, and potential integration with administrative functions.
The OpenNTF Domino API is a community-developed Java API that provides an alternative to using the native Notes objects in Domino. It was created to bridge the gap between LotusScript and Java developers, remove the need for try/catch blocks and recycling, and take advantage of Java collections and helper methods. The API is deployed via an update site and its packages include core interfaces, extension interfaces, and implementation classes. It provides features like logging, transaction processing, and database event listeners. Developers can convert code by changing imports, removing unnecessary code, and using the API's helper methods.
IBM Connect 2014 BP204: It's Not Infernal: Dante's Nine Circles of XPages HeavenPaul Withers
The document summarizes Dante's nine circles of hell from his Divine Comedy and relates them to different aspects of developing XPages applications. It discusses how the first circle of Limbo relates to hybrid XPage/Domino applications, how the second circle of Lust relates to focusing on user interface and experience, and how the third circle of Gluttony relates to managing server resources and page loading. It provides examples and demonstrations for each circle. The document concludes by listing additional sessions at the conference related to XPages development, Java, and IBM collaboration tools.
Embracing the power of the notes clientPaul Withers
This document discusses various tips and tricks for getting the most out of the IBM Notes client, including navigation shortcuts, copying data as a table, quick find and search features, full text searching, managing searches via policies, and extending functionality through widgets, plugins, and XPages integration. It provides an overview of live text recognition and regex testing capabilities, as well as how to share custom widgets and plugins.
The document summarizes the OpenNTF Domino API, which provides a Java API for working with Domino objects. It discusses the background and motivation for the API, how to install and use it, and some of its key features. The API aims to make Domino objects more accessible and easier to work with from Java and JavaScript by addressing limitations of the native Domino APIs.
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPagesPaul Withers
Slides from my session with Mike McGarel at IBM Connect 2013. Slides and sample application also available on http://www.intec.co.uk/blog
The document provides an overview and agenda for a presentation titled "The Padawan's Guide to the Dark Side of XPages". The presentation will cover XPages server processing, the Java virtual machine (JVM) and notes storage facility (NSF), memory management, the JavaServer Faces (JSF) lifecycle including event models and performance, and include bonus material. The presenters are Paul Withers and Tim Tripcony, and they aim to help attendees understand more about how XPages work under the hood in order to fear them less.
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Quantum Computing Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries
2. BP106: From XPages Hero
To OSGi Guru: Taking The
Scary Out Of Building
Extension Libraries
Paul Withers, Intec Systems Ltd
Christian Guedemann, WebGate Consulting AG
3. Paul Withers
XPages Developer since 2009
IBM Champion
OpenNTF Board Member
Author of XPages Extension Library
Developer XPages OpenLog Logger
Co-Developer of OpenNTF Domino API
4. Christian Guedemann
IBM Champion
OpenNTF Chairman
Architect of XPages Toolkit, POI4XPages,
JUnit4XPages and myWebGate
Notes since Version 2
Java since Version 1.2
Eclipse since Version 3
Freak… don’t now when this started, but must be short after I’ve learned to spell computer
7. XPages Developers
11 types of developer - Stephan Wissel
Three types of developer - Niklas Heidloff
Five tiers of developers - Greg Reeder, in "A Few Years of XPage Development" series
Extension Library development should be
the goal of XPages developers
8. Why?
Build Once, Use Anywhere (virtually!)
Easier to deploy new versions and exploit replication
Deploy third-party libraries
– Apache POI etc
– JDBC Drivers
Deploy client-side code server-wide
More easily avoid Java security exceptions
– Security tightened in Domino 9
Required for DOTS (Domino OSGi Tasklet Service) or XPiNC XSP.executeCommand
10. JDBC Driver Plugin Wizard
Enhancement to RDBMS part of Ext Lib
– Designer Client only functionality
Requires latest version of ExtLib
Allows a plugin to be created from one dialog
for a JDBC driver
See 3:15 on video
http://www.openntf.org/main.nsf/blog.xsp
?permaLink=NHEF-9N7CKD
12. Configuring the Environment
Eclipse
XPages SDK
Local Domino Server recommended
See Installation video from Niklas Heidloff
– Dates from before Debug Plugin was incorporated into XPages SDK
– Dates from before Extension Library was Maven-ized
• See http://www.openntf.org/main.nsf/blog.xsp?permaLink=PWIS-9QZTH2 for that
See blog series from Paul Withers
13. Eclipse for RCP and RAP Developers
Latest release is Luna
– Latest release of XPages SDK fixed to support this release
Can have multiple versions installed
Load multiple instances
14. XPages SDK
Gives XPages JREs and Target Platforms
– JRE → which plugins and jar files are automatically available
– Target Platform → which application / OS plugins are built for
From 4:40 in video
Point Preferences to Domino and Notes installs
Ensure “Automatically create JRE” ticked
Tick relevant entry in Java > Installed JREs
Create and select entry under Plug-in Development > Target Platform
15. Debugging
Debug Plugin now part of XPages SDK install
Allows you to point Domino server direct to projects in relevant workspace
From 14:10 in video
Point Preferences to Domino install
Configure Domino server for Java debugging, as for Java development
Run > Debug Configurations
– Create Debug Configuration
Connect as with Domino
– Use Step filters to skip certain packages
16. OSGi Configuration
Allows Domino Server to use plugins directly from Eclipse workspace
– Direct access to source code (.java files), not compiled code (.class files)
– Speeds up development / debugging
Create new OSGi Framework configuration
– Set as Domino OSGi Framework
– Set auto-start to false
– Click Debug – creates pde.launch.ini
– Issue “res task http” command
– Obviously will cause problems on networked server!
17. When Plugins Are Created / Imported / Amended
For added / imported plugins
– Go to OSGi Framework configuration
– Select the new plugin
– Click Debug to update config
– Issue “res task http” command
If plugin is changed
– Issue “res task http” command
19. Structure
Project inter-relations will differ for Mavenized plugins
– Maven is XML structure for automatically importing dependencies and building multiple plugins
– Managed by a “parent” project, see Ext Lib demos or Christian’s blog series
– Maven has its own learning curve, so we’ll skip that for now
Plugin project
– This is all that's needed for OSGi framework configuration
Feature project loads one or more plugin
Update Site project points to one or more feature
– Creates plugins and features jars
– Export as General > File System
21. Deployment to Server / DDE
Server:
– Run from Eclipse using Domino Debug Plugin
– Install to remote server as other Ext Libs
• See Chapter 2 of XPages Extension Library pp28+
Client
– Install to DDE as other Ext Libs
• Every change you make to the component re-install the update
• Quite laborious for development, but know when you need to re-import and when you don’t!
– Add directly to DDE plugins
• Best to create separate directory. See blog post by John Cooper or slides at end
22. Troubleshooting
Server
– “tell http osgi diag com.myplugin.name” console command confirms any missing
dependencies
Client
– check Help > Support > View Log and View Trace for errors / print statements
24. Deployment to Development Team / XPiNC
Add to Widget Catalog from Update Site database
– See XPages Extension Library pp40+
Best practice is using Desktop Policy, ensures updates automatically deployed
26. Plugin Structure
See Extensibility API Developers Guide
Activator is optional
– Allows generic code to be run
Extend org.eclipse.core.runtime.Plugin
27. Extensions Tab
Extensions load other Java classes
Use extension point
com.ibm.commons.Extension
Use “tell http osgi pt -v com.ibm.
commons.Extension” to see types
and classes currently loaded
28. Library Class
This is what is selected in Xsp Properties
Type: com.ibm.xsp.Library
Class: your.package.Library extends AbstractXspLibrary
Defines
– Dependencies
– Faces-Config files
– Xsp-Config files
29. Contributor Class
This adds factories
– Holds server-level maps
– Load implicit objects (variables)
Type: com.ibm.xsp.library.Contributor
Class your.package.Contributor extends XspContributor
32. Angular for all!
Angular.JS is popular java script framework to build client-side applications.
XPages Developers typically distribute Angular to their application by adding the script
library to the WebContent folder
But let me show how easy it is to deploy angular as part of a plugin and imagine how easy
it would be to deploy your java script standard components
33. Making your plugin to a resource provider
Time to contribute to an extension
– com.ibm.commons.Extension
• Type: com.ibm.xsp.GlobalResourceProvider
• Class: your.package.ResourcesProvider ->
extends BundleResourceProvider
Add some folders to the plugin
– resources/web/angular
– put angular.1.3.8.min.js, angular.1.2.28.min.js and
angular-1.1.4.min.js in the folder
34. Lets write some code to make the files available as
.ibmxspres/.angular/xxx.js
The following code let the resource provider understand where he can find the .js files:
35. Lets write some code to make the files available as
.ibmxspres/.angular/xxx.js
36. Don’t forget to export the resources during the build
You won’t believe how many times I was struggling at this point.
– Open the Manifest.MF and go to the tab build
37. All done? How can a developer now consume this java script libs?
He knows the following url statement /.ibmxspres/.angular/angular.1.3.8.min.js UGLY
We can build a custom theme and provide this
theme (like the Bootstrap4XPages Project does)
We build a component and gives the user choice.
38. The component (A java representation of an XPages Element)
The following Code represents the component (Paul will later explain more about)
39. Angular.xsp-config (make the component visible in the DDE)
Here the .xsp-config file to make the component visible in the DDE (Paul will also explain
this later ;) )
40. The renderer (This piece of code brings the angular.js on your page)
(Yes Paul will also explain this!)
42. Demo and Summary
Imagine that you can in the same way multiply the usage of your brilliant java script code
or the CSS style sheet for your cooperate design
Imagine that you can also customize the look and feel of all Application-Layout based
XPages Apps by defining a plugin with some resources and an new Theme
Imagine how productive your development team can become because you have make
your work easy consumable
44. Plugin for Third Party Jars
Create a separate plugin
– New > Plug-in from Existing JAR Archives
• Add .qualifier to version
• Always adds a new version to plugin folder of Update Site
– For additional jars
• Import the jar
• Add to Build Path
• Ensure included in Binary Build on build.properties
– Also blog post by John Dalsgaard
45. Including Plugin
Add as Required Plug-in to plugin.xml
Click on Properties and tick “Reexport this dependency”
Add to feature
Ensure “Unpack the plug-in archive after the installation” is ticked
– Otherwise DDE will not see the jars
47. Creating Component Plugin
Take a custom control and make it global
NotesIn9 64 by Tim Tripcony #codefortim
Or code within Eclipse
Extensibility API 9.0.1
48. Classes for Component
Component class DOMINO / DDE (Setters / Adders only)
.xsp-config to add properties DDE
– See http://avatar.red-pill.mobi/tim/blog.nsf/d6plinks/TTRY-8DDDEZ for making Eclipse identify
*.xsp-config files as XML files #codefortim
Renderer class, if required DOMINO
– Use getRendererType() to find an existing renderer
faces-config.xml to register renderer with server DOMINO
Load xsp-config and faces-config.xml in Library class
49. Demo Plugin
Add component for Separator
Allow properties for:
– separatorType (New Line / Space)
– count (integer, defaulting to 1)
Deploy org.apache.commons.lang3
Add utility method to convert any object to string detailing properties
51. Links to Demos
Third Party Library / Component Plugin
– https://github.com/paulswithers/BP106
• Demo database is in notes folder
AngularJS Plugin
– https://github.com/guedeWebGate/pluginDemoAngularJS
52. Thank You
• Paul Withers
• [email protected]
• http://www.intec.co.uk/blog
• http://twitter.com/paulswithers
• Christian Güdemann
• [email protected]
• http://guedebyte.wordpress.com
• http://twitter.com/guedeWebGate
53. Engage Online
SocialBiz User Group socialbizug.org
– Join the epicenter of Notes and Collaboration user groups
Social Business Insights blog ibm.com/blogs/socialbusiness
– Read and engage with our bloggers
Follow us on Twitter
– @IBMConnect and @IBMSocialBiz
LinkedIn http://bit.ly/SBComm
– Participate in the IBM Social Business group on LinkedIn
Facebook https://www.facebook.com/IBMConnected
– Like IBM Social Business on Facebook
55. Configuring DDE for Adding Plugin Directly
Navigate to framework directory inside the Notes Data Directory
Create a new plugin directory
Create a .link file
Inside your newly created text file add the following:
path=C:/Program Files (x86)/IBM/Notes/framework/pluginsExt
Update platform.xml
Change the transient attribute on the config tag to false
Replace all the instances of policy="MANAGED-ONLY" to policy="USER-EXCLUDE"
56. Exporting Plugins Directly to DDE
Export plugin as a “Deployable Plugin and Fragment”
Put in newly created directory
Restart designer
You can also launch Domino Designer from Eclipse
– http://www.everythingaboutit.eu/2014/06/launch-domino-designer-from-eclipse-to.html