SlideShare una empresa de Scribd logo
1 de 28
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

Más contenido relacionado

La actualidad más candente

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, TrivandrumAbhijitNarayan2
 
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 SourceChris Aniszczyk
 
Jenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with JenkinsJenkins 101: Continuos Integration with Jenkins
Jenkins 101: Continuos Integration with JenkinsAll Things Open
 
Advantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepoAdvantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepoIanDavidson56
 
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 entornosMicael Gallego
 
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 2014Maarten 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 administrationShawn Doyle
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version ControlJeremy Coates
 
Building Good Containers for Python Applications
Building Good Containers for Python ApplicationsBuilding Good Containers for Python Applications
Building Good Containers for Python ApplicationsAll Things Open
 

La actualidad más candente (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
 

Destacado

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 Levelbalassaitis
 
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 ReplicationHoward 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 XPagesUlrich 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 2013balassaitis
 
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, 2014Howard 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 projectMark 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 BeyondTony 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 XPagesbeglee
 
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 ScalabilityPaul 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 WebinarHoward 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 Worldpdhannan
 
Speed up your XPages Application performance
Speed up your XPages Application performanceSpeed up your XPages Application performance
Speed up your XPages Application performanceMaarga 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 DevelopmentPaul Withers
 

Destacado (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 a 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 scaleDmytro 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 DatabaseFITC
 
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 Scalabilityddrschiw
 
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
 
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 usersJaime Buelta
 
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 EngineVlad 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 TurboGearsAlessandro Molina
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers workNeoito
 
kranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadkranonit S06E01 Игорь Цинько: High load
kranonit S06E01 Игорь Цинько: High loadKrivoy Rog IT Community
 
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 2014Kathy Brown
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalabilityTwinbit
 
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 DatabaseMarcelo 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 XPagesUlrich 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 ProjectDaniel Lima
 

Similar a 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 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+
 
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
 
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
 

Más de 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 2014Per Henrik Lausten
 
Bootstrap4XPages - an introduction
Bootstrap4XPages - an introductionBootstrap4XPages - an introduction
Bootstrap4XPages - an introductionPer Henrik Lausten
 
An introduction to IBM BlueMix
An introduction to IBM BlueMixAn introduction to IBM BlueMix
An introduction to IBM BlueMixPer 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
 

Más de 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
 

Último

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

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