Email Us   Phone : 503-259-0312   
  Home    |    Instructor-led Training    |    Online Training     

Contact Us   -   Why Choose Wintrac   -   Clients    

Big Data
Business Analysis
Business Intelligence
Business Objects
Business Skills
C/C++/Go programming
Cloud Computing
Crystal Reports
Data Science
Desktop Application Software
Embedded Systems
Google Web Toolkit (GWT)
Leadership Development
Machine learning/AI
Mainframe programming
Microsoft technologies
MultiMedia and design
New Manager Development
Object oriented analysis and design
Oracle VM
Professional Soft Skills Workshops
Project Management
Sales Performance
Software quality and tools
SQL Server
Visual Basic
Visual Foxpro
Web Development
Websphere MQ (MQSeries)
Windows programming
XML Web Services
Lotus Domino Designer 8: JavaScript
Lotus Training Overview

TDuring this course you will use Domino Designer 8 to add JavaScript to Domino applications that are accessed by browsers. The course covers the basic language elements of JavaScript, how to add scripts using Domino Designer, and how to exploit the various browser and language object event handlers. There is a strong emphasis on the browser object model and how it relates to the Domino object model. The course also touches on how to incorporate Dynamic HTML, Java Applets, LiveConnect, ActiveX controls, and AJAX into web-based applications.

Lotus Training Course goals

In this course, you will learn how to: This course will teach you how to:

  • build a fundamental knowledge of JavaScript as it is applied in Domino applications used by modern browsers
  • provide practical programming and debugging experience to ensure a foundation of JavaScript skills
  • understand the relationship between JavaScript and Domino data types
  • clarify the use of the various object models, including the Domino Object Model, the original browser Document Object Model, JavaScript language objects, and the newer W3C Level 1 Document Object Model
  • use JavaScript to code the Field, Button, and Form event handlers
  • build a practical understanding of data validation and error trapping
  • use DHTML to create interactive web pages
  • control Java applets using LiveConnect
  • remotely access Domino objects via CORBA
  • script ActiveX objects
  • use AJAX to request and process Domino-generated XML and JSON
  • develop practical ways to detect which browser is being used and how to code appropriately.
Lotus Training Audience

This course assumes that you have: thorough knowledge of the Domino Designer 8 development environment, including Form, Page, View, Frameset, and Agent design, as well as how to set properties and set the ACL
  • knowledge of Web technologies, including servers, browsers, HTML, Cascading Style Sheets, and some basic JavaScript (or other browser scripting language) and awareness of browser object properties and methods
  • basic understanding of LotusScript and the various Notes product objects
  • because this course does not review any aspects of the non-JavaScript aspects of developing applications with Domino Designer, mastery of the topics covered in these courses:
  • Lotus Domino Designer 8: Basic Notes Applications
  • Lotus Domino Designer 8: Basic Browser Applications courses.
This course is part of a series of Domino Designer 8 training courses. Follow these paths to master all aspects of developing applications using Domino Designer:

Domino Designer 8: Basic Notes Applications provides the base knowledge for this additional training:

Client Track

  • Configure Domino to use DB2 as a database engine and build applications that access relational data, DB2 for Domino 8 Administrators and Developers.
  • Specialize in programming Notes applications to respond to built-in user interface features, Domino Designer 8: Special Notes Features.
  • Convert an application written for Notes clients to be used in browsers, Domino Designer 8: Basic Browser Applications.
  • Provide data to cutting-edge Web applications, Domino Designer 8: Web Agents and Web Services.
Language Track. These languages apply to both Notes and browser clients:

  • Learn sophisticated application techniques that fully exploit the formula language in Domino Designer 8: Formula Language.
  • Develop sophisticated applications and Agents with LotusScript in Domino Designer 8: LotusScript.
  • Add powerful client-side scripting to browser applications in Domino Designer 8: JavaScript.
Course design

The course takes a task-oriented approach, during which you will work with JavaScript code that will have immediate application to your Domino applications. Because this course instructs you how JavaScript works with respect to Domino, you will be able to leverage the many JavaScript resources available to you as a developer.

Lotus Training Course duration

3 days

