SlideShare a Scribd company logo
Introduction to
XPages for administrators

                    PHL-Consult.dk
                    info@PHL-Consult.dk

                    Per Henrik Lausten
November 28, 2012   per.lausten.dk/blog/
                    twitter.com/perlausten
About Per Henrik Lausten
●
    Full-time developer and part-time administrator with my
    own one-man company
●
    Chairman of NotesNet – an assocation of 25 independent
    consultants
●
    Member of the board at OpenNTF – open source for IBM
    Notes/Domino and IBM Connections
●
    Member of the board at DanNotes
●
    Mentor for XPages developers in several companies
●
    Experienced XPages web application developer
     ●
         startdithjerte.dk
     ●
         mediaplus.dk
     ●
         cbbpremiumpro.dk
     ●
         collaborationtoday.info
     ●
         sherlockapp.dk
     ●
         and more
Agenda
●
    Warning!
●
    What is XPages?
●
    “You”
●
    Maximizing performance
●
    Application development
●
    RESTful web services
●
    Configuration and administration
●
    Security
●
    Troubleshooting and monitoring
●
    Impress your developers and users
●
    Homework
Questions




        How many of you run web servers?
      How many of you run XPages web apps?
Warning!
●
    It's the Wild Wild Web (WWW)
    ●
        so normal rules do not apply!
●
    The structure and predictability of the Notes client is gone
●
    The web is different than the Notes client

●
    But don't worry! you can blame your developers - and
    Internet Explorer
What is XPages?
●
    Web development platform based on JavaServer Faces (JSF) 1.2
●
    Uses HTML, CSS, server-side Javascript, client-side Javascript, Java,
    Dojo Javascript framework
●
    Runs on IBM Domino 8.5+ and IBM XWork Server 8.5+
●
    Can use 3rd party (commercial and open source) frameworks such as:
    ●
        UI: Blueprint, Twitter bootstrap, etc.
    ●
        Mobile UI: jQuery Mobile, Dojo Mobile, Sencha Touch, etc.
    ●
        Java: Google Guava, iText, JDBC connectors, etc.
●
    Uses the Notes/Domino NSF for data storage (NoSQL)
●
    Can easily extend and modernize existing Notes applications
●
    It's the future!
Examples of XPages applications
More examples of XPages applications
“You”
●
    Your job as administrator is very important:
    ●
        You help developers
    ●
        You help users
    ●
        You manage the servers
●
    In other words: you are involved in the complete
    application lifecycle
●
    Your developers' job: build the system
Maximizing performance
●
    Hardware and OS level
    ●
        Add lots of RAM
    ●
        64-bit OS and 64-bit IBM Domino/IBM XWork Server (only 32-bit on Linux
        available)
    ●
        SSD for the Domino program files
    ●
        Adjust Java heap size: HTTPJVMMaxHeapSize=512M (appr. 25% of available
        memory). Default can be very low!
●
    XPages server-wide performance settings via data/properties/xsp.properties
    ●
        Persistence mode (xsp.persistence.mode):
        –  Keep pages in memory (best performance)
         – Keep pages on disk (best scalability)
         – Keep only the current page in memory (scales and performs well)
           Default on 8.5.2+
    ●
        Compression mode (xsp.compress.mode): gzip
    ●
        Aggregate resources (xsp.resources.aggregate): true
Maximizing performance (continued)
●
    Use Single Copy XPage Design: improve performance for apps using the same template
●
    Caching of application data
    ●
        DbLookup and DbColumn with cache:
        http://openntf.org/s/dblookup-dbcolumn-with-cache-sort-and-unique
        (to reduce hits at the "backend" database). Consider modifying it to use applicationScope
        for some lookups
    ●
        Scoped beans (cached application logic and data)
●
    Caching of resources such as CSS, client-side JS and images (to reduce number of requests
    from browser to server)
    ●
        Application Properties caching of JS, CSS, images and files (defaults to no caching, and is
        set in each database)
    ●
        Internet Site rules (you do use Internet sites in your Domino Directory, right?)
    ●
        HTTP response headers, incoming URL pattern such as *.jpg, add Expires header
    ●
        XPages Resource Servlet (xsp.expires.global, default 10 days): used for /.ibmxspres
        resources such as compressed CSS and compressed JS
Maximizing performance (continued)
●
    Pre-load certain XPages applications to improve startup times
    ●
        XPagesPreload=1 in notes.ini
    ●
        XpagesPreloadDB=servername!!
        path/mydb.nsf/myxpage.xsp,servername!!path/anotherdb.nsf


●
    Test application using the Yahoo YSlow analyzer (tests 23 of the 34 rules
    from the Yahoo Web Performance Best Practices and Rules document).
    http://developer.yahoo.com/yslow/
Demo of compression and aggregation
●
    First load: appr. 300 KB
●
    Following requests: appr. 3 KB
●
    http://sherlockapp.dk
Application development
●
    Domino Dojo versions
    ●
        8.5.0 == Dojo 1.1.1
    ●
        8.5.1 == Dojo 1.3.2
    ●
        8.5.2 == Dojo 1.4.3
    ●
        8.5.3 == Dojo 1.6.1 (Dojo 1.5 had initial support for mobile)
    ●
        9.0 == Dojo 1.8
●
    OneUI versions
    ●
        8.5.0 == OneUI 1.x?
    ●
        8.5.1 == OneUI 1.6 (2.01 included for evaluation purposes only)
    ●
        8.5.2 == OneUI 2.01
    ●
        8.5.3 == OneUI 2.1
    ●
        9.0 == OneUI 3.0
Application development (continued)
●
    IBM Upgrade Pack 1 vs. the OpenNTF Extension Library
●
    Benefits of UP1 and Ext. Lib
●
    Installation
    ●
        Installing UP1 on 8.5.3 (OS installer)
    ●
        Installing Extension Library on 8.5.2
        (manually or via the Plugins Deployment for Domino
        project on OpenNTF)
    ●
        Installing Extension Library on 8.5.3 (using an Update
        Site database to deploy it as OSGi plugins)
Development (continued)
●
    Domino releases and fix packs improve XPages a lot! So
    use Domino 8.5.3 FP3 (latest as of November 2012)
●
    Help your developers and users: turn of the intranet
    setting that forces Internet Explorer to use IE6 Standards
    Mode!
●
    The Update Site method for OSGi installations can be
    used to easily deploy Jar files, jQuery etc. that are going
    to be used server wide
●
    Source control: use an external service such as Github
    and Bitbucket, or setup your own in-house server
RESTful web services
●
    Domino Access Services (DAS): Provides a REST API that
    represents Domino objects in JSON format
●
    Provides easy access to backend data for e.g. mobile apps
    and XPages apps that needs to create, read, update and
    delete (CRUD)
●
    How to install: http://www-
    10.lotus.com/ldd/ddwiki.nsf/xpViewCategories.xsp?
    lookupName=Domino%20Data%20Service
●
    Must be enabled on server level (internet sites documents),
    database level and view level
●
    The DELETE HTTP method is disabled by default on internet
    sites
RESTful web services (continued)
●
    Examples of GET requests:
    ●   GET http://server/api/data
        Gets information about the databases on the server
    ●   GET http://server/path/db.nsf/api/data/collections
        Gets information about the views and folders in a database
    ●   GET http://server/path/db.nsf/api/data/collections/name/viewname?
        start=0&count=3
        Gets information about entries in a view of a database
    ●   GET http://server/path/db.nsf/api/data/documents/unid/<UNID>
        Get a specific document
Questions




       How many of you use Internet Sites in
            your Domino Directory?
Configuration and administration
●
    Domino Directory (names.nsf)
    ●
        Use Internet Sites
    ●
        Use substitution rules (friendly URLs)
    ●
        Use Single Server or Multiple Servers (SSO) session
        authentication
    ●
        LTPA:
         –   set Expiration to a high number (example: 480
             minutes) because LTPA sessions are not extended
             even though the user is active
         –   Then use Idle Session Timeout and set it to a
             (example: 60 minutes)
Configuration and administration (cont.)
●
    Use Domino Web Server Configuration (domcfg) to set up Sign In, Change
    Password and Error & Response mappings to have login, change
    password and error/response forms with a corporate UI (?login and ?
    changepassword commands)
    ●
        Set HTTP_PWD_CHANGE_CACHE_HOURS=0 to remove caching of
        old password
●
    Use Auto Login to set up “remember me” functionality (from OpenNTF)
    ●
        LTPA uses Lotus Multi-Byte Character Set (LMBCS) from IBM Lotus to
        encode the LTPA tokens. You need to install the jar files icu4j-49_1.jar
        and icu4j-charset-49_1.jar on the server in the jvmlibext folder. They
        can be downloaded from http://site.icu-project.org/download
Configuration and administration (cont.)
●
    Set up an error page for non-nsf resources:
    HTTPMultiErrorPage=/error.html
    ●
        It has to be a static HTML file. It can not be redirected to a NSF
●
    Use the latest ODS (CREATE_R85_DATABASES=1)
●
    Central control of lots of XPages properties via xsp.properties
    ●
        On the IBM Domino and IBM XWork server in data/properties there is
        a xsp.properties.sample file
●
    XPages creates lots of temp files. You can move them to another drive
    by using the xsp.persistence.dir.xspstate option in xsp.properties
    ●
        example: xsp.persistence.dir.xspstate=e:xspstate
Security
●
    XPages can use session, sessionAsSigner, and
    sessionAsSignerWithFullAdminRights (!)
●
    Access is controlled in the server document
●
    Tell your developers: Use "Hide design element from:
    Web browsers" for forms and views when moving an
    internal Notes client app to the external web
Troubleshooting and monitoring
●
    Add an error page with corporate UI to web applications
●
    Use a central logging system such as OpenLog (from OpenNTF)
●
    Inspect log files (log.nsf, console.log, xpages log files in
    IBM_TECHNICAL_SUPPORT, etc)
●
    Use XPages Log File Reader for easy access to log files (from
    OpenNTF)
●
    Use XPages Toolbox for profiling, monitoring and inspection of
    XPages applications (from OpenNTF)
●
    Use XPages Debug Toolbar for access to debug tools useful during
    development (from OpenNTF)
●
    Using Java: watch for memory leaks on the server
●
    Use YourKit for profiling of JVM/memory issues
Impress your developers and users
●
    Install XPages Extension Library (from OpenNTF) or Upgrade Pack 1 (from
    IBM)
●
    Use the XPages demo application (http://dev.openntf.org/) to see what
    Extension Library and Upgrade Pack 1 offers
●
    Install Auto Login to have “remember me” functionality (from OpenNTF)
●
    Upgrade existing teamrooms and discussion databases to Teamroom XL
    and Discussion XL (from Extension Library or Upgrade Pack 1)
Impress your developers and users (cont.)
●
    Install XPages Log File Reader (from OpenNTF) and send your
    developers a link
●
    Tell your developers about XPages Debug Toolbar (from OpenNTF)
●
    Tell your developers about the multipage messages phase listener
    (by Mark Leusink: http://linqed.eu/?p=66)
●
    Use a central OpenLog database
●
    Load commonly used code elements such as Java JAR files as OSGi
    modules
Homework
●
    Read XPages Portable Command Guide
Questions?
 Per Henrik Lausten
 per@PHL-Consult.dk
 PHL-Consult.dk
 per.lausten.dk/blog
 @perlausten

More Related Content

What's hot

Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
AbhijitNarayan2
 
Mono Repo
Mono RepoMono Repo
Mono Repo
Zacky Pickholz
 
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Phase2
 
Evolution of Version Control In Open Source
Evolution of Version Control In Open SourceEvolution of Version Control In Open Source
Evolution of Version Control In Open Source
Chris Aniszczyk
 
Jenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with JenkinsJenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with Jenkins
All Things Open
 
Hg for bioinformatics, second part
Hg for bioinformatics, second partHg for bioinformatics, second part
Hg for bioinformatics, second part
Giovanni Marco Dall'Olio
 
Advantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepoAdvantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepo
IanDavidson56
 
Hg version control bioinformaticians
Hg version control bioinformaticiansHg version control bioinformaticians
Hg version control bioinformaticians
Giovanni Marco Dall'Olio
 
Deployer
DeployerDeployer
Testing fácil con Docker: Gestiona dependencias y unifica entornos
Testing fácil con Docker: Gestiona dependencias y unifica entornosTesting fácil con Docker: Gestiona dependencias y unifica entornos
Testing fácil con Docker: Gestiona dependencias y unifica entornos
Micael Gallego
 
From SVN to Git
From SVN to GitFrom SVN to Git
From SVN to Git
Sergio Gutierrez-Santos
 
Master the Monorepo
Master the MonorepoMaster the Monorepo
Master the Monorepo
Roman Minchyn
 
Lets git to it
Lets git to itLets git to it
Lets git to it
Yoram Michaeli
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
Maarten Balliauw
 
Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Jérôme Petazzoni
 
Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)Hideki Yamane
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administration
Shawn Doyle
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
Alkacon Software GmbH & Co. KG
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
Jeremy Coates
 
Building Good Containers for Python Applications
Building Good Containers for Python ApplicationsBuilding Good Containers for Python Applications
Building Good Containers for Python Applications
All Things Open
 

What's hot (20)

Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
 
Mono Repo
Mono RepoMono Repo
Mono Repo
 
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
Best Practices for Development Deployment & Distributions: Capital Camp + Gov...
 
Evolution of Version Control In Open Source
Evolution of Version Control In Open SourceEvolution of Version Control In Open Source
Evolution of Version Control In Open Source
 
Jenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with JenkinsJenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with Jenkins
 
Hg for bioinformatics, second part
Hg for bioinformatics, second partHg for bioinformatics, second part
Hg for bioinformatics, second part
 
Advantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepoAdvantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepo
 
Hg version control bioinformaticians
Hg version control bioinformaticiansHg version control bioinformaticians
Hg version control bioinformaticians
 
Deployer
DeployerDeployer
Deployer
 
Testing fácil con Docker: Gestiona dependencias y unifica entornos
Testing fácil con Docker: Gestiona dependencias y unifica entornosTesting fácil con Docker: Gestiona dependencias y unifica entornos
Testing fácil con Docker: Gestiona dependencias y unifica entornos
 
From SVN to Git
From SVN to GitFrom SVN to Git
From SVN to Git
 
Master the Monorepo
Master the MonorepoMaster the Monorepo
Master the Monorepo
 
Lets git to it
Lets git to itLets git to it
Lets git to it
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
 
Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014Scale Big With Docker — Moboom 2014
Scale Big With Docker — Moboom 2014
 
Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)Local Community for Debian (2013 Taiwan miniDebConf)
Local Community for Debian (2013 Taiwan miniDebConf)
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administration
 
OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?OpenCms Days 2015 How do you develop for OpenCms?
OpenCms Days 2015 How do you develop for OpenCms?
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
 
Building Good Containers for Python Applications
Building Good Containers for Python ApplicationsBuilding Good Containers for Python Applications
Building Good Containers for Python Applications
 

Viewers also liked

AD502: The Mobile Disruption: Why XPages Development is Targeting Mobile First
AD502: The Mobile Disruption: Why XPages Development is Targeting Mobile FirstAD502: The Mobile Disruption: Why XPages Development is Targeting Mobile First
AD502: The Mobile Disruption: Why XPages Development is Targeting Mobile FirstJohn Head
 
MWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next LevelMWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next Level
balassaitis
 
Webinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationWebinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting Replication
Howard Greenberg
 
Responsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UIResponsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UIChris Toohey
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Howard Greenberg
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
Ulrich Krause
 
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
balassaitis
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Howard Greenberg
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Howard Greenberg
 
Lessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage projectLessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage project
Mark Roden
 
AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
AD503: XPages Mobile Development in IBM Domino 9.0.1 and BeyondAD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
Tony McGuckin
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
Paul Withers
 
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesIBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
beglee
 
IBM ConnectED 2015 - MAS103 XPages Performance and Scalability
IBM ConnectED 2015 - MAS103 XPages Performance and ScalabilityIBM ConnectED 2015 - MAS103 XPages Performance and Scalability
IBM ConnectED 2015 - MAS103 XPages Performance and Scalability
Paul Withers
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
Howard Greenberg
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
pdhannan
 
Speed up your XPages Application performance
Speed up your XPages Application performanceSpeed up your XPages Application performance
Speed up your XPages Application performance
Maarga Systems
 
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
Howard Greenberg
 
Domino OSGi Development
Domino OSGi DevelopmentDomino OSGi Development
Domino OSGi DevelopmentPaul Fiore
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
Paul Withers
 

Viewers also liked (20)

AD502: The Mobile Disruption: Why XPages Development is Targeting Mobile First
AD502: The Mobile Disruption: Why XPages Development is Targeting Mobile FirstAD502: The Mobile Disruption: Why XPages Development is Targeting Mobile First
AD502: The Mobile Disruption: Why XPages Development is Targeting Mobile First
 
MWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next LevelMWLUG 2015 - AD114 Take Your XPages Development to the Next Level
MWLUG 2015 - AD114 Take Your XPages Development to the Next Level
 
Webinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting ReplicationWebinar: From Frustration to Fascination: Dissecting Replication
Webinar: From Frustration to Fascination: Dissecting Replication
 
Responsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UIResponsive Layout Frameworks for XPages Application UI
Responsive Layout Frameworks for XPages Application UI
 
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
Connect 2014 - BP202: Rapid XPages Development Using the Application Layout C...
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013
 
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
Creating a Great XPages User Interface, TLCC Teamstudio Webinar - Feb, 2014
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
 
Lessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage projectLessons learned from the worlds largest XPage project
Lessons learned from the worlds largest XPage project
 
AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
AD503: XPages Mobile Development in IBM Domino 9.0.1 and BeyondAD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
 
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...
 
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesIBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
 
IBM ConnectED 2015 - MAS103 XPages Performance and Scalability
IBM ConnectED 2015 - MAS103 XPages Performance and ScalabilityIBM ConnectED 2015 - MAS103 XPages Performance and Scalability
IBM ConnectED 2015 - MAS103 XPages Performance and Scalability
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
Speed up your XPages Application performance
Speed up your XPages Application performanceSpeed up your XPages Application performance
Speed up your XPages Application performance
 
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...MWLUG Session-  AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
MWLUG Session- AD112 - Take a Trip Into the Forest - A Java Primer on Maps, ...
 
Domino OSGi Development
Domino OSGi DevelopmentDomino OSGi Development
Domino OSGi Development
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
 

Similar to Intro to XPages for Administrators (DanNotes, November 28, 2012)

Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
Dmytro Semenov
 
MongoDB: Advantages of an Open Source NoSQL Database
MongoDB: Advantages of an Open Source NoSQL DatabaseMongoDB: Advantages of an Open Source NoSQL Database
MongoDB: Advantages of an Open Source NoSQL Database
FITC
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
Shean McManus
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
ddrschiw
 
Ad109 - XPages Performance and Scalability
Ad109 - XPages Performance and ScalabilityAd109 - XPages Performance and Scalability
Ad109 - XPages Performance and Scalability
ddrschiw
 
Utopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K usersUtopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K users
Jaime Buelta
 
Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+
Python Ireland
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
Vlad Filippov
 
PyGrunn2013 High Performance Web Applications with TurboGears
PyGrunn2013  High Performance Web Applications with TurboGearsPyGrunn2013  High Performance Web Applications with TurboGears
PyGrunn2013 High Performance Web Applications with TurboGears
Alessandro Molina
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers work
Neoito
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadKrivoy Rog IT Community
 
Next.js with drupal, the good parts
Next.js with drupal, the good partsNext.js with drupal, the good parts
Next.js with drupal, the good parts
Taller Negócio Digitais
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
Teamstudio
 
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
Kathy Brown
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
Twinbit
 
Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseExperiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the Database
Marcelo Ochoa
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPages
Ulrich Krause
 
SAMKUMAR- Sr.Linux SystemAdministrator (1)
SAMKUMAR- Sr.Linux SystemAdministrator (1)SAMKUMAR- Sr.Linux SystemAdministrator (1)
SAMKUMAR- Sr.Linux SystemAdministrator (1)gandi samkumar
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!
Ulrich Krause
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine Project
Daniel Lima
 

Similar to Intro to XPages for Administrators (DanNotes, November 28, 2012) (20)

Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
MongoDB: Advantages of an Open Source NoSQL Database
MongoDB: Advantages of an Open Source NoSQL DatabaseMongoDB: Advantages of an Open Source NoSQL Database
MongoDB: Advantages of an Open Source NoSQL Database
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
Ad108 - XPages in the IBM Lotus Notes Client - A Deep Dive!
 
Ad109 - XPages Performance and Scalability
Ad109 - XPages Performance and ScalabilityAd109 - XPages Performance and Scalability
Ad109 - XPages Performance and Scalability
 
Utopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K usersUtopia Kindgoms scaling case: From 4 to 50K users
Utopia Kindgoms scaling case: From 4 to 50K users
 
Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+Utopia Kingdoms scaling case. From 4 users to 50.000+
Utopia Kingdoms scaling case. From 4 users to 50.000+
 
Web App Prototypes with Google App Engine
Web App Prototypes with Google App EngineWeb App Prototypes with Google App Engine
Web App Prototypes with Google App Engine
 
PyGrunn2013 High Performance Web Applications with TurboGears
PyGrunn2013  High Performance Web Applications with TurboGearsPyGrunn2013  High Performance Web Applications with TurboGears
PyGrunn2013 High Performance Web Applications with TurboGears
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers work
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High load
 
Next.js with drupal, the good parts
Next.js with drupal, the good partsNext.js with drupal, the good parts
Next.js with drupal, the good parts
 
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!
 
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
SHOW102 XPages: Still No Experience Necessary IBM Connect 2014
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
 
Experiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the DatabaseExperiences with Evangelizing Java Within the Database
Experiences with Evangelizing Java Within the Database
 
Life In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPagesLife In The FastLane: Full Speed XPages
Life In The FastLane: Full Speed XPages
 
SAMKUMAR- Sr.Linux SystemAdministrator (1)
SAMKUMAR- Sr.Linux SystemAdministrator (1)SAMKUMAR- Sr.Linux SystemAdministrator (1)
SAMKUMAR- Sr.Linux SystemAdministrator (1)
 
La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!La vita nella corsia di sorpasso; A tutta velocità, XPages!
La vita nella corsia di sorpasso; A tutta velocità, XPages!
 
Doctrine Project
Doctrine ProjectDoctrine Project
Doctrine Project
 

More from Per Henrik Lausten

Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014
Per Henrik Lausten
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introduction
Per Henrik Lausten
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMix
Per Henrik Lausten
 
XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)
Per Henrik Lausten
 
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
Per Henrik Lausten
 
A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...
Per Henrik Lausten
 
XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)
Per Henrik Lausten
 
My view on XPages
My view on XPagesMy view on XPages
My view on XPages
Per Henrik Lausten
 

More from Per Henrik Lausten (8)

Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014Introduktion til Twitter for FCNetværk, august 2014
Introduktion til Twitter for FCNetværk, august 2014
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introduction
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMix
 
XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)XPages and Java (DanNotes 50th conference, November 2013)
XPages and Java (DanNotes 50th conference, November 2013)
 
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
En fantastisk applikationsserver (Intravision IBM Connect 2013 Update i Århus)
 
A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...A powerful web application server (intravision IBM Connect 2013 Update) Febru...
A powerful web application server (intravision IBM Connect 2013 Update) Febru...
 
XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)XPages Extension Library - Create an app in 1 hour (almost)
XPages Extension Library - Create an app in 1 hour (almost)
 
My view on XPages
My view on XPagesMy view on XPages
My view on XPages
 

Recently uploaded

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
Fwdays
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

Intro to XPages for Administrators (DanNotes, November 28, 2012)

  • 1. Introduction to XPages for administrators PHL-Consult.dk info@PHL-Consult.dk Per Henrik Lausten November 28, 2012 per.lausten.dk/blog/ twitter.com/perlausten
  • 2. About Per Henrik Lausten ● Full-time developer and part-time administrator with my own one-man company ● Chairman of NotesNet – an assocation of 25 independent consultants ● Member of the board at OpenNTF – open source for IBM Notes/Domino and IBM Connections ● Member of the board at DanNotes ● Mentor for XPages developers in several companies ● Experienced XPages web application developer ● startdithjerte.dk ● mediaplus.dk ● cbbpremiumpro.dk ● collaborationtoday.info ● sherlockapp.dk ● and more
  • 3. Agenda ● Warning! ● What is XPages? ● “You” ● Maximizing performance ● Application development ● RESTful web services ● Configuration and administration ● Security ● Troubleshooting and monitoring ● Impress your developers and users ● Homework
  • 4. Questions How many of you run web servers? How many of you run XPages web apps?
  • 5. Warning! ● It's the Wild Wild Web (WWW) ● so normal rules do not apply! ● The structure and predictability of the Notes client is gone ● The web is different than the Notes client ● But don't worry! you can blame your developers - and Internet Explorer
  • 6. What is XPages? ● Web development platform based on JavaServer Faces (JSF) 1.2 ● Uses HTML, CSS, server-side Javascript, client-side Javascript, Java, Dojo Javascript framework ● Runs on IBM Domino 8.5+ and IBM XWork Server 8.5+ ● Can use 3rd party (commercial and open source) frameworks such as: ● UI: Blueprint, Twitter bootstrap, etc. ● Mobile UI: jQuery Mobile, Dojo Mobile, Sencha Touch, etc. ● Java: Google Guava, iText, JDBC connectors, etc. ● Uses the Notes/Domino NSF for data storage (NoSQL) ● Can easily extend and modernize existing Notes applications ● It's the future!
  • 7. Examples of XPages applications
  • 8. More examples of XPages applications
  • 9. “You” ● Your job as administrator is very important: ● You help developers ● You help users ● You manage the servers ● In other words: you are involved in the complete application lifecycle ● Your developers' job: build the system
  • 10. Maximizing performance ● Hardware and OS level ● Add lots of RAM ● 64-bit OS and 64-bit IBM Domino/IBM XWork Server (only 32-bit on Linux available) ● SSD for the Domino program files ● Adjust Java heap size: HTTPJVMMaxHeapSize=512M (appr. 25% of available memory). Default can be very low! ● XPages server-wide performance settings via data/properties/xsp.properties ● Persistence mode (xsp.persistence.mode): – Keep pages in memory (best performance) – Keep pages on disk (best scalability) – Keep only the current page in memory (scales and performs well) Default on 8.5.2+ ● Compression mode (xsp.compress.mode): gzip ● Aggregate resources (xsp.resources.aggregate): true
  • 11. Maximizing performance (continued) ● Use Single Copy XPage Design: improve performance for apps using the same template ● Caching of application data ● DbLookup and DbColumn with cache: http://openntf.org/s/dblookup-dbcolumn-with-cache-sort-and-unique (to reduce hits at the "backend" database). Consider modifying it to use applicationScope for some lookups ● Scoped beans (cached application logic and data) ● Caching of resources such as CSS, client-side JS and images (to reduce number of requests from browser to server) ● Application Properties caching of JS, CSS, images and files (defaults to no caching, and is set in each database) ● Internet Site rules (you do use Internet sites in your Domino Directory, right?) ● HTTP response headers, incoming URL pattern such as *.jpg, add Expires header ● XPages Resource Servlet (xsp.expires.global, default 10 days): used for /.ibmxspres resources such as compressed CSS and compressed JS
  • 12. Maximizing performance (continued) ● Pre-load certain XPages applications to improve startup times ● XPagesPreload=1 in notes.ini ● XpagesPreloadDB=servername!! path/mydb.nsf/myxpage.xsp,servername!!path/anotherdb.nsf ● Test application using the Yahoo YSlow analyzer (tests 23 of the 34 rules from the Yahoo Web Performance Best Practices and Rules document). http://developer.yahoo.com/yslow/
  • 13. Demo of compression and aggregation ● First load: appr. 300 KB ● Following requests: appr. 3 KB ● http://sherlockapp.dk
  • 14. Application development ● Domino Dojo versions ● 8.5.0 == Dojo 1.1.1 ● 8.5.1 == Dojo 1.3.2 ● 8.5.2 == Dojo 1.4.3 ● 8.5.3 == Dojo 1.6.1 (Dojo 1.5 had initial support for mobile) ● 9.0 == Dojo 1.8 ● OneUI versions ● 8.5.0 == OneUI 1.x? ● 8.5.1 == OneUI 1.6 (2.01 included for evaluation purposes only) ● 8.5.2 == OneUI 2.01 ● 8.5.3 == OneUI 2.1 ● 9.0 == OneUI 3.0
  • 15. Application development (continued) ● IBM Upgrade Pack 1 vs. the OpenNTF Extension Library ● Benefits of UP1 and Ext. Lib ● Installation ● Installing UP1 on 8.5.3 (OS installer) ● Installing Extension Library on 8.5.2 (manually or via the Plugins Deployment for Domino project on OpenNTF) ● Installing Extension Library on 8.5.3 (using an Update Site database to deploy it as OSGi plugins)
  • 16. Development (continued) ● Domino releases and fix packs improve XPages a lot! So use Domino 8.5.3 FP3 (latest as of November 2012) ● Help your developers and users: turn of the intranet setting that forces Internet Explorer to use IE6 Standards Mode! ● The Update Site method for OSGi installations can be used to easily deploy Jar files, jQuery etc. that are going to be used server wide ● Source control: use an external service such as Github and Bitbucket, or setup your own in-house server
  • 17. RESTful web services ● Domino Access Services (DAS): Provides a REST API that represents Domino objects in JSON format ● Provides easy access to backend data for e.g. mobile apps and XPages apps that needs to create, read, update and delete (CRUD) ● How to install: http://www- 10.lotus.com/ldd/ddwiki.nsf/xpViewCategories.xsp? lookupName=Domino%20Data%20Service ● Must be enabled on server level (internet sites documents), database level and view level ● The DELETE HTTP method is disabled by default on internet sites
  • 18. RESTful web services (continued) ● Examples of GET requests: ● GET http://server/api/data Gets information about the databases on the server ● GET http://server/path/db.nsf/api/data/collections Gets information about the views and folders in a database ● GET http://server/path/db.nsf/api/data/collections/name/viewname? start=0&count=3 Gets information about entries in a view of a database ● GET http://server/path/db.nsf/api/data/documents/unid/<UNID> Get a specific document
  • 19. Questions How many of you use Internet Sites in your Domino Directory?
  • 20. Configuration and administration ● Domino Directory (names.nsf) ● Use Internet Sites ● Use substitution rules (friendly URLs) ● Use Single Server or Multiple Servers (SSO) session authentication ● LTPA: – set Expiration to a high number (example: 480 minutes) because LTPA sessions are not extended even though the user is active – Then use Idle Session Timeout and set it to a (example: 60 minutes)
  • 21. Configuration and administration (cont.) ● Use Domino Web Server Configuration (domcfg) to set up Sign In, Change Password and Error & Response mappings to have login, change password and error/response forms with a corporate UI (?login and ? changepassword commands) ● Set HTTP_PWD_CHANGE_CACHE_HOURS=0 to remove caching of old password ● Use Auto Login to set up “remember me” functionality (from OpenNTF) ● LTPA uses Lotus Multi-Byte Character Set (LMBCS) from IBM Lotus to encode the LTPA tokens. You need to install the jar files icu4j-49_1.jar and icu4j-charset-49_1.jar on the server in the jvmlibext folder. They can be downloaded from http://site.icu-project.org/download
  • 22. Configuration and administration (cont.) ● Set up an error page for non-nsf resources: HTTPMultiErrorPage=/error.html ● It has to be a static HTML file. It can not be redirected to a NSF ● Use the latest ODS (CREATE_R85_DATABASES=1) ● Central control of lots of XPages properties via xsp.properties ● On the IBM Domino and IBM XWork server in data/properties there is a xsp.properties.sample file ● XPages creates lots of temp files. You can move them to another drive by using the xsp.persistence.dir.xspstate option in xsp.properties ● example: xsp.persistence.dir.xspstate=e:xspstate
  • 23. Security ● XPages can use session, sessionAsSigner, and sessionAsSignerWithFullAdminRights (!) ● Access is controlled in the server document ● Tell your developers: Use "Hide design element from: Web browsers" for forms and views when moving an internal Notes client app to the external web
  • 24. Troubleshooting and monitoring ● Add an error page with corporate UI to web applications ● Use a central logging system such as OpenLog (from OpenNTF) ● Inspect log files (log.nsf, console.log, xpages log files in IBM_TECHNICAL_SUPPORT, etc) ● Use XPages Log File Reader for easy access to log files (from OpenNTF) ● Use XPages Toolbox for profiling, monitoring and inspection of XPages applications (from OpenNTF) ● Use XPages Debug Toolbar for access to debug tools useful during development (from OpenNTF) ● Using Java: watch for memory leaks on the server ● Use YourKit for profiling of JVM/memory issues
  • 25. Impress your developers and users ● Install XPages Extension Library (from OpenNTF) or Upgrade Pack 1 (from IBM) ● Use the XPages demo application (http://dev.openntf.org/) to see what Extension Library and Upgrade Pack 1 offers ● Install Auto Login to have “remember me” functionality (from OpenNTF) ● Upgrade existing teamrooms and discussion databases to Teamroom XL and Discussion XL (from Extension Library or Upgrade Pack 1)
  • 26. Impress your developers and users (cont.) ● Install XPages Log File Reader (from OpenNTF) and send your developers a link ● Tell your developers about XPages Debug Toolbar (from OpenNTF) ● Tell your developers about the multipage messages phase listener (by Mark Leusink: http://linqed.eu/?p=66) ● Use a central OpenLog database ● Load commonly used code elements such as Java JAR files as OSGi modules
  • 27. Homework ● Read XPages Portable Command Guide
  • 28. Questions? Per Henrik Lausten per@PHL-Consult.dk PHL-Consult.dk per.lausten.dk/blog @perlausten