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...
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 !!!
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...Howard Greenberg
In this webinar OpenNTF members will discuss the Domino/Notes 12 features they like and suggest for everyone to check out!
The topics and speakers will be:
Time-based One-time Authentication (TOTP) - Roberto Boccadoro
TOTP allows multi-factor authentication. When users login to a Domino web server they have to provide a time-based one-time use password in addition to their usual name/password. This is done using a third party application like Google Authenticator, Authy or Duo Mobile on their mobile devices/computers.
Domino OSGI Tasklet Service (DOTS) - Serdar Basegmez
Create Domino server tasks using Java OSGI plugins. These can be scheduled and can interface with the server console using TELL commands.
One Touch Setup for Domino - Roberto Boccadoro
In previous versions of HCL Domino, setting up a Domino server involved multiple steps. Starting with Domino 12, you can use one-touch Domino setup to set up a server in just a single step.
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...
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 !!!
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...Howard Greenberg
In this webinar OpenNTF members will discuss the Domino/Notes 12 features they like and suggest for everyone to check out!
The topics and speakers will be:
Time-based One-time Authentication (TOTP) - Roberto Boccadoro
TOTP allows multi-factor authentication. When users login to a Domino web server they have to provide a time-based one-time use password in addition to their usual name/password. This is done using a third party application like Google Authenticator, Authy or Duo Mobile on their mobile devices/computers.
Domino OSGI Tasklet Service (DOTS) - Serdar Basegmez
Create Domino server tasks using Java OSGI plugins. These can be scheduled and can interface with the server console using TELL commands.
One Touch Setup for Domino - Roberto Boccadoro
In previous versions of HCL Domino, setting up a Domino server involved multiple steps. Starting with Domino 12, you can use one-touch Domino setup to set up a server in just a single step.
Jakarta EE is now over 20 years old and despite its age, it is as relevant today as it was back in 1999. It is one of the few open standards for developing enterprise applications with multiple independent vendor implementations. Its APIs are central to developing Java based cloud solutions. It is as relevant today as it was back in 1999. This presentation will provide context to Jakarta EE and why businesses choose to use it.
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
Not leading edge but bleeding edge experience Dockerizing Domino server and running XPages applications. Lotus Notes applications run just fine as well.
In the future IBM will make standing up Domino servers more automated. We do have a configuration step that is manual once the server starts... but it is dockerized and replicates with on prem Domino Domain.
Get Rapid Right-sized and Recent with the Liberty RepositoryGraham Charters
Presentation given at IBM InterConnect 2015 Conference. Cover:
- introduction to the Liberty Repository
- overview of managing Liberty install using the Liberty Repository.
Automated Infrastructure with Vagrant, Puppet and Docker by Laurynas Tretjakovas
Learn the common pitfalls and challenges of manual infrastructure and how automated and versioned infrastructure can help you in continuous integration, continuous delivery and overall development process. The presentation will also cover some of the most common infrastructure examples when building and deploying Java application
Jakarta EE is now over 20 years old and despite its age, it is as relevant today as it was back in 1999. It is one of the few open standards for developing enterprise applications with multiple independent vendor implementations. Its APIs are central to developing Java based cloud solutions. It is as relevant today as it was back in 1999. This presentation will provide context to Jakarta EE and why businesses choose to use it.
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
Not leading edge but bleeding edge experience Dockerizing Domino server and running XPages applications. Lotus Notes applications run just fine as well.
In the future IBM will make standing up Domino servers more automated. We do have a configuration step that is manual once the server starts... but it is dockerized and replicates with on prem Domino Domain.
Get Rapid Right-sized and Recent with the Liberty RepositoryGraham Charters
Presentation given at IBM InterConnect 2015 Conference. Cover:
- introduction to the Liberty Repository
- overview of managing Liberty install using the Liberty Repository.
Automated Infrastructure with Vagrant, Puppet and Docker by Laurynas Tretjakovas
Learn the common pitfalls and challenges of manual infrastructure and how automated and versioned infrastructure can help you in continuous integration, continuous delivery and overall development process. The presentation will also cover some of the most common infrastructure examples when building and deploying Java application
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
Your App Deserves More – The Art of App ModernizationKlaus Bild
Make your data sustainable and enhance the value of your applications. Your application and your work deserve it! We use applications everywhere but unfortunately a lot of them are old and monolithic. They are heavily used by your business but adding new functions to catch up with the business needs is almost impossible. We, a developer and an admin, will show you how you can transform your monolithic applications into modern apps using a smart architecture. Learn how you can leverage IBM Bluemix, Docker and suchlike to bring cognitive services to your applications. We will show you a live example to illustrate how we extended IBM Verse using IBM cloud technology to fulfill an urgent business need.
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.
Frank van der Linden / elstar IT
Since a few years the Domino server is a real Java server. Which give you plenty of new opportunities, such as real servlets. Get and post data to any database via a Java servlet. Develop once, run everywhere. In this session you will learn what are servlets, how to create a servlet as OSGi plugin. Make use of other plugins projects or third party projects and. Run the servlet on a Domino server and other Java servers, like Websphere Liberty Profile, Tomcat and Wildfly. Last but not least, how to deploy the servlet as OSGi plugin or as jar file or update site to the Domino server.
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchHoward Greenberg
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
OpenNTF presents Water Cooler Talks, an irregular new series of webinars to provide a stage for individuals sharing their stories, experiences and best practices with their peers.
This month's topic is all about developers' workbenches. As developers we all have tools and routines we use to develop, collaborate and test our applications. We have experienced lots of issues and made mistakes and have a workflow that does the job, but may not be ideal. Are there better ways to do our jobs? Come learn from your fellow developers in this webinar that looks at the typical toolbox and workflow routines of several OpenNTF Board members and how they develop apps, manage tasks, track bugs, handle versioning and more.
Howard Greenberg develops Notes/Domino/XPages applications for a variety of clients. Come learn how he uses source control in Domino Designer along with SourceTree and BitBucket to collaborate with his clients and maintain a history of all changes.
Jesse Gallagher develops XPages and webapp projects that target Domino. He will present his development environment and discuss using Maven and Jenkins to automate builds and delivery.
Serdar Basegmez utilizes Domino to create RESTful APIs for his clients. He will present his development environment and share some tips on Eclipse configuration, deployment and testing Domino plugins.
View the video at https://youtu.be/AMbQ5H4dEvw
В продолжение темы непрерывной интеграции, Макс расскажет о своем подходе организации непрерывной интеграции и деплоймента в Symfony проектах. Рассказ включает следующие темы:
- Управления зависимостями
- Процесс и инструменты для сборки
- Сервера непрерывной интеграции и в частности Jenkins, плагины к нему, jobs
- Процесс разработки в git
- Процесс выгрузки релиза
- Миграция БД
- Откат релиза
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...E. Camden Fisher
This was a talk given at the second CT Software Developers Meetup (http://www.meetup.com/CT-Software-Developers-Meetup/). It covers how NorthPage is using Docker and Vagrant with a home grown Preview tool to increase the efficiency of the GitHub Pull Request Workflow.
Docker Concepts for Oracle/MySQL DBAs and DevOpsZohar Elkayam
Oracle Week 2017 Slides
Agenda:
Docker overview – why do we even need containers?
Installing Docker and getting started
Images and Containers
Docker Networks
Docker Storage and Volumes
Oracle and Docker
Docker tools, GUI and Swarm
FooConf23_Bringing the cloud back down to earth.pptxGrace Jansen
How can we effectively develop for the cloud, when we as developers are coding back down on earth? This is where effective cloud-native developer tools can enable us to either be transported into the cloud or alternatively, to bring the cloud back down to earth. But what tools should we be using for this? In this session, we’ll explore some of the useful OSS tools and technologies that can used by developers to effectively develop, design and test cloud-native Java applications.
Software development is more than just writing code. Learn about organizing and packaging projects to be more accessible to other developers in this talk presented by SuprTEK. Discover what makes an easy-to-compile and distributable code base.
Similar to From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Libraries (ICON UK 2014) (20)
Social Connections 14 - ICS Integration with Node-RED and Open SourcePaul Withers
Presentation for Social Connections 14 Berlin 2018 by Paul Withers and Stefano Pogliani on Node-RED nodes for integrating with IBM Connections and IBM Watson Workspace
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
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Libraries (ICON UK 2014)
1. Presenter: Paul Withers
Company: Intec Systems Ltd
Presenter: John Cooper
Company: JCB
ICON UK 2014 From XPages Hero to OSGi Guru: Taking the Scary out of Building Extension Libraries
2. 2
Paul Withers
•XPages Developer since 2009
•IBM Champion
•Author of XPages Extension Library
•Developer XPages OpenLog Logger
•Co-Developer of OpenNTF Domino API
3. 3
John Cooper
Began developing XPages from 8.5.0
Developed many XPage applications using java beans and custom components so decide to create OSGI Plugin to be able to deploy once
New to blogging, contributed 1 project to Open NTF so far.
4. 4
Agenda
•Why
•Development and Debugging Environment
•XPages Starter Kit
•Structure and Deployment
5. 5
XPages Developer Roadmap
•11 types of developer – Stephan Wissel
•Three types of developer – Niklas Heidloff
•Five tiers of developers – Greg Reeder
Extension Library development should be the goal of XPages developers
6. 6
Why?
•Build Once, Use Anywhere (virtually!)
•Easier to deploy new versions
•Deploy for junior developers
•Deploy third-party libraries
•Apache POI etc
•JDBC Drivers
•More easily avoid Java security exceptions
•Required for DOTS
8. 8
JDBC Driver Plugin Wizard
•Enhancement to RDBMS part of Ext Lib
•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
9. 9
Agenda
•Why
•Development and Debugging Environment
•XPages Starter Kit
•Structure and Deployment
10. 10
Development and Debugging Environment
•Eclipse
•XPages SDK
•Debug Plugin
•IBM Java Runtime
•Local Domino Server recommended
11. 11
Eclipse for RCP and RAP Developers
•Latest release is Luna
•Debug plugin does not support this?
•Can have multiple versions installed
12. 12
OpenNTF XPages SDK Project
•Two downloads needed
•Installation video from Niklas Heidloff
13. 13
XPages SDK
•Gives XPages JREs and Target Platforms
•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
14. 14
Debug Plugin
•Allows you to point Domino server direct to projects in relevant workspace
•From 7:44 in video
•Point Preferences to Domino install
•Configure Domino server for Java debugging, as for Java development
•Run > Debug Configurations
•Create Debug Configuration
15. 15
OSGi Configuration
•Create new OSGi Framework configuration – tells Domino to use Eclipse workspace
•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!
16. 16
New Plugins
•For new 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
17. 17
Java Runtime
•Not necessary for most development
•Needed to debug Extension Library
•See blog post by Paul Withers
•Point eclipse.ini to Domino javaw.exe
•Ensures it uses IBM version of Java
•Add before Xms
•No spaces
18. 18
Agenda
•Why
•Development and Debugging Environment
•XSP Starter Kit
•Structure and Deployment
20. 20
XSP Starter Kit
•Sample Plugin
•Includes examples for all main classes
•Components
•Beans
•SSJS – not straightforward
•Listeners
•and more
21. 21
Agenda
•Why
•Development and Debugging Environment
•XPages Starter Kit
•Structure and Deployment
22. 22
Structure
•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
24. 24
Deployment to Server / DDE
•Run from Eclipse using Domino Debug Plugin
•Install to remote server as other Ext Libs
•See Chapter 2 of XPages Extension Library pp28+
•Install to DDE as other Ext Libs
25. 25
Deploy to DDE
•Every change you make to the component re-install the update – Quite laborious for development
•Add directly to DDE plugins
•Best to create separate directory See blog post by John Cooper
26. 26
Create new Directory
•Navigate to framework directory inside the Notes Data Directory
•Create a new plugin directory
27. 27
Create a Link file
•Inside your newly created text file add the following:
path=C:/Program Files (x86)/IBM/Notes/framework/jmc-plugins
28. 28
Update Platform.XML file
•Change the transient attribute on the config tag to false
•Replace all the instances of policy="MANAGED-ONLY" to policy="USER-EXCLUDE"
29. 29
Export Plugin
•Export plugin as a “Deployable Plugin and Fragment”
•Put in newly created directory
•Restart designer
30. 30
Is It Working?
•Check Help > Support > View Log and View Trace for errors / print statements
32. 32
Deployment to Developers / XPiNC
•Add to Widget Catalog from Update Site database
•See XPages Extension Library pp40+
•Best practice is using Desktop Policy, ensures updates automatically deployed
33. 33
Plugin Structure
•See Extensibility API Developers Guide
•Activator is optional
•Allows generic code to be run
•Extend org.eclipse.core.runtime.Plugin
34. 34
Extensions
•Extensions load other Java classes
•Extend com.ibm.commons.Extension
•Use “tell http osgi pt -v com.ibm. commons.Extension” to see types and classes currently loaded
39. 39
Rest Service using DAS
•DAS – Domino Access Services
•Create a plugin project
•Add extension point to plugin.xml
<plugin> <extension point="com.ibm.domino.das.service"> <serviceResources class="org.iconuk.servicesdemo.service.NabDetailsService" name="NabDetails" path="nabdetails" version="9.0.1"> </serviceResources> </extension> </plugin>
40. 40
Plugin.xml
class="org.iconuk.servicesdemo.service.NabDetailsService“
Points to main service class
name="NabDetails"
Name of service is used in server document to know which service to load
path="nabdetails"
Path is the used to for the URL to access the service. Eg. http://hostname/api/nabdetails
41. 41
Service Class
•Required for extension point
•Extends com.ibm.domino.das.service.RestService
•getClasses method used to access Classes for each service URL
42. 42
Resource class
•One class per url
api/nabdetails/me -> class CurrentUserDetailsResource
api/nabdetails/paul -> class UserPaulDetailsResource
•Used to identify which path uses the class
@Path(CURRENTUSER_PATH)
•Used to identify which http method uses class method
@GET
43. 43
Enable on server
•Load plugin on to server in same way as any other plugin
•Open Server Document Internet Protocols -> Domino Web Engine
•Add service name to Enabled DAS Services
44. 44
Components
•Take a custom control and make it global
•NotesIn9 64 by Tim Tripcony
•#codefortim
•Or code within Eclipse
•Extensibility API 9.0.1
45. 45
Components
•Component class DOMINO
•.xsp-config to add properties DDE
•Renderer class, if required DOMINO
•Use getRendererType() to find an existing renderer
•faces-config.xml to add renderer DOMINO
•Load xsp-config and faces-config.xml in Library class
46. 46
Including Third Party Jars
•Create a separate plugin
•New > Plug-in from Existing JAR Archives
•For additional jars
•Import the jar
•Add to Build Path
•Ensure included in Binary Build on build.properties
•Also blog post by John Dalsgaard
47. 47
Including Third Party Jars
•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
48. 48
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
49. 49
Links to Demos
•https://github.com/paulswithers/pluginDemo
•Demo database is in notes folder
•https://bitbucket.org/johnmcooper/icon-uk- 2014-services-demo
50. 50
Thank You
•Paul Withers
•pwithers@intec.co.uk
•http://www.intec.co.uk/blog
•http://twitter.com/paulswithers
•John Cooper
•john@johnmcooper.co.uk
•http://developmentblog.johnmcooper.co.uk
•http://twitter.com/j_m_cooper