Lotus Training Course outline

    Topic 1: Browser Objects and JavaScript

      Preview of the Domino/browser exchange
      Programming challenge
      The history of client-side scripting
      Brief history of browser object models
      Launch browser from Lotus Notes
      Browser Object Model (DOM Level 0)
      JavaScript vis-a-vis browser objects
      Mozillas DOM and JavaScript object Inspector
      Domino as a Web server
      The Domino "Web Server"
      Third-party Web server plug-ins
      Exercise: Create project databases

    Topic 2: Coding JavaScript in Domino Designer

      HTML page structure
      Code your own HTML
      Other sources of HTML
      Getting JavaScript into the HEAD tag
      Exercise: JavaScript function
      Getting JavaScript onto an HTML page
      Exercise: Create a button
      Troubleshooting button problems
      JavaScript libraries
      JS files on Pages
      JavaScript library security
      Syntax checking
      Runtime error reporting
      Microsoft Script Editor
      Mozilla JavaScript Debugger
      Commercial debuggers
      Home grown debugging

    Topic 3: Basic Language Elements

      Walkthrough: Basic elements
      Simple data types
      Built-in functions
      var keyword and variable scope
      Simple dialog boxes
      Commented code
      Exercise: Dialog boxes
      try/catch statement
      throw statement
      Custom error object
      Garbage collection

    Topic 4: Branching and Looping Structures

      If structure
      Exercise: If structure
      Boolean operators
      Exercise: Boolean operator
      Simple if using ?
      While structure
      Do while structure
      For structure
      Exercise: Looping structures

    Topic 5: Custom Functions

      Function statement
      Function arguments
      How to call a function
      Where to call a function
      Return a value from a function
      Exercise: Function to test number
      Passing argument by value
      Recursive functions
      Conversion of @Commands to JavaScript functions

    Topic 6: JavaScript Objects

      Date object
      Browser or Domino Server time?
      Create date object
      Domino-acceptable date entry
      Exercise: Date object
      Math object
      Number object
      String object
      String object parsing methods
      Regular expressions
      Simple examples
      Valid number
      Intermediate example: Replace
      Advanced example: Patterns and literals
      Exercise: Fix URL function
      RegExp (regular expression) object
      Screen object
      Custom objects
      forin statement
      with statement
      delete operator
      Custom object prototyping
      Example: Custom class
      Example: Add method to JavaScript object
      Enumerator object
      Image object

    Topic 7: Arrays

      Array attributes
      How to declare an array
      Create array from @DbColumn
      Number of elements
      Append elements
      Read one element
      Read all elements
      Out-of-bound errors
      Copy entire array
      Array object methods
      Delete element
      Find values in an array
      "Multi-dimension" arrays
      Associative arrays
      Exercise: Parse URL command string
      Parse URL command string using formula
      Unique array elements
      Object Literal
      Nested Literals

    Topic 8: Browser Object Model

      Browser object hierarchy
      Browser object browser
      Table of browser objects
      Traverse the hierarchy
      Example: Access Form object
      Example: Access Field object
      Chaining object references
      this keyword
      self keyword
      Help with the Browser Object Model
      Exercise: Accessing a Field object
      Browser object and Domino object interaction
      Example: Form processing
      Browser object to Domino object limitations

    Topic 9: Browser Event Handlers

      Possible events
      Event handler basics
      Commonly-coded events
      Walkthrough: Investigate event handlers
      Capture key presses
      Example 1: Capture key presses
      Example 2: Capture ESC and double-click
      Event handler registration
      this keyword
      Object event default actions
      Coding the javascript: pseudo-protocol
      Coding javascript: in a formula

    Topic 10: Field Access

      HTML field data type
      Text field access
      with statement
      JavaScript access to Computed/Hidden Fields in Edit mode
      <INPUT> tag and Fields
      JavaScript access to Computed/Hidden Fields in Read mode
      Parsing a multi-value Field into an array
      <SELECT> field access
      Select an option
      Add new option to a select list
      Remove option
      Radio Button
      Select all check boxes
      Exercise: Accessing fields
      Exercise: Searching from a Page
      Rich text values

    Topic 11: Field Input Translation and Validation

      Field-level help
      Field translation
      Field validation
      Test data type
      Validate for number
      Test for NaN
      Test for "null" and "undefined" and ""
      Validate for file attachment name
      onblur, alert, and focus interactions
      Select field validation
      Radio and check box validation
      String format validation
      Date validation with JavaScript
      Handling leap years
      Forcing valid date entries
      Field computation
      When you must use Server-side input translation/validation
      Example: Server-side input validation
      Date validation via @Functions
      Exercise: Recalc using JavaScript

    Topic 12: Form Validation

      Field-level event handler caveats
      "Object is not defined" error
      onsubmit event handler
      Keep the <FORM> tag compact
      Conditionally call form.submit()
      Exercise: Form validation
      Hybrid Form validation
      Ensure just one submission
      window.onerror event handler

    Topic 13: Window Object

      Open window using HTML
      Open window using JavaScript
      Hybrid HTML Link/JavaScript link
      Window features
      Referring to windows
      Cross-domain script security restriction
      Focus on a window
      Print window
      Write to window
      Resize, move window
      Close a window
      Window opener property
      Exercise: Help window
      Custom dialog boxes
      Simulating @Picklist using standard
      Simulating @Dialogbox with a modal dialog box
      Address book lookup dialog box
      setTimeout method
      clipboardData object

    Topic 14: Frame Object

      Frames are windows
      Frameset basics
      Support browsers that dont support Frames
      Example frameset
      Targeting frame content using HTML
      Dynamic frames from JavaScript
      Call a function from another frame
      Exercise: Help frame
      Example: On-Form help frame
      IFrame Object

    Topic 15: Location Object

      Location is where you are
      Database properties
      Location properties
      Location object versus CGI variable
      Set location to the current database
      URL encoding
      Setting the location
      Replacing the location
      Example: ESC and Double-click
      Refresh/Reload a window
      Working with frame locations
      Redirection to user mail
      Redirect to SSL connection
      Manual redirection: "Menu Options"
      Menu Option 1: Select with button
      Menu Option 2: Select w/o button
      Exercise: Page chooser
      Prevent from being framed
      Frame your pages
      Invalid URLs and buffer overflows

    Topic 16: Browser State Persistence

      Who is the user?
      What is a cookie?
      Privacy issues
      Set cookie using META tag
      Read cookie using CGI variable
      Weaknesses of HTTP/HTML methods
      Set cookie using JavaScript
      Example: Set cookie
      Get cookie using JavaScript
      Set cookie using formula
      Parse cookie values
      Delete cookie
      Exercise: Default Field values using cookie
      Profile documents
      Profile documents and security
      Create Profile document
      Read from Profile document Fields
      Example: Profile document
      Behaviors and data persistence
      Userdata and IE security
      Example: Userdata

    Topic 17: Dynamic HTML

      DOM Level 1 enhancements
      DOM Level 1 hierarchy
      Element nodes
      Browsing the node hierarchy
      Mozillas DOM and JavaScript object Inspector
      Instantiate a node object
      Example: Instantiate Subject Field
      Get and set Field value
      Set Field style properties
      Element object shortcut
      TextNode objects
      Node event handlers
      DHTML examples
      Example: Change style sheets on Form load
      Example: Change style sheets on the fly
      Example: Reset style on elements
      Example: Hide When
      Example: Expand all sections
      Example: Disable element
      Exercise: Disable element
      Element positioning
      Date picker
      Field input mask behavior

    Topic 18: JavaScript and Java Applets

      Java and Domino
      Import/embed single file Java applet
      Embed applet with parameters
      Import/embed multiple file applet with parameters
      Applet parameters
      Shared Applet Resource
      Applet access to JavaScript objects
      Date picker Java applet
      Domino applets
      Exercise: Editor Java applet
      lotus.domino.AppletBase applet
      How the lotus.domino.AppletBase applet works
      Domino Server settings
      Client settings
      How to embed the lotus.domino.AppletBase applet
      Accessing Domino objects via JavaScript
      Java Console
      Common errors with lotus.domino.AppletBase

    Topic 19: Domino Views

      $$ViewTemplateDefault as redirector
      JavaScript function calls in column formulas
      Exercise: JavaScript in column formula
      HTML check boxes in Views
      Document processing in applet View
      Alphabetic index
      Search from View

    Topic 20: JavaScript and ActiveX Controls

      ActiveX and security
      Example 1: Shockwave not scripted
      Example 2: Flash - scripted
      Example 3: Windows Media Player
      Example 4: Calendar control
      Example 5: Run methods in embedded Editor control

    Topic 21: Asynchronous JavaScript and XML

      AJAX rediscovered
      GET data from Domino
      POST data to Domino
      XMLHttpRequest object
      XMLHttpRequest object example
      XMLHttpRequest and security
      Limit and control data from view
      JavaScript Object Notation (JSON)
      XML document transformation
      Other examples of using Domino XML output

    Topic 22: Browser Compatibility

      What browsers are being used?
      The issues
      Code strategies
      Server-side branching with @BrowserInfo
      Client-side browser type/version detection
      Detect browser type/version using CGI variable
      Hide JavaScript from non-compliant browsers
      JavaScript version detection
      Client-side object detection
      Case Study: "Layers"
      Programmatic access to "layers"
      Cross-browser coding
      The problem with either type of browser detection with JavaScript

    Topic 23: JavaScript Resources

      JScript reference
      ECMAScript-262 reference
      Browser object models (DOM)
      JavaScript example code
      DHTML examples
      Java applets
      ActiveX controls
      JavaScript toolkits/function libraries/frameworks
      Domino AJAX examples

About us
Contact us
Careers at Wintrac
Our Clients
Why Wintrac

Register for a free training CD-ROM drawing
Refer a client or instructor and earn $$$

Wintrac Inc.
16523 SW McGwire Ct.
Beaverton OR 97007
Wintrac, Inc. All rights reserved.                                                                               Site Map   |   Terms of Use   |   Privacy Policy