XPage Overview

Embed Size (px)

Citation preview

  • 8/8/2019 XPage Overview

    1/28

    2008 IBM Corporation

    A Closer Look at XPages in IBM Lotus DominoDesigner 8.5

    Ray ChanAdvisory I/T SpecialistLotus, IBM Software Group

  • 8/8/2019 XPage Overview

    2/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    2

    Agenda

    XPage overview

    From palette to properties: Controls, Ajax & Localization

    Look and feel: CSS & Themes

    Where's the logic? Events, simple actions, JavaScript and more

    Measure twice, cut once: Custom controls

    It's a wrap

  • 8/8/2019 XPage Overview

    3/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    3

    XPages A Big Leap Forward Visual Web page construction

    Advanced U/I controls

    Drag and drop development

    Instant Application Development

    XML markup with source

    Full control of HTML

    Business logic using JavaScript

    Presentation using CSS

    Skinning using themes

    Leverages existing NSF assets

    Web agents, formulas, security,...

  • 8/8/2019 XPage Overview

    4/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    4

    XPages What is it? A new Domino design element

    A runtime designed to generate modern Web applications

    Pure XML markup, defining:

    Controls, data sources, business logic, custom controls

    Solves age-old limitations expressed by the Domino community

    UI/Data separation, HTML generation control, server state, localization,extensibility

    Capable of targeting multiple clients

    Highly extensible runtime and design time

    Standards-based technology: JSF

    Full integrated into Domino Designer 8.5

    Visual Design Page, Source Page, Control Palette, Outline View etc

  • 8/8/2019 XPage Overview

    5/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    5

    XPage Prerequisites

    Installation and configuration

    XPage runtime is installed by default

    If doing custom install, make sure its checked

    HTTP task must be running

    Skills

    Knowledge of Domino object model

    HTML, CSS, XML and JavaScript are very beneficial but you can

    built an application without them

    Question = Do I need to learn Java?

    Answer = NO!

  • 8/8/2019 XPage Overview

    6/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    6

    XPage Security

    XPages use agent security model.

    Settings for Xpage application access

    XPage signer must have explicit

    access to server or select users

    listed in all trusted directories.

    Other settings which likelyrequire XPage design element

    signature to be added

    XPage Web user access

    Standard Domino Web authentication applies

    See Xpage User Guide: Designing with XPages \ Creating XPages \ Signing XPages

  • 8/8/2019 XPage Overview

    7/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    7

    Agenda

    XPage overview

    From palette to properties: Controls, Ajax & Localization

    Look and feel: CSS & Themes

    Where's the logic? Events, simple actions, JavaScript and more

    Measure twice, cut once: Custom controls

    It's a wrap

  • 8/8/2019 XPage Overview

    8/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    8

    XPages in Domino Designer 8.5

    XPagedesign

    element

    Controlspalette

    Custom Controlspalette

    Outline Propertysheets

    Scripting & SimpleActions

    Optional sourcemode

  • 8/8/2019 XPage Overview

    9/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    9

    XPage Controls

    Extensive palette of pre-built controls

    All the basic controls and containers

    expected for developing Web 2.0 apps

    Two categories of controls

    Core single entities used in XPage or custom control

    Container more complex and contain other controls

    Extensible palette of controls

    Custom controls

    More on that later...

  • 8/8/2019 XPage Overview

    10/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    XPage in 5 min Demo

  • 8/8/2019 XPage Overview

    11/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    11

    Built-In AJAX Support

    AJAX partial page refresh

    Available on any event

    Pre-built on View Pager

    AJAX Typeahead

    Add behavior to any edit control

    Content can be returned through a simpleformula in the page

    No need to write a separate service

    Dojo is provided as the client side library

    Will share some common controls with theclassic Web applications

  • 8/8/2019 XPage Overview

    12/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    Partial Update Demo

  • 8/8/2019 XPage Overview

    13/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    13

    CSS Support

    All look and feel is driven by CSS

    Enforce consistency between applications

    Help solving accessibility issues (Section 508 compliant)

    XPages feature global references to CSS files

    Style classes and inline styles can be applied per control

  • 8/8/2019 XPage Overview

    14/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    14

    CSS Skinning Themes

    Allows an application to pick up a look and feel without touching the actual

    application code

    Default styles are applied to controls without any explicit style set per

    control every property can be set

    Skinning can be disabled per application/control

    Association between control done through a Theme

    Defined at different levels: server or application

    Stored in a shared database

    Easily customizable by a developer and/or an administrator

  • 8/8/2019 XPage Overview

    15/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    Switch from this

  • 8/8/2019 XPage Overview

    16/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    To This... In seconds, the flexibility and agility of Themes

  • 8/8/2019 XPage Overview

    17/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    Apply Theme Demo

  • 8/8/2019 XPage Overview

    18/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    18

    Application Properties

    XPages tab

    GZip support

    Localization

  • 8/8/2019 XPage Overview

    19/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    Localization Demo

  • 8/8/2019 XPage Overview

    20/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    20

    Agenda

    XPage overview

    From palette to properties: Controls, Ajax & Localization

    Look and feel: CSS & Themes

    Where's the logic? Events, simple actions, JavaScript and more

    Measure twice, cut once: Custom controls

    It's a wrap

  • 8/8/2019 XPage Overview

    21/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    21

    Supported Languages JavaScript

    On the Client

    On the Server Access to back-end classes, @function support

    Global objects

    Extended API for i18n, XPages data...

    Server Side state: application scope, session scope & request scope Simple Actions

    Java

    Adding a Java class/library to an NSFJavaScript/Java bridge

    JSF managed beans Using EL

  • 8/8/2019 XPage Overview

    22/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    22

    XPages Events Model XPages events

    Page events

    Control EventsData sources events

    Computed Properties Data binding

    Server side JavaScript Libraries

    Validating dataValidation can occur on the client and on the server

    The predefined validators

    Creating custom validators

  • 8/8/2019 XPage Overview

    23/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    23

    Leveraging Existing Business Logic

    Forms

    Default Values

    Validation Formulas

    Views

    The query engine

    Agents

    Calling an agent (LotusScript)

  • 8/8/2019 XPage Overview

    24/28

    IBM Software Group | Lotussoftware

    IBM Software Group | Lotus software

    24

    Custom Controls

    Made by assembling existing controls

    Behave exactly as native controls

    Appear in the Control palette

    Define their own set of properties

    Hierarchical properties, with custom editors

    Editable areas

    Can be used

    As reusable UI assets (ex: an address control, a toolbar...)

    As a way to share some layout (ex: common page layout)

    Can be shared through templates (NTF) as any other designelement

  • 8/8/2019 XPage Overview

    25/28

    IBM Software Group | Lotus

    software

    IBM Software Group | Lotus software

    25

    Agenda

    XPage overview

    From palette to properties: Controls, Ajax & Localization

    Look and feel: CSS & Themes

    Where's the logic? Events, simple actions, JavaScript and more

    Measure twice, cut once: Custom controls

    It's a wrap

  • 8/8/2019 XPage Overview

    26/28

    IBM Software Group | Lotus software

    IBM Software Group | Lotus software

    26

    XPage - Help

    Accessed from menu

    Two reference guides

    F1 for

    contextsensitivehelp

  • 8/8/2019 XPage Overview

    27/28

    IBM Software Group | Lotus software

    * 27

    Resources New XPage Tutorial

    Use instead of one in publicbetas kits

    Will ship with Designer

    Learning objectives

    Set up and view an applicationcontaining XPage elements

    Create an XPage

    Add controls to an XPage

    Bind data to an Xpage

    Add navigation to an Xpage

    Create a custom control

    Use advanced binding and scripting

    No need for server use Designer preview in Web browser

    Download new XPage Tutorial here

  • 8/8/2019 XPage Overview

    28/28

    IBM Software Group | Lotus

    software

    IBM Software Group | Lotus software

    28

    Resources Continued

    Discussion 8.5

    Coming soon to Lotus Greehouse

    https://greenhouse.lotus.com

    XPages articles and examples

    http://www.thenorth.com/northern.nsf/html/XpagesArticle

    http://www.jmackey.net/

    http://www.lotus911.com/nathan/escape.nsf/d6plinks/NTFN-

    7FRG79