Developing Context-sensitive Help for Web Applications Scott DeLoach.

Slides:



Advertisements
Similar presentations
Developing Customizable and Database-resident Help Scott DeLoach.
Advertisements

Microsoft Expression Web-Illustrated Unit K: Working with Behaviors.
1. XP 2 * The Web is a collection of files that reside on computers, called Web servers. * Web servers are connected to each other through the Internet.
ADO DB in Access VBA © Walter Milner 2005 Slide: 1 ADO VBA Programming in Access.
BASIC SKILLS AND TOOLS USING ACCESS
Developing Database-resident Help for Customizable Web-based Applications Scott DeLoach.
Designing Embedded User Assistance for Web- based Applications Scott DeLoach.
Case Studies in Web-based Embedded User Assistance Scott DeLoach © Copyright 2004, User First Services.
Tutorial 5 Windows and Frames Section A - Working with Windows.
Copyright ©2005 Department of Computer & Information Science Advanced DHTML & DOM: Working with the Window Object.
Microsoft Access.
Microsoft Office Illustrated Fundamentals Unit C: Getting Started with Unit C: Getting Started with Microsoft Office 2010 Microsoft Office 2010.
© Park University, 2006 Creating an Interactive Web Page with DHTML and JavaScript Park University.
Frames.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
JavaScript and the DOM Les Carr COMP3001 Les Carr COMP3001.
Intermediate Level Course. Text Format The text styles, bold, italics, underlining, superscript and subscript, can be easily added to selected text. Text.
Web-based Application Development Lecture 9 February 7, 2006 Anita Raja.
Session 6 Server-side programming - ASP. An ASP page is an HTML page interspersed with server-side code. The.ASP extension instead of.HTM denotes server-side.
Master Detail Page Set Enabling Users to See More Detailed Data.
JavaScript, Third Edition
1 of 5 This document is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. © 2006 Microsoft Corporation.
JavaScript Client Side scripting. Client-side Scripts Client-side scripts, which run on the user’s workstation can be used to: Validate user inputs entered.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 9: Frames © 2007 Prosoft Learning Corporation All rights reserved ITD 110 Web Page Design.
Chapter 6 Working with Frames.
Copyright © 2004 ProsoftTraining, All Rights Reserved. Lesson 9: HTML Frames.
XP Tutorial 5New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Designing a Web Site with Frames Using Frames to Display Multiple Web Pages Tutorial.
1 Advanced HTML Joshua S. Simon Collective Technologies.
2. Introduction to the Visual Studio.NET IDE 2. Introduction to the Visual Studio.NET IDE Ch2 – Deitel’s Book.
Getting Started with Dreamweaver
DHTML. What is DHTML?  DHTML is the combination of several built-in browser features in fourth generation browsers that enable a web page to be more.
Tutorial 4: Using CSS for Page Layout. 2 Objectives Session 4.1 Explore CSS layout Compare types of floating layouts Examine code for CSS layouts View.
University of Sunderland CDM105 Session 7 Advanced Dreamweaver More functions to help create better web pages Page Layout, Cascading Style Sheets, behaviours,
Scott Marino MSMIS Summer Session Web Site Design and Authoring Session 9 Scott Marino.
HTML Forms and Scripts. Session overview What are forms? Static vs dynamic Client-side scripts –JavaScript.
Connecting to USF Network for Web Site SSH Secure Shell is the FTP program you will use to download your http files onto the USF server. To get the SSH.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
JavaScript, Fourth Edition
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 Dynamic Documents With JavaScript.
DHTML Positioning and Layout. What is DHTML? HTML and xHTML CSS JavaScript or VBScript.
SEG3210 DHTML Tutorial. DHTML DHTML is a combination of technologies used to create dynamic and interactive Web sites. –HTML - For creating text and image.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
Mark Dixon 1 22 – Web applications: Writing data to Databases using ASP.Net.
1 Accelerated Web Development Course JavaScript and Client side programming Day 2 Rich Roth On The Net
Frame Page A Frame Page does the following: –Defines the size of each frame. –Defines how the window will be broken up – rows or columns. –Specifies which.
Chapter 12 FRAMES. HOW FRAMES WORK When you view a framed page in a browser, you are actually looking at several HTML documents at once. The key to making.
Tutorial 10 by Sam ine1020 Introduction to Internet Engineering 1 Database & Server-side Scripting Tutorial 10.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
Introduction to JavaScript 41 Introduction to Programming the WWW I CMSC Winter 2004 Lecture 17.
XP Tutorial 12 New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with Special Effects Creating Rollovers, Menus, Filters, and Transitions.
XP Tutorial 6 New Perspectives on JavaScript, Comprehensive1 Working with Windows and Frames Enhancing a Web Site with Interactive Windows.
Introduction to Javascript. What HTML Can & Can Not Do HTML Can HTML Can Display text Display text Display images Display images Display even animated.
How to Connect to Database ODBC (Open Database Connectivity) ADO (ActiveX Data Object) ASP Code To Connect to Database Recordset Object Navigating through.
© 2008 The McGraw-Hill Companies, Inc. All rights reserved. WORD 2007 M I C R O S O F T ® THE PROFESSIONAL APPROACH S E R I E S Lesson 15 Advanced Tables.
Chapter 8 © 2001 by Addison Wesley Longman, Inc. 1 Chapter 8 Sebesta: Programming the World Wide Web.
Paging Through a Data Table Creating a Navigation Bar Using the Recordset Navigation Bar Server Behavior.
Cs332a_chapt10.ppt CS332A Advanced HTML Programming DHTML Dynamic Hypertext Markup Language A term describing a series of technologies Not a stand-a-lone.
June 23, 2001Database Creation Review and Exercises1 Building an Application - Part I -
Form Processing Week Four. Form Processing Concepts The principal tool used to process Web forms stored on UNIX servers is a CGI (Common Gateway Interface)
Project 5: Using Pop-Up Windows Essentials for Design JavaScript Level One Michael Brooks.
CISW CRC - Fishman 2014 / 2015 PRESENTATION 4b: CISW 400 (Online) – Client-side Scripting for the Internet Cosumnes River College Fishman – 2015.
HTML Hyper Text Markup Language. The Basics u HTML documents contain “tags” which instruct the Browser software on how to present the information within.
Dr. Ahmet Cengizhan Dirican BIL 374 Internet Technologies 6. Dynamic Documents With JavaScript.
Site Development Foundations © 2004 ProsoftTraining All rights reserved.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 5 1 Adding Shared Site Elements.
XP New Perspectives on Macromedia Dreamweaver MX 2004 Tutorial 6 1 Creating Dynamic Pages.
Using databases ActiveX Data Objects (ADO) Connecting to a database Reading data from a database Inserting, updating and deleting records Using databases.
Tutorial 6 Creating Dynamic Pages
Presentation transcript:

Developing Context-sensitive Help for Web Applications Scott DeLoach

Session Overview a separate Help window an embedded Help window a popup window DHTML layers and how to store Help topics in a Help database. We will discuss how to open and display context-sensitive Help using:

Sample Application Field-level HelpPage-level Help

Opening the Help Presses F1 Clicks a page-level Help link Clicks a field-level Help link Highlights a term and presses F1 When the user…

Opening Help with F1 (IE Only)

Opening Page-level Help with a Link Help

Opening Field-level Help with a Link

Opening Help Based on a Highlighted Term Add to the beginning of openHelp(): // Netscape if (document.getSelection) highID = (document.getSelection); // IE else if (document.selection && document.selection.createRange) { var range = document.selection.createRange(); highID = range.text; }

Opening the Help F1 key Page-level Help link Field-level Help link Highlighted term Mouseover

Displaying the Help Separate Help window Popup window Embedded Help window DHTML popup layer

Separate Help Window

Opening a Separate Help Window function openHelp(id) { // id from field-level links and highID from highlighted text helpurl = location.href; begin=(helpurl.lastIndexOf('/') + 1); end=(helpurl.lastIndexOf('m') + 1); if (id) helpurl = "h_"+id+"_"+helpurl.substring(begin, end); else if (highID) helpurl = "h_" + highID + "_" + helpurl.substring(begin, end); else helpurl = "h_" + helpurl.substring(begin, end); helpWin = window.open(helpurl,'CShelpwin','toolbar=0, location=0,directories=0,status=0,menubar=0, scrollbars=1,resizable=1,width=500,height=600'); setTimeout('helpWin.focus();',250); } function openHelp(id) { // id from field-level links and highID from highlighted text helpurl = location.href; begin=(helpurl.lastIndexOf('/') + 1); end=(helpurl.lastIndexOf('m') + 1); if (id) helpurl = "h_"+id+"_"+helpurl.substring(begin, end); else if (highID) helpurl = "h_" + highID + "_" + helpurl.substring(begin, end); else helpurl = "h_" + helpurl.substring(begin, end); helpWin = window.open(helpurl,'CShelpwin','toolbar=0, location=0,directories=0,status=0,menubar=0, scrollbars=1,resizable=1,width=500,height=600'); setTimeout('helpWin.focus();',250); } function openHelp(id) { // id from field-level links and highID from highlighted text helpurl = location.href; begin=(helpurl.lastIndexOf('/') + 1); end=(helpurl.lastIndexOf('m') + 1); if (id) helpurl = "h_"+id+"_"+helpurl.substring(begin, end); else if (highID) helpurl = "h_" + highID + "_" + helpurl.substring(begin, end); else helpurl = "h_" + helpurl.substring(begin, end); helpWin = window.open(helpurl,'CShelpwin','toolbar=0, location=0,directories=0,status=0,menubar=0, scrollbars=1,resizable=1,width=500,height=600'); setTimeout('helpWin.focus();',250); }

Popup Window

Opening a Popup Window var x=y=0; function getPos(e) { if (e != '') { x = e.screenX; y = e.screenY; }

Opening a Popup Window (cont) function help(helpurl) { w = screen.availWidth; h = screen.availHeight; if (w=='1024') { w=970; h=775; } wintop = y+15; winleft = x-15; // next line adjusts if window is off the screen if (w - (x+550) < 0) winleft = w-525; window.open(helpurl,"helpwin",'toolbar=0,location=0, directories=0,status=0,menubar=0,scrollbars=1, resizable=1,width=550,height=80,screenX=' + wintop + ',screen=' + winleft + ',top=' + wintop + ',left=' + winleft); } function help(helpurl) { w = screen.availWidth; h = screen.availHeight; if (w=='1024') { w=970; h=775; } wintop = y+15; winleft = x-15; // next line adjusts if window is off the screen if (w - (x+550) < 0) winleft = w-525; window.open(helpurl,"helpwin",'toolbar=0,location=0, directories=0,status=0,menubar=0,scrollbars=1, resizable=1,width=550,height=80,screenX=' + wintop + ',screen=' + winleft + ',top=' + wintop + ',left=' + winleft); }

Embedded Help Window

Opening an Embedded Help Window Create a Top level frameset Resize the frameset and open the Help function openHelp() { parent.myframes.cols="70%,30%"; parent.help.location = "helppage.htm"; } Create a Top level frameset Resize the frameset and open the Help function openHelp() { parent.myframes.cols="70%,30%"; parent.help.location = "helppage.htm"; }

DHTML Help Layer

Description function helpSHOW(fieldID) { fieldID = "help" + fieldID; if (document.all) document.all(fieldID).style.visibility = "visible"; else document.layers[fieldID].visibility = "show"; } function helpHIDE(fieldID) { fieldID = "help" + fieldID; if (document.all) document.all(fieldID).style.visibility = "hidden"; else document.layers[fieldID].visibility = "hide"; } Description function helpSHOW(fieldID) { fieldID = "help" + fieldID; if (document.all) document.all(fieldID).style.visibility = "visible"; else document.layers[fieldID].visibility = "show"; } function helpHIDE(fieldID) { fieldID = "help" + fieldID; if (document.all) document.all(fieldID).style.visibility = "hidden"; else document.layers[fieldID].visibility = "hide"; } Opening a DHTML Help Layer on mouseover Description function helpSHOW(fieldID) { fieldID = "help" + fieldID; if (document.all) document.all(fieldID).style.visibility = "visible"; else document.layers[fieldID].visibility = "show"; } function helpHIDE(fieldID) { fieldID = "help" + fieldID; if (document.all) document.all(fieldID).style.visibility = "hidden"; else document.layers[fieldID].visibility = "hide"; }

Displaying the Help Separate Help window Popup window Embedded Help window DHTML popup layer

Opening a Help Window using ASP function openFieldHelp(topic) { window.open('fieldhelp.asp?' + topic,'helpwin','toolbar=0, location=0,directories=0,status=0,menubar=0, scrollbars=1,resizable=0,width=600, height=400'); } function openFieldHelp(topic) { window.open('fieldhelp.asp?' + topic,'helpwin','toolbar=0, location=0,directories=0,status=0,menubar=0, scrollbars=1,resizable=0,width=600, height=400'); }

Storing Field-level Help in a Database "HlpText" is used to store defaults. "HlpTextCustom" is used to store modified Help topics.

Opening the Help Database VBScript Code to Open the Database Dim objConn Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\db\fieldhelp.mdb") Dim objRS Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open "Tutorial", objConn,,, adCmdTable

Finding and Displaying Help from the Database Code to Pull the Field Help from the Database Do While Not objRS.EOF If Request.QueryString = objRS("FieldID") Then If objRS("HlpTextCustom") <> "" Then Response.Write " "& objRS("FieldLabel") & " " & objRS("HlpTextCustom") Else Response.Write " "& objRS("FieldLabel") & " " & objRS("HlpText") End If objRS.MoveNext Loop Code to Pull the Field Help from the Database Do While Not objRS.EOF If Request.QueryString = objRS("FieldID") Then If objRS("HlpTextCustom") <> "" Then Response.Write " "& objRS("FieldLabel") & " " & objRS("HlpTextCustom") Else Response.Write " "& objRS("FieldLabel") & " " & objRS("HlpText") End If objRS.MoveNext Loop Code to Pull the Field Help from the Database Do While Not objRS.EOF If Request.QueryString = objRS("FieldID") Then If objRS("HlpTextCustom") <> "" Then Response.Write " "& objRS("FieldLabel") & " " & objRS("HlpTextCustom") Else Response.Write " "& objRS("FieldLabel") & " " & objRS("HlpText") End If objRS.MoveNext Loop

Designing with JavaScript by Nick Heinle JavaScript Bible by Danny Goodman Teach Yourself Active Server Pages in 21 Days by Scott Mitchell and James Atkinson DHTML Reference and SDK from Microsoft Press Recommended Books

Downloading the Examples All scripts and examples can be downloaded at:

Feel free to me. Or, catch me later at the conference! Scott DeLoach Founding Partner, User First Services, Inc. Certified RoboHELP Instructor CIW Master Designer Questions?