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.
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
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.
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.
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.
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
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.
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.
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.
AD201 - IBM Domino Application Development Today And Tomorrowpjanzen11
The past several years have provided developers with a multitude of new capabilities for building IBM Domino applications and 2013 was no different. Come hear about the latest enhancements in Domino and Domino Designer 9.x that further strengthen the RADD value proposition. We will share new features for building web and mobile web applications with XPages, improvements for making your applications social as well as what's new in APIs. You will also hear what's available for running your applications in the IBM cloud. There will be plenty of demos to whet your appetite and we will round it out with some of our plans for the future.
The only constant in software development is CHANGE. Every piece of software that has been developed and shipped to a customer will be changed numerous times during it's life cycle. Depending on how well the code is designed, it is more or less easy to implement changes. MVC, which is an acronym for Model - View - Controller is no new concept. In fact this design paradigm was created by Xerox in the 80's, and it is becoming THE recommended model for designing frameworks - especially on the web. The session will give an overview of design pattern in general and MVC in particular. We will show, how to use the MVC design paradigm in an XPages application and demonstrate, how easy it is to implement changes. Need to read/write your data from/to an XML file instead of using a Notes View. MVC makes software maintenance easy as 1-2-3
Given at TechMaine's Java Users Group on Feb 26 2008
Why do we need another build tool when we already have Ant? By focusing on convention over configuration, Maven allows you to declaratively define how your project is built, which reduces a lot of the procedural code that you'd need to implement in every build file if you were using Ant. This, along with Maven's built-in management of repositories for project dependencies, allows you to streamline your build process. Ultimately Maven can reduce the amount of time that would otherwise be wasted hunting down jar files and fiddling with boilerplate build scripts.
This presentation covers Maven's core concepts. It introduces the Plugin architecture, and explain how the most popular plugins are used. It also covers the POM concept and how it relates to dependency tracking and repositories.
Presents an overview of Apache Maven, a famous declarative build tool widely used in the Java ecosystem, focussing on philosophy, qualities and characteristics. To learn Maven, see www.sonatype.com/book/.
This is OpenTalkWare www.opentalkware.org cc-by-3.0 by Robert Burrell Donkin http://robertburrelldonkin.name
Mark Leusink shows how to use the Bootstrap4XPages project to make XPages applications fully responsive for both desktop and mobile devices.
Learn how to:
-Get started using Bootstrap4Xpages
-Install the library
-Exploit the most advanced capabilities and controls
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)
AD201 - IBM Domino Application Development Today And Tomorrowpjanzen11
The past several years have provided developers with a multitude of new capabilities for building IBM Domino applications and 2013 was no different. Come hear about the latest enhancements in Domino and Domino Designer 9.x that further strengthen the RADD value proposition. We will share new features for building web and mobile web applications with XPages, improvements for making your applications social as well as what's new in APIs. You will also hear what's available for running your applications in the IBM cloud. There will be plenty of demos to whet your appetite and we will round it out with some of our plans for the future.
The only constant in software development is CHANGE. Every piece of software that has been developed and shipped to a customer will be changed numerous times during it's life cycle. Depending on how well the code is designed, it is more or less easy to implement changes. MVC, which is an acronym for Model - View - Controller is no new concept. In fact this design paradigm was created by Xerox in the 80's, and it is becoming THE recommended model for designing frameworks - especially on the web. The session will give an overview of design pattern in general and MVC in particular. We will show, how to use the MVC design paradigm in an XPages application and demonstrate, how easy it is to implement changes. Need to read/write your data from/to an XML file instead of using a Notes View. MVC makes software maintenance easy as 1-2-3
Given at TechMaine's Java Users Group on Feb 26 2008
Why do we need another build tool when we already have Ant? By focusing on convention over configuration, Maven allows you to declaratively define how your project is built, which reduces a lot of the procedural code that you'd need to implement in every build file if you were using Ant. This, along with Maven's built-in management of repositories for project dependencies, allows you to streamline your build process. Ultimately Maven can reduce the amount of time that would otherwise be wasted hunting down jar files and fiddling with boilerplate build scripts.
This presentation covers Maven's core concepts. It introduces the Plugin architecture, and explain how the most popular plugins are used. It also covers the POM concept and how it relates to dependency tracking and repositories.
Presents an overview of Apache Maven, a famous declarative build tool widely used in the Java ecosystem, focussing on philosophy, qualities and characteristics. To learn Maven, see www.sonatype.com/book/.
This is OpenTalkWare www.opentalkware.org cc-by-3.0 by Robert Burrell Donkin http://robertburrelldonkin.name
Mark Leusink shows how to use the Bootstrap4XPages project to make XPages applications fully responsive for both desktop and mobile devices.
Learn how to:
-Get started using Bootstrap4Xpages
-Install the library
-Exploit the most advanced capabilities and controls
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)
Learning To Run - XPages for Lotus Notes Client DevelopersKathy Brown
You’re an experienced Lotus Notes developer. You’ve been doing “classic” development for years. You know LotusScript better than your native language. You know @Formula like the back of your hand. But when it comes to Xpages and Javascript, you feel like you’re learning to walk all over again. This session will cover some tips and tricks to get you up and running in Xpages. Learn how to translate what you already know, into what you need to know for Xpages. Find out where to get the information to be just as skillful at Xpages as you are with Notes client development.
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!ddrschiw
This session gives you the grand tour of XPages in the Lotus Notes client. You'll discover how easy it is to take your XPages Web apps offline, and then add custom client behaviors that really adapt your application to Lotus Notes client platform. Spread your wings and integrate your application with other client components using real-world use cases that can make a real difference to your business. Learn how to test and debug your XPages client app along the way, and see how XPages supports traditional Lotus Notes client features and get a glimpse of where these integration points will lead in the future. If you have plans for XPages on the Lotus Notes client, this session is a must for you!
It's Not Infernal: Dante's Nine Circles of XPages HeavenTeamstudio
Come join us for this fun but informative webinar on XPages development with Paul Withers and Mike McGarel as they present their session from Connect 2014! 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.
Do Try This at Home! Extend IBM Connections using IBM WorklightProlifics
DO Try This at Home! Extend IBM Connections using IBM Worklight
Speakers:
Handly Cameron, Prolifics
Smriti Kapuria , Prolifics
Abstract: In this session you will learn how to extend IBM Connections and build a mobile app using IBM Worklight. Come see a live demo as we show you how to construct a mobile app and make use of the Social Business Toolkit, OpenSocial, and REST APIs. Experts from Prolifics will cover techniques for integrating with IBM Connections and mobile app construction. We will walk you through the steps of developing a mobile app in Worklight and using Worklight adapters to add social features through the Connections API. After this session, you will be ready to start building your own app. Both Worklight Studio and IBM Greenhouse are free to use, so you CAN try this at home!
UXDev Summit Keynote : A real world story of Angular and Apache Unomi integra...Serge Huber
In this presentation I talk about how we used Angular and Apache Unomi to build our Marketing Factory product. I talk about the process, best practices and lessons learned while selecting and then integration both technologies to deliver our new platform in record time.
A brownbag presentation at IPC media in London about the need to use libraries to make web development much less random and more professional. Get the audio at: http://www.archive.org/details/ProfessionalWebDevelopmentWithLibraries
From JavaSpaces, JINI and GigaSpaces to SpringBoot, Akka – reactive and microservice pitfalls.
http://blog.mitemitreski.com/2014/11/java2days-2014-from-javaspaces-jini-and.html#.VHPK7x9jOCg
Electron is an open-source framework developed by GitHub. It allows for the development of desktop GUI applications using the popular Node.js runtime. Electron is the main framework behind two notable open-source source code editors: GitHub's Atom and Microsoft's Visual Studio Code.
Your business users want to access their Notes & Domino applications on their mobile devices. Join our second free webinar in a four-part series and have two experienced experts, Matt White and Rich Sharpe, guide you through what you need to know.
The first webinar on Jan. 8 took a look at the tools and frameworks that can help you. The second webinar will take a deeper dive into one of the main alternatives: IBM Dojo Mobile Controls. The second half of the series will tackle the other main alternatives: Unplugged Mobile Controls and JQuery Mobile. Matt and Rich will pick out the good, the bad, and the ugly stories from their Domino development experiences.
In Part 2, learn:
-IBM Dojo Mobile Controls
-Performance considerations
-Pros and cons vs. alternatives
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
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
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.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
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.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
2. Paul Withers
ICS Consultant at Intec Systems Ltd
IBM Champion 2011-2014
Co-Author XPages Extension Library
OpenNTF Director
Contributor to OpenNTF
Blogger on XPages, IBM Domino®
Designer and beyond
– http://www.intec.co.uk/blog
3. Mike McGarel
Working with Web technologies for over 14 years
Working with IBM Notes® & IBM Domino® since version 4.6
Corporate developer
Site developer for MWLUG
3
4. Dante’s Inferno
Author: Dante Alighieri, 14th Century
Part of Divine Comedy with Purgatorio and Paradiso
Journey by Dante over Easter Weekend 1300
Dante rescued and guided by the Roman poet Virgil
“Lasciate ogne speranza, voi ch’intrate”
(“Abandon all hope, ye who enter here”)
4
5. The Circles
First Circle: Limbo
Second Circle: Lust
Third Circle: Gluttony
Fourth Circle: Greed
Fifth Circle: Wrath
Sixth Circle: Heresy
Seventh Circle: Violence
Eighth Circle: Fraud
Ninth Circle: Treachery
5
7. Hybrid “Limbo” Applications
Add XPages into traditional Domino web applications
Use existing Domino databases as data source and new
XPages database for user interface
Add mobile interface
Add XPages for sidebar
7
8. SSJS – The “Limbo” Language
Server-side JavaScript leverages pre-existing knowledge
– JavaScript syntax
• NotesDocument.getUniversalID()
• @DbLookup(@DbName(),“myViewName”,2,
“[FAILSILENT]”)
– Domino objects use LotusScript names
– Many Formula Language @Functions supported
• Kathy Brown has blogged which ones are not
• http://www.runningnotes.net/index.php/2010/03/25/list-
of-formula-not-supported-in-xpages/
8
9. “Limbo” Property Values
Custom Language
<xp:text
value= “Database title is #{database.title}, database path
is #{javascript: @Subset(@DbName(), -1);}”>
</xp:text>
9
11. Converting LS to SSJS
Replace “Dim” with “var”
Replace “ As ” with “:”
Add “;”
Remember methods etc are case sensitive and need ()
GetAllDocumentsByKey – need to pass key as Vector
Full syntax required for interacting with Notes Items
RECYCLE!
11
13. It’s All About Wants
Users want:
– a familiar “look and feel”
– something easy to use
– to get in and out
You want them to want your app
13
14. Looks Matter
First impressions are key
Better looking “equals” works better
Steve McDonagh’s great series on design principles:
http://dominoyesmaybe.blogspot.com/2012/09/principals-of-
design-1-balance.html
14
24. Persistence Options
Keep Pages in Memory
– Remembering, remembering, remembering…
– xsp.persistence.mode=basic
– Best for…quick retrieval, few users
Keep Pages on Disk
– Writing…next? You want it again? Reading…
– xsp.persistence.mode=file
– Best for…lots of users, but slower retrieval
24
25. Persistence Options
Keep Only The Current Page in Memory
– Remembering, remembering, remembering…
– Oh, new page? Writing….and now…
– Remembering, remembering, remembering…
– xsp.persistence.mode=fileex
– Best for…lots of users, quick retrieval of current page
25
27. Persistence Options
Maximum Pages
– xsp.persistence.tree.maxviews
• Default=4
• Remembering, remembering, remembering
• Only applies when xsp.persistence.mode=basic
– xsp.persistence.file.maxviews
• Default=10
• Writing, retrieving, writing, writing, discarding…
• Default folder defined by xsp.persistence.dir.xspstate
27
28. Page Persistence Mode
xsp.persistence.viewstate=fulltree
– Default option, whole component tree persisted
xsp.persistence.viewstate=nostate
–No component tree stored, similar to
xsp.session.transient=true
xsp.persistence.viewstate=delta
– Valid if pages stored in memory
– Only stores changes since page loaded
28
29. Page Persistence Mode
xsp.persistence.viewstate=deltaex
– Valid if multiple pages stored in memory
– Stores full component tree for current page, deltas for
others
Viewstate property on XPage allows developer to define at
page level
29
30. xsp.session.transient
xsp.session.transient=“false” sets XPage stateless
– Default VALUES overridden between requests
– Default STATES not overridden
NOT “Go to next page from current”
– INSTEAD “Go to next page from default”
NOT “Toggle show detail from previous state”
– INSTEAD “Toggle show detail from default”
Great for large, read only pages, Websites – no storage
30
32. More Responsiveness = Less Anger
Partial page refreshes
Client-side processing
– Dojo JavaScript framework (included with XPages)
– jQuery JavaScript framework (easily added)
– Other JavaScript frameworks or custom scripts
Server-side processing
– XAgent (XPage of just code with UI redirect)
– Java (design element or WebContentWEB-INFsrc)
32
37. Why?
#{javascript:…} means parse this string using SSJS rules
Pass commands to VariableResolver
Look for corresponding variable name
Map to a Java object/method
So why not go straight to the source?
37
42. Themes
Themes can force controls to behave consistently
But some elements cannot be manipulated easily
–EventHandlers don’t have a default stylekit
–They can have a themeId applied though
Themes loaded at end of page rendering
–getStyleKitFamily() to find default theme id
–Or use Mark Leusink’s debug toolbar
42
43. “Strong-Arming” All Events
Dojo Standby Control on OpenNTF
– Hijacks partial refreshes
– Adds standby message during long-running partial
refreshes
– http://openntf.org/XSnippets.nsf/snippet.xsp?id=standby-
dialog-custom-control
43
46. HTTPOnly Cookies
Since Domino 9.0 SessionID and DomAuthSessId are now
HTTPOnly
Cannot be modified or removed via JavaScript
–http://openntf.org/XSnippets.nsf/snippet.xsp?id=clear-
session-whole-server does not work
Cannot be intercepted
46
47. How To Add Your Own HTTPOnly Cookie
Serdar Basegmez XSnippet
http://openntf.org/XSnippets.nsf/snippet.xsp?id=extended-
cookie-implementation-for-httponly-cookies
47
49. Beyond Domino Designer
Generate Javadocs
Eclipse Modeling Tools to create UML designs
– Use latest Eclipse for RCP and RAP Developers
– Download from Eclipse Marketplace
Atlassian SourceTree and Perforce P4Merge
SHOW 103 Wednesday 8am
http://www.slideshare.net/paulswithers1/beyond-domino-
designer
49
50. We climbed, he first, I following his steps,
Till on our view the beautiful lights of heaven
Dawned through a circular opening in the cave:
Thence issuing we again beheld the stars
Dante, Inferno, Canto 34 130-133
50
51. Summary
XPages is a gateway to other worlds
It is a journey – small steps lead to great strides
Learn from what others have done
Be prepared for the “Great Beyond”
51
52. Other Sessions
SHOW103: Source Control 101: Implementing an End-to-End Solution
SHOW104: Practical Java
AD201: Domino Application Development: Today and Tomorrow
AD202: Get The Best Out of Bootstrap4XPages
AD207: Widgets, LiveText and Now OpenSocial
AD209: Making Your Team More Productive with IBM Domino Designer JMP101: Java for
XPages Development
JMP106: Make Your Business Open and Social using IBM Notes Social Edition 9.0.1
BP207: Don’t Reinvent The Wheel – Re(use) Open Source Software from OpenNTF
GURU101: Gurupalooza
52
55. Access Connect Online to complete your session surveys using any:
– Web or mobile browser
– Connect Online kiosk onsite
55
Mike McGarel
Czarnowski Display Services Inc.
mcgarelgramming@gmail.com
http://www.bleedyellow.com/blogs/McGarelGramming/
@mmcgarel
Paul Withers
Intec Systems Ltd
pwithers@intec.co.uk
http://www.intec.co.uk/blog
@PaulSWithers