Dynamic Pages User Guide Dynamic Pages User Guide
Transcription
Dynamic Pages User Guide Dynamic Pages User Guide
Dynamic Pages User Guide Technical Support: Fax: 617.489.1486 Email: [email protected] URL: www.BoomerangSoftware.com www.EcommerceCities.com Web Hosting: Telephone:617.489.3000 Online: https://www.BoomerangSoftware.com/webhosting/webhosting.htm Email: [email protected] Sales: Telephone:617.489.3000 Fax: 617.489.1486 Email: [email protected] Copyright © 2003 - Boomerang Software, Inc. Boomerang Software, Inc. 90 Concord Avenue Belmont, Massachusetts 02478 Printed in the United States of America March, 2003 The Dynamic Pages User Guide contains copyrighted materials of Boomerang Software, Inc. All rights reserved. No part of this publication may be reproduced by any means without written permission from Boomerang Software, Inc. Making copies of any part of this book (or the accompanying software) for any purpose other than your own personal use is a violation of United States copyright laws and international treaty. The WebShop program, its screens, icons, sequence, and organization are copyrighted materials of Boomerang Software, Inc. They may not be copied or duplicated in any medium without the written authorization of Boomerang Software, Inc. The information contained in this manual is subject to change. Revisions to this manual or new editions may be issued as are deemed necessary by Boomerang Software, Inc. The information herein is believed to be, and is presented to be, accurate in all respects. However, Boomerang Software, Inc. cannot assume any responsibility or liability for any consequences resulting from the use or misuse of the software or the manual. WebShop, Internet DesignShop, WebPage Designer Gold, eXtendia and Boomerang Software are trademarks of Boomerang Software, Inc. Windows, NT, and Microsoft are trademarks of Microsoft Corporation. IBM, AOL, Sun Micro, and Netscape are trademarks of IBM Corp., America Online, Sun Micro Systems and Netscape Communications, successively. All other product names identified in this book are trademarks or registered trademarks of their respective companies. They are used in this book in an editorial fashion only. No such use, or the use of any trade name, is intended to convey endorsement or other affiliation with this book or Boomerang software products. Part Number: DPUG-PDF-DPv7.0 Contents Chapter 1. Dynamic Pages and ASP Technology ................................................................................. 1-1 Dynamic Page Window Display .................................................................................................... 1-1 Associated FrameSet Window Display ......................................................................................... 1-3 Dynamic Page Toolbar and Menu Options ................................................................................... 1-4 Dynamic Page Actions and Icons .................................................................................................. 1-5 Dynamic Elements ........................................................................................................................ 1-7 Chapter 2. Getting StartedñProperties and Actions ............................................................................ 2-1 Getting Started .............................................................................................................................. 2-1 Property Sheet for Dynamic Page Dialog Box .............................................................................. 2-2 Specifying Your Dynamic Page Actions ....................................................................................... 2-4 Creating Branches off the Root Action ......................................................................................... 2-4 Specifying ASP Operations ........................................................................................................... 2-8 Dialog Boxes by Action Type ................................................................................................. 2-8 Chapter 3. Specifying a Query Action ................................................................................................. 3-1 Inserting a Query Action by Specifying a Database and Query Type ........................................... 3-1 Choose Data Source for New Query Dialog Box .......................................................................... 3-2 Query Properties Dialog Box ........................................................................................................ 3-3 Criteria Tab Operations ................................................................................................................. 3-4 Entering Criteria Operations and Conditions ...................................................................... 3-6 Inserting Additional Operations ........................................................................................... 3-6 Constructing Queries .................................................................................................................... 3-8 Insert Query ............................................................................................................................ 3-8 Delete Query .......................................................................................................................... 3-9 Update Query ....................................................................................................................... 3-10 Select Query ......................................................................................................................... 3-12 Specifying the Appearance of a Dynamic Element .................................................................... 3-17 Navigation Buttons for Custom Query Feedback ....................................................................... 3-17 Embedded Queries ...................................................................................................................... 3-19 Creating An Embedded Query ............................................................................................. 3-21 Assigning or Inserting Embedded Query Elements ............................................................. 3-21 Chapter 4. Specifying a Feedback Action ............................................................................................ 4-1 Initiating and Terminating Actions ............................................................................................... 4-1 Specify a Feedback Action and Its Text Display .......................................................................... 4-3 Specifying the Appearance of a Dynamic Element ...................................................................... 4-4 Using a Feedback Section to Display Query Results ................................................................... 4-4 Setting up Navigation Controls .................................................................................................... 4-6 Table of Contents Chapter 5. Specifying Other Dynamic Actions ................................................................................... 5-1 Specifying a Send Mail Action ..................................................................................................... 5-1 Specifying a Request Action ......................................................................................................... 5-2 Specifying a Redirect to Action .................................................................................................... 5-4 Specifying a Condition Action ..................................................................................................... 5-6 Specifying a Statement Action ..................................................................................................... 5-8 Specifying a Write Cookie Action .............................................................................................. 5-10 Specifying the Lock or Unlock Actions ...................................................................................... 5-11 Chapter 6. Advanced Web Operations .................................................................................................. 6-1 About the Extra HTML Tab .......................................................................................................... 6-1 About the Extra HTML Field ................................................................................................. 6-1 About the Script Mapping Tab ..................................................................................................... 6-2 About the Script Mapping Fields and Buttons ..................................................................... 6-3 About the Dynamic Properties Tab ............................................................................................... 6-4 About the Dynamic Properties Fields ................................................................................... 6-4 About the Dynamic Object Tab .................................................................................................... 6-4 About the Dynamic Object Fields and Buttons ..................................................................... 6-5 Assigning or Inserting Embedded Query Elements ............................................................... 6-8 About the Dynamic HTML Tab .................................................................................................. 6-12 About the Dynamic HTML Fields and Buttons .................................................................... 6-12 Creating a Double-Image Effect .......................................................................................... 6-12 Creating a Slide-Show Effect .............................................................................................. 6-14 Chapter 7. Sending Emails from a Form .............................................................................................. 7-1 Registering WebShop’s Active-X .................................................................................................. 7-1 Creating Your Email Function Using Dynamic Pages .................................................................. 7-2 Creating a Dynamic Page ..................................................................................................... 7-3 Creating a Form for Use with a Dynamic Page .................................................................... 7-3 Creating a Dynamic Page with Send Mail Capability .................................................................. 7-4 Defining Parameters on a Dynamic Page ............................................................................. 7-4 Defining Variables on a Dynamic Page ................................................................................ 7-5 Chapter 8. Adding Form Input into a Database .................................................................................... 8-1 Create a Database .......................................................................................................................... 8-1 Updating Your Database Using Dynamic Pages ........................................................................... 8-2 Creating a Dynamic Page ..................................................................................................... 8-2 Creating a Form for Use with a Dynamic Page .................................................................... 8-3 Importing the Database into the Project ............................................................................... 8-4 Creating Dynamic Page Elements For Updating a Database ........................................................ 8-5 Defining Parameters for a Dynamic Page ............................................................................. 8-5 Defining Variables for a Dynamic Page ................................................................................ 8-5 Creating a Field Validation Test ........................................................................................... 8-6 Writing Information to the Database ..................................................................................... 8-6 Creating a Feedback Page .................................................................................................... 8-7 ii ◆ ◆ ◆ Dynamic Pages Table of Contents Creating an Error Page ......................................................................................................... 8-7 Creating a Success Page ....................................................................................................... 8-8 Chapter 9. Creating a Query/Search Page ......................................................................................... 9-1 Create a Database .......................................................................................................................... 9-1 Create the Test Data ...................................................................................................................... 9-2 Create a New Web Project to Perform a Query/Search .................................................................. 9-2 Importing the Database into the Project ....................................................................................... 9-2 Creating a Dynamic Page .............................................................................................................. 9-3 Defining Parameters for a Dynamic Page ............................................................................. 9-4 Working with the Query Function ......................................................................................... 9-4 Creating Navigation Links For Feedback Pages ................................................................. 9-8 Chapter 10. Redirecting URLs .......................................................................................................... 10-1 Requesting ISP Information and Setting Up ....................................................................... 10-1 Getting Started .................................................................................................................... 10-2 Create a New Project ................................................................................................................... 10-2 Assign “var_name” a value ................................................................................................. 10-5 Assign “var_any_error” a value ......................................................................................... 10-5 Redirect for Product 1 ......................................................................................................... 10-8 Redirect for Product 2 ......................................................................................................... 10-8 Chapter 11. Cookies and Requesting ..................................................................................................11-1 Introduction ................................................................................................................................ 11-1 Creating Your Project .................................................................................................................. 11-2 Creating a Dynamic Page .................................................................................................... 11-2 Creating a Form for use with a Dynamic Page ...................................................................11-2 Creating a Cookie ....................................................................................................................... 11-3 Creating a Field Validation Test ..........................................................................................11-3 Creating a Error Page ..........................................................................................................11-4 Writing a Cookie ...................................................................................................................11-4 Creating a Feedback Page ................................................................................................... 11-5 Reading and Requesting Cookies .............................................................................................. 11-5 Requesting Information from the Server ..................................................................................... 11-6 Chapter 12. Summary ........................................................................................................................ 12-1 What is a Dynamic Page? ............................................................................................................ 12-1 Dynamic Page Actions and Icons ................................................................................................ 12-2 Actions and Descriptions ............................................................................................................ 12-2 Index ...................................................................................................................................................... I-1 Other Products and Services from Boomerang Software .................................................................................................................. O-1 CORPORATE PRODUCTS ........................................................................................................... O-1 CONSUMER PRODUCTS ............................................................................................................. O-2 Additional Customer Services ...................................................................................................... O-4 User Guide ◆ ◆ ◆ iii Chapter 1. Dynamic Pages and ASP Technology Introduction Dynamic Pages are the Web pages that perform database operations based on parameters and conditions that you define. Dynamic Pages contain Active Server Page (ASP) technology that lets you dynamically present information based on visitor interaction. The terms Dynamic Page and ASP Page are used interchangeably. Many Dynamic Pages use forms that ask a visitor for information. Based on visitor input, certain data can be displayed as feedback or special processing can be executed. The most frequent Dynamic Page applications include (1) sending email, (2) redirecting a viewer to a URL, (3) adding form input into a database, (4) creating a query/search page, or (5) issuing a cookie and requesting data from the server database based on a cookie that has been retrieved. However, the applications that you can design are limited only by your imagination. Topics covered in this chapter include: • Dynamic Page Window Display • Associated FrameSet Window Display • Dynamic Page Toolbar and Menu Options • Dynamic Page Actions and Icons • Dynamic Elements Dynamic Page Window Display To manage the operations performed by a Dynamic Page, the Dynamic Page window (Figure 1.1) that appears when you first open a Dynamic Page includes as at least two parts: (1) the Dynamic Page Manager window that is used to specify the Dynamic Page actions (see Root icon) and (2) the Page Editor window used to design a Feedback Section that will conditionally display information to a Web site visitor. If the Frame Manager is open, then the Frame Manager window appears. It is important to keep in mind that a Dynamic Page contains both action specifications for controlling Dynamic Page operations, and text and graphic specifications for controlling what appears in the browser window whenever a page display is specified. The Dynamic Page Manager window displays the actions that the Dynamic Page will perform and their sequence Chapter 1. Dynamic Pages and ASP Technology Frame and Dynamic Page Manager windows are not visible to Web site visitor. For development purposes only Dynamic Page Manager Action List and Action Icons Dynamic Page Manager Window Page Editor Window Dynamic Page Window for a Single Dynamic Page Page Editor windows are visible to Web site visitor only when Feedback Section is specified. Cross-hatch indicates that a Feedback Section is not specified. Frame Manager FCO Listing Frame Manager Window Dynamic Page Manager Action List and Action Icons Dynamic Page Manager Window Page Editor Window Dynamic Page Window for a Single Dynamic Page with Frame Manager Open Figure 1.1 ñ Dynamic Page Window for a Single Dynamic Page (from top to bottom). The Page Editor window displays the text and graphic specifications for Feedback Sections that appear only when a Feedback Section action is specified. When constructing a Dynamic Page, most likely, you will specify more than one Feedback Section action in your action list, and will consequently define more than Feedback Section display. That’s because a Dynamic Page lets you set up different information displays based upon varying conditions. That’s the whole point of a Dynamic Page! Unlike a Plain Page, a Dynamic Page lets you dynamically present information based upon varying conditions. It’s up to you to define the conditions that will trigger each information display using the available Dynamic Page actions, and then to define the information display that the visitor will see using the page design tools that you have already learned. Every information display that you present must be specified as a Feedback Section before it can be viewed by a Web site visitor. Logical Layout Note: An information display defined as Feedback Section is an resource to a Dynamic Page and does not appear on Logical Layout. Only the Dynamic Page icon will appear not the individual information displays. Clicking on a Dynamic Page icon from Logical Layout, lets you access the Dynamic Page action listing from which you can then access any of individual Feedback Sections that are associated with that Dynamic Page. Physical Layout Note: An information display defined as Feedback Section does not appear on Physical Layout - only the *.ASP resource file that contains the individual Feedback Sections. If you use a Dynamic Page as a frame resource (FCO) for a FrameSet Page each Dynamic Page FCO becomes a separate *.ASP resource file. You may create ASP resource files directly from Physical Layout. These resource files can then be used independently as Frame Content Overlays (FCOs). For more information see the chapter titled “WebShop Frames.” 1–2 ◆ ◆ ◆ Dynamic Pages Chapter 1. Dynamic Pages and ASP Technology FrameSet Note: If you create a Dynamic Page from Logical Layout and then click either Split Horizontal or Split Vertical on the Frames and Page Editor toolbar, the Dynamic Page is automatically converted into a FrameSet Page. By clicking either of the two Split buttons, you in effect are preparing a FrameSet Page that uses ASP resource files–not a Dynamic Page that stands alone as a Logical Page. If you continue to divide the frame areas, you will be creating separate Dynamic Page resource files. Each ASP resource file, when displayed as part of a FrameSet Page, contains its own action listing. Any FrameSet Page can make use of ASP resource files as individual Frame Content Overlays. For more information see the topic “Associated FrameSet Window Display” below. To resize the Dynamic Page Manager window or the Page Editor window 1. Position the cursor over the window border between the Dynamic Page Manager window and the Page Editor window. The cursor changes shape. 2. Click and drag the window border to a new position. The window border moves with the cursor. 3. Release the mouse at the new position. The window is resized. Associated FrameSet Window Display Any FrameSet Page that uses a Dynamic Page as a Frame Content Overlay for one of the specified frames will display the Dynamic Page Manager window and Page Editor window in the frame area specified. Remember! ASP resource files, when opened in Page Editor, always generate a double window display that includes a Page Editor window and a Dynamic Page Manager window. To view the page as it will appear in a browser, you must minimize the Dynamic Page Manager window. Normally, a FrameSet Page when opened in Page Editor displays a separate “window” for each frame area (Figure 1.2). Each frame area can have one or more separately assigned page resources (or Frame Content Overlays) in that frame area. The “windows” defined by each frame area can be resized by repositioning the window border between frame areas. By doing this, you change the Frame Definition associated with the page. When a Dynamic Page is displayed in a frame, the frame area assigned to the ASP resource file is divided into a Page Editor window and a Dynamic Page Manager window. These ASP resource file “windows” can be resized by repositioning the window border between the Page Editor window and the Dynamic Page Manager window. Resizing these window areas does not change the Frame Definition associated with the page. To affect the Frame Definition associated with the page, one of the frame “windows” between frame areas must be repositioned. To resize a FrameSet window with an ASP resource file so that it is WYSIWYG 1. Position the cursor over the window border between the Dynamic Page Manager window and the Page Editor window. The cursor changes shape. 2. Click and drag the window border so that the Dynamic Page Manager window is completely obscured. The window is now resized to approximate what will be seen in the browser. User Guide ◆ ◆ ◆ 1–3 Chapter 1. Dynamic Pages and ASP Technology DynPages 1, 2, 3, and 4 are separate Frame Resources (FCOs) for one FrameSet page identified as FrameSet1 Figure 1.2 ñ FrameSet Page Window with Multiple Dynamic Pages Specified Frame Manager Note: By clicking the Frame Manager button on the Frames and Page Editor toolbar, the Frame Manager window appears. This window is not visible to a Web site visitor, nor does it affect the Frame Definition associated with a page. To insure that your screen display is WYSIWYG minimize the Frame Manager window by clicking on the Frame Manager button. Dynamic Page Toolbar and Menu Options The Dynamic Page toolbar and menu (Figure 1.3) appears whenever the cursor is placed inside a Dynamic Page. To access menu options, use the Dynamic Page menu located on the Menu bar. The toolbar operations and menu commands are conditional, and become active only when you click on an action list icon or when you place your cursor in the Page Editor window. If you right-click within the Dynamic Page Manager window, a pop-up menu appears. Many of the options listed below are available from this pop-up menu as well. Toolbar Buttons and Menu Options • Delete. Deletes the selected item from the resource tree in the Dynamic Page Manager window. • Insert (or Insert Dynamic Element). Inserts a Dynamic Element into the Page Editor area to the right of the Dynamic Page Manager window. To activate the Insert feature, you must select one of the Frame-Content Overlay icons in the Dynamic Page Manager window. 1–4 ◆ ◆ ◆ Dynamic Pages Chapter 1. Dynamic Pages and ASP Technology delete insert Figure 1.3 ñ Accessing Dynamic Page Operations • • Add Into. Inserts a subordinate action into the Dynamic Page action list. The inserted action is subordinate to the selected action, and is placed at the end of the action’s subordinate list. Insert Before. Inserts an action into the Dynamic Page action list. The inserted action is placed before selected action, and on the same level as the selected action. Dynamic Page Actions and Icons A Dynamic Page is composed of actions that you specify using the Dynamic Page Manager. Everytime you insert an action into the Dynamic Page action listing, an action icon appears in the Dynamic Page Manager window. You manage the dynamic page actions by clicking the action icons and altering the action specifications. The action icons displayed in the Dynamic Page Manager window are not visible to a Web site visitor. They are presented for development purposes only. Once your site is generated, the actions that you specify are compiled into ASP script. This ASP script is created by WebShop. Your action listing is organized in a hierarchical fashion. The ASP scripting generated by WebShop is compiled from the top down, with subordinate actions generating subordinate ASP script from left to right. Note: The actions you specify for your Dynamic Page are executed only when the Dynamic Page is opened by a visitor to your Web site. Figure 1.4 ñ Dynamic Page Icons One of the hallmarks of an ASP page is that temporary values are created during the operation of the Dynamic Page. These temporary value can come from many sources. They can come from the Web server, if the action that obtains the data is defined as a Query. They can come from the visitor’s PC, if the defined action is a Request. They can also be internally generated by the Dynamic Page itself. Keep in mind, however, that these temporary values are just that– temporary. All of your Dynamic Page values will return to their initial settings once the Web site visitor leaves the page. The only values that are permanent are the ones uploaded to your server after generating the Dynamic Page or the ones that you write out to the server database. This concept is important particularly when creating visitor IDs or record IDs. User Guide ◆ ◆ ◆ 1–5 Chapter 1. Dynamic Pages and ASP Technology The following actions can be executed from a Dynamic Page. Each action has a separate icon that indicates the action performed. Query. Queries a database and returns a result, or executes a database operation on a selected record. There are only four operations that can be performed using Query are Select, Insert, Delete, or Update. To establish database connectivity, you must add the RecordSet operation into a Query operation before specifying the type of operation to be performed. Send Mail. Issues email to one or more email addresses. Specify From, To, Cc, or Subject. Also specify an SMTP server address as necessary. In the body of the email to be sent, you can design a Plain Page fragment that can include images, tables, or dynamic elements. Feedback Section. Displays feedback from a Plain Page that you design. A Feedback Section can be designed with (or without) Dynamic Elements. Use this action whenever you wish to display text or graphics to the viewer. Remember! A Feedback Section defines the action of displaying information, and while more than one Feedback Section can be associated with a Dynamic Page, only one resource file is created for the Dynamic Page, not several independent resource files. Feedback Setions do not operate in the same way as “reusable” FCOs. Request. Establishes the value for a Dynamic Page variable by obtaining data from: (1) a form, which is completed by the user during the current session, (2) a query string, which is an ASP-generated dynamic value, (3) a cookie, which is a generated value that is stored on the user’s computer and identifies the user, (4) a client certificate, which is a server value that enables the transmission of secure communication, (5) a server variable, which is a temporary (or permanent) value stored on the server, (6) an application element, which is a value that references a .DLL file or some other application element, or (7) a session element, which is a server value that references the current session’s status. This action is used whenever you wish to request information for subsequent ASP processing. Redirect to. Redirects the viewer to a different URL address or HTML page within the site. A Redirect to action can be specified using a parameter, or by specifying the URL location directly. Condition. Establishes two processing alternatives based upon a true or false condition. Condition statements can be nested within each other to provide multiple processing alternatives. Each processing result must be separately specified. Each condition statement is composed of three parts: IF-OK (Then) -NO (Else). Use this action to make branching evaluations. Statement. Sets (or resets) a variable, value, parameter, query output parameter, or cookie value as necessary. Use this action to direct the processing of a Dynamic Page by assigning values directly. Cookie. Writes a small text file to the user’s hard disk so that he/she can be identified at a later date. This small text file (or cookie) can be retrieved by the server and matched to a cookie record. Use this action to create a unique identifier for visitors to your Web site. 1–6 ◆ ◆ ◆ Dynamic Pages Chapter 1. Dynamic Pages and ASP Technology RecordSet. Establishes a database connectivity so that query results can be displayed to a Web site visitor. To initiate this operation, you must first add a Query action and then add a RecordSet action into the Query. The Query action opens the database and accesses current values, whereas the RecordSet action allows you to manipulate the values. Lock. This action initiates a script that prevents sessions/threads from executing on the server. An Internet information server executes separate applications with various threads (or “sessions”). These sessions are initiated on behalf of each user visiting the site at the same time. Every user adds an additional session/thread to total number of opened session/ threads running concurrently. The Lock action prevents the server from initiating any new session/threads and prevents the existing session/thread from corrupting server database that while the user who initiates the Lock action completes maintenance on the database. Unlock. This action initiates a script that allows sessions/threads to executing on the server. Unlock enables multiple session/threads to execute concurrently with the initiating session/thread. Dynamic Elements A Dynamic Element is an element that has a changeable value based on the processing of a Dynamic Page. A Dynamic Element can be defined as a parameter, variable, query element, or embedded query element. To enable a field to display as a Dynamic Element, the value assigned to the parameter, variable, or query record field must be obtained from a defined source such as a database, input form, request action, or other Dynamic Page action. To create a Dynamic Element based on a query, the database, table and field must be specified through a query Select operation. Once the Dynamic Element has been specified, it can be inserted into a Feedback Section as a query output field. To insert dynamic Elements, click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Element dialog box appears (Figure 1.5). When query output fields are inserted as a dynamic element, they assume the field characteristics assigned by the source database. User Guide Figure 1.5 ñ Dynamic Elements Dialog ◆ ◆ ◆ 1–7 Chapter 2. Getting Started–Properties and Actions Introduction Topics covered in this chapter include: • Getting Started • Property Sheet for Dynamic Page Dialog Box • Specifying Your Dynamic Page Actions • Creating Branches off the Root Action • Specifying ASP Operations Getting Started To get started, you first need to create a Dynamic Page and set its properties using the Property Sheet for Dynamic Page dialog box. The settings that you establish here are used later when performing Dynamic Page operations. However, you can add and modify these settings at any time. To set up your Dynamic Page properties 1. Double-click the ROOT icon. The Property Sheet for Dynamic Page dialog box appears with the Input Parameter fields displayed. 2. Decide what you want to do. • To add a parameter, click inside the New Parameter field, type a parameter name, and click Add. • To add a variable, click the Variables tab. The Variables fields appear. Click inside the New Variable field, type a variable name, and click Add. • To add a Cookie Key, click the Cookie tab. The Cookie fields appear. Click inside the New Key field, type a key name, and click Add. 3. When done, click OK. Chapter 2. Getting StartedñProperties and Actions Property Sheet for Dynamic Page Dialog Box The Property Sheet for Dynamic Page dialog box (Figure 2.1) contains the following tabs: Input Parameter, Variables, and Cookie. Use this dialog box to define the input parameters, variables and Cookie Keys used when performing Dynamic Page operations. To save your specifications, you must click OK when exiting this dialog box. Figure 2.1 ñ Property Sheet for Dynamic Page Dialog Box (Input Parameters Tab) Use the following definitions for the Property Sheet for Dynamic Page dialog box. • An input parameter is a value that you expect to obtain from an input source such as a form, or a cookie. An input parameter must have two parts: a name and a value. Input parameter values are either assigned directly or imported, and are defined as alphanumeric strings. You can leave a parameter empty or assign it a default value. To define an input parameter, use the Input Parameter tab. (Figure 2.1) • A variable is very similar to a parameter except that a variable is used to perform an operation whereas the a parameter is used to hold a result. A variable must have two parts: a name and a value. Variable values are either assigned directly or imported, and can be defined as either an alphanumeric string or a number. You can leave a variable empty or assign it a default value. To define a variable, use the Variables tab. (Figure 2.2) • A cookie is a small file located on the client’s computer. These files contain persistent state information, such as user information. The server, where the Web site resides, can then request this information from the client browser to perform a task. Two tasks are required when using cookies. First, cookies must be sent and written to the client computer. 2–2 ◆ ◆ ◆ Dynamic Pages Chapter 2. Getting StartedñProperties and Actions Second, they must be retrieved/requested by the server from the client computer. Each cookie must have a name and a value (Cookie Key). To define a cookie, use the Cookie tab. (Figure 2.3) Complex cookies, like cookie dictionaries, have more than one key associated with a page. Keys can have any of the following attributes: • Domain–makes sure that when the cookie is requested it will go back only to its own domain. • Expiration Date–is a date that the cookie will expire and remove itself from the client computer • Path–is the file path that identifies the page from which the cookie issued; it also limits server requests for cookie information to the original page that issued it. • Secure–will require a secure connection over the Internet before the cookie is sent. To add a parameter 1. Click the Input Parameters tab. (Figure 2.1) 2. Click inside the New Parameter field, type a parameter name, and click Add. The new parameter is listed in the Parameters List. To assign a default value to a listed parameter 1. Select the parameter from the Parameters List and click the Modify button. The Modify dialog box appears. 2. Type the default value in the Change Value field and click OK. The default parameter value is assigned and appears in the Parameters List. Figure 2.2 ñ Property Sheet for Dynamic Page Dialog Box (Variables Tab) Note: You can also use the Modify dialog box to change the parameter name. To import a parameter or variable from another Dynamic Page 1. Click the Import button. The Import List dialog box appears. 2. Specify the Dynamic Page that currently contains the parameter or variable. Figure 2.3 ñ Property Sheet for Dynamic Page 3. Select the parameter or variable from the List Dialog Box (Cookie Tab) of Parameters/Variables. 4. Click the Arrow button to transfer your selection to the Import List. User Guide ◆ ◆ ◆ 2–3 Chapter 2. Getting StartedñProperties and Actions 5. To complete the import, click Import. The imported parameters or variables now appear in the Parameters List. To add a variable 1. Click the Variables tab. (Figure 2.2) 2. Click inside the New Variable field, type a variable name, and click Add. The new variable is listed in the Variables List. To add a Cookie Key 1. Click the Cookie tab. (Figure 2.3) 2. Click inside the New Key field, type a key name, and click Add. The Cookie Key is added the Key Name List. To specify Cookie Key attributes 1. Click inside the Cookie Name field, type the cookie name, press TAB to move between fields, type values for: Expires, Domain, and Path as necessary. To specify the use of secure transmission, check the Secure box. 2. To save your attributes, click OK. The cookie attributes are specified. Note: Cookie attributes apply to all Cookie Keys for the current Dynamic Page. These attributes cannot be individually assigned. Specifying Your Dynamic Page Actions Once you have defined your parameters and variables, you are ready to start specifying your Dynamic Page actions. To specify an action, you can either insert an action before a selected action, or add an action into the selected action. The distinction is important since your action listing is organized in a hierarchical fashion. Actions inserted before a selected action are on the same hierarchy level and will be performed top down. Actions added into the selected action are subordinated to the selected action and will be performed from left to right, one the initiating actions has been performed. The menu option Insert Before places actions on the same hierarchy level as the selected action. The menu option Add Into places actions on the next subordinate level at the end of any previously entered subordinate actions. Creating Branches off the Root Action To understand the distinction between Insert Before and Add Into, identify the individual branches created off of the Root Action. Example: A Three-Branch Listing. This example (Figure 2.4) shows three actions "in line" with the Root icon. The first branch has only one action. The second branch has four actions; the initiating action, which is "in line" with the Root; followed by two sub-ordinate actions off the initiating action; and a second-level subordinate action nested under its initiating action, RecordSet. The last branch has only one action. Initiating and subordinate actions are linked together as a unit. If the initiating action is deleted 2–4 ◆ ◆ ◆ Dynamic Pages Chapter 2. Getting StartedñProperties and Actions all of its subordinating actions are deleted as well. If, in this example, the second action "in line" with the Root icon is deleted, then all of the subordinate actions for the second action are deleted as well. (Figure 2.5) General Rules: (1) Use Add Into to create a subordinate action and (2) Use Insert Before to create an initating action at any heirarchy level. Subordinate actions are “Added Into” an initiating action, while initiating actions are “Inserted Before” an action at the same hierarchy level as the selected action. Figure 2.4 ñ Three Branch Example (Before Delete) To add the first action 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select the action you want. The action icon is inserted at the first hierarchy level below the Root icon. To add additional actions 1. Decide if you want to add an action on the Figure 2.5 ñ Three Branch Example same level in front of a selected action or as a (After Delete) subordinate action OR if you want to add a new subordinate action on the same level, or a new action that is one hierarchy level higher • To add an action on the same level, select an action, right-click, and select Insert Before. A fly-out menu appears. Select the action you want. An action icon is inserted before the action selected at the same hierarchy level. • To add an action as a subordinate action, select the action that begins the subordinate list, right-click, and select Add Into. A fly-out menu appears. Select the action you want. An action icon is inserted at the end of the subordinate list as a first-level subordinate action. General Restrictions The following restrictions apply when specifying actions using Insert Before and Add Into. 1. Use the Root icon to organize initiating actions in sequence from top to bottom using Add Into. If you select the Root icon, Insert Before options are not available. 2. Use the FeedBack Section action to closeout an action branch or sub-branch. Add Into options are never from a Feedback Section action. This is a terminating action for a branch. 3. After you insert a Query, Add Into options are not available until the Query action is initially specified. 4. The RecordSet action is only available as a selection option when a Query icon is selected. User Guide ◆ ◆ ◆ 2–5 Chapter 2. Getting StartedñProperties and Actions This option is only available with Add Into. Use the RecordSet action to display query details Use the RecordSet action with a Select Query only. Frequent Uses and Associated Conditions or Restrictions The following table identifies the frequent uses associated with each action and any associated conditions or restrictions. Action Frequent Use and Associated Conditions or Restrictions Query Used to obtain information from the server database; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. There are four query operations: Delete, Insert, Select, and Update. Use the Criteria tab to limit the execution of the query to specific conditions. The Criteria tab is available with Delete, Select and Update queries. When reporting Query Results back to a Web site visitor using a Feedback Section, insert a RecordSet action after a Select Query action and before the Feedback Section action. Send Mail Used to send email notification over the Internet; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. Feedback Section Used to display information to the Web site visitor. This is a terminating action for a branch. No specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. When used to report Query Results to a site visitor, insert a RecordSet action after the Query action and before the Feedback Section. When inserting Dynamic text, the Dynamic elements must be defined as a parameter, variable or query output element using either the Property Sheet for the Dynamic Page or Query Properties dialog boxes prior to being inserted into a Feedback Section. If used with a Condition action, the Feedback Section will only display if the initiating “OK” or “NO” action is performed. Request Used to retrieve and store data in a Dynamic Page; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. Variables used to initiate and store the requested data must be defined using the Property Sheet for the Dynamic Page dialog box prior to specifying the Request action. Redirect to Used to retrieve and store data in a Dynamic Page; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. Variables used to initiate and store the requested data must be defined prior to specifying the Request actions. Used to define two processing alternatives based upon a true or false condition; no specific conditions or restrictions apply. This action can Condition 2–6 ◆ ◆ ◆ Dynamic Pages Chapter 2. Getting StartedñProperties and Actions be inserted into a Dynamic Page at any point. The processing alternatives specified by a condition statement are only executed when (and if) the initiating condition is evaluated; the resulting actions are subordinate to the initiating action. If a subordinating action statement (either “OK” or “NO”) is left unspecified, then the next initiating action is performed. If you wish to make multiple evaluations that specify actions for only true (or false) conditions, you can “nest” Condition actions within one another. The last subordinated action statement in the “nested” series, if left unspecified, causes the next initiating action to be performed. This enables you to chain together “one-sided” condition statements if you choose. Statement Used to assign a value to a variable while a Dynamic Page is completing its processing; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. To assign a value, you must specify an operation that will construct the variable’s new value, given the its current value. Cookie Used to assign a value to a variable and then write that value to the visitor’s PC. To assign a value, you must specify both the Cookie Key that will store the temporary value, and the variable that contains the value you wish to write onto the visitor’s PC; no specific conditions or restrictions apply. This action cannot be inserted if a Feedback Section has already been inserted. The Cookie action must be performed prior to the display of a Feedback Section. RecordSet Used to establish a record loop action so that query results can be displayed. This action can only be inserted once an initiating Query action is specified. It is only available as an Add Into option from a Query action. Lock Use this action to lock the database while database maintenance is performed from a Dynamic Page. This is a specialized action. When executed by the Web-server, this command prevents database access from any Web page except currently-running Dynamic Page. Other Internet users will be locked out of the Web site for however long the Lock action is in effect. This action should only be initiated for a specifically designed page that enables the database administrator to perform database maintenance. When completed, the Unlock command releases the database for use by other users. Unlock Use this action to unlock the database after database maintenance has been performed from a Dynamic Page currently open in the Server. This is a specialized action. When executed by the Web-server, this command re-enables database access for use by other users. User Guide ◆ ◆ ◆ 2–7 Chapter 2. Getting StartedñProperties and Actions Specifying ASP Operations Once you have specified one or more Dynamic Page actions, you are ready to start specifying the ASP operations to be performed. Most actions require at least one dialog box to set up a desired operation. The only exceptions are RecordSet, Lock, and Unlock. These actions do not require the use of a dialog box. To specify (or modify) the properties of any action 1. Double-click on the action icon that appears in the Dynamic Page Manager window. The associated dialog box appears. 2. Complete the necessary specifications using the dialog box fields and buttons. 3. When done, click OK. The action properties are set. Depending upon the action selected, an action description appears in the Dynamic Page Manager window to the right of the selected action. Note: Dialog box specifications to not take effect until you click OK. Dialog Boxes by Action Type By double-clicking on an action icon, you can modify the specifications for an action. Action Associated Dialog Box Query Choose Data Source for New Query Query Properties; Tabs include: Insert, Update, Select, Delete, Order, Criteria, and Feedback Send Mail Properties Feedback Section; Dynamic Elements Request from User Property Sheet for Redirect Action; Tabs include Local or External Set Condition; dialog box sections: Left Operand, Operation, Right Operand Set Variable To; dialog box sections: Left Operand, Operation, Right Operand Write Cookie; dialog box sections: Left Operand, Operation, Right Operand Send Mail Feedback Section Request Redirect to Condition Statement Cookie 2–8 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action Introduction Topics covered in this chapter include: • Inserting a Query Action by Specifying a Database and Query Type • Choose Data Source for New Query Dialog Box • Query Properties Dialog Box • Criteria Tab Operations • Constructing Queries • Specifying the Appearance of a Dynamic Element • Navigation Buttons for Custom Query Feedback Inserting a Query Action by Specifying a Database and Query Type A Query action establishes the database connectivity between the Dynamic Page and the server database. With a Query action, you can create a query that will Select, Insert, Delete or Update records in the database. To specify a new Query 1. Double-click the Query icon to open the Choose Data Source for New Query dialog box. Note: For more information about this dialog box, see the topic “Choose Data Source for New Query Dialog Box” below. 2. 3. 4. Using the resource tree, navigate to the database you want and select it. The Query Type field becomes active. Select the type of query you want using the Query Type drop-down list. Click Edit Query. The Query Properties dialog box appears. Note: Every query is assigned a name that includes a sequential query number and database. This query name appears in the title bar of the Query Properties dialog box. It also appears in the Dynamic Page Manager window next to the Query icon. Use this query name to identify the source of any data elements that you create by accessing the selected database. 5. Specify your query properties, as necessary, and click OK. The Query action is specified. Note: For more information about this dialog box, see the topic “Query Properties Dialog Box” below. Chapter 3. Specifying a Query Action Choose Data Source for New Query Dialog Box The Choose Data Source for New Query dialog box (Figure 3.1) lets you select the database and query operation that you want to perform. This dialog box contains two sections: a resource tree window used to select a database and a Query Type selection box. After specifying the Database, the Edit Query button becomes action. Use this button to accept the database and query operation selection. The Query Properties dialog box appears. (Figure 3.2) If you press Cancel, the Query action remains undefined. To complete a query definition, you must click OK from the Query Properties dialog box. Note: Add Into options are not available for a Query action until the Query action is defined from the Choose Data Source for New Query. Once a query action is defined, the Query Properties dialog box displays the tabs associated with the selected Query action. Use these to specify how the query action will be performed. If you want to change the query type, you can reassign the query type at any point by using the Query Type selection box; however, if you change query type you will loose your query specifications. The program displays a confirmation request. Click OK only if you want to change the query type and are willing to lose the previous query specifications. Figure 3.1 ñ Choose Data Source for New Query Dialog Box To specify a database and select a query type 1. Double-click the Query icon to open the Choose Data Source for New Query dialog box. (Figure 3.1) 2. Using the resource tree, navigate to the database you want and select it. The Query Type field becomes active. 3. Select the type of query you want using the Query Type drop-down list. 4. Click Edit Query. The Query Properties dialog box appears. (Figure 3.2) 5. Click OK to accept the defaults for the selected query. The query action is defined. To change the query type or the query database 1. Double-click the Query icon to open the Choose Data Source for New Query dialog box. The current database and query action is specified. 2. To change the query database, select a new database from the resource tree. 3. To change the type of query, click the Query Type drop-down arrow and select ther query type. 3–2 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action 4. 5. Click Edit Query. A Message dialog box appears. Click OK to delete the previous query specifications. The Query Properties dialog box appears. The query action and/or query database is changed. Query Properties Dialog Box The Query Properties dialog box (Figure 3.2) lets you set properties for a database query. The options displayed in this dialog box are based on the Query Type you have selected in the Choose Data Source for New Query dialog box. Each query type will display a different set of tabs. The Query types are Insert, Delete, Update, and Select. Insert Query An Insert query adds a new record to the specified table of the database. If an Insert query is selected, the only available tab is: • Insert tab. Select the table, and assign field values to the record to be inserted. Delete Query A Delete query deletes one or more records from the database, according to the condition(s) you specify. If a Delete query is selected, the available tabs are: • Delete tab. Select the Figure 3.2 ñ Query Properties Dialog Box table associated with (Select Tab) the record(s) to be deleted. • Criteria tab. Specify the criteria necessary for the query to be performed. Update Query An Update query records new data into the database, according to the condition(s) you specify. If an Update query is selected, the available tabs are: • Update tab. Select the table where the record(s) are stored, select the field(s) that you wish to update, and assign values to fields. • Criteria tab. Specify the conditions necessary for the query to be performed. User Guide ◆ ◆ ◆ 3–3 Chapter 3. Specifying a Query Action Select Query A Select query displays the records from the specified database, according to the condition(s) you specify. You may order a data display, and specify how many records to display. If a Select query is selected, the available tabs are: • Select tab. Select the table where the record(s) are stored, and select the field(s) that you wish to query. • Order tab. Select the table and field order you want to appear with the query results. • Criteria tab. Specify the conditions necessary for the query to be performed. • Feedback tab. Specify how many records should appear when the query results are displayed. Criteria Tab Operations The Criteria tab (Figure 3.3) is used with three out of the four query types. This tab includes a Condition window and several buttons for managing the binary operations used to specify your criteria. When first displayed with a new query, the Condition window is empty. As you build your criteria’s binary operations, they appear in the Condition window as a logical condition tree. The conditions that comprise your query criteria are logically connected by either an AND or OR binary operation. The AND operation enables the query operation to be performed if any one or more of the listed conditions are true. The OR operation enables the query operation to be performed only if one of the listed conditions is true. Remember! When building your criteria, you are inserting two different kinds of selectable objects: a “logical operation” object, and a “condition statement” object. The first logical operation that you add is the Root operation. You cannot delete the Root operation once it is inserted; however, you can change both its associated logical operation and its conditions. Figure 3.3 ñ Query Properties Dialog Box (Criteria Tab) Figure 3.4 ñChoose Logic Operation Dialog Box (Use with QueryCriteria) Logical operations are organized hierarchically as selectable objects. To insert a logical operation, click Insert Logic. The Choose Logic Operation dialog box appears. (Figure 3.4) Inserted operations that contain either a subordi3–4 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action nate operation or subordinate condition statements appear with a display control which can be used to expand or collapse an operation. When the control appears as a plus (+) sign, the operation is collapsed. When the control appears as a minus (-) sign, the operation is expanded. When adding condition statements, the Add Condition dialog box appears. (Figure 3.5) This dialog box has three input areas: a left operand, a center operation and a right operand. Use these input areas to construct your evaluation condition(s). The left operand contains a drop-down box that identifies the available fields for the selected table. The center operation contains a drop-down box that identifies Figure 3.5 ñ Add Condition Dialog Box the available binary operations. These operations are used to evaluate for a true condition and are used to compare the left and right operands. When used, the available operations will generate a true result: < - if the left operand is less than the right operand <= - if the left operand is less than or equal to the right operand <> - if the left operand is not equal to the right operand = - if the left operand is equal to the right operand > - if the left operand is more than the right operand >= - if the left operand is more than or equal to the right operand BEGINS WITH - if the left operand begins with the character(s) of the right operand BETWEEN - if the left operand is in the range defined by the minimum and maximum specified in the Value section. In this case you must enter two values in the Value section. CONTAINS - if the left operand contains the character(s) displayed in the Value section; ENDS WITH - if the left operand ends with the character(s) displayed in the Value section. The right operand input area lets you select between an explicitly entered value, a form control value, or a database field value. To specify your right operand, click any one of the available tabs. Note: The Join tab is only available for a Select query. Also, if you choose the BETWEEN Operation, two value specifications are required instead of one. Set the upper and lower limits using the additional input lines created with this operation. Value Tab. Click the input line and type a fixed value. Control Tab. Click the drop-down arrow to display the form control names defined for use with this query. Select the control you want to use. User Guide ◆ ◆ ◆ 3–5 Chapter 3. Specifying a Query Action Join Tab. Click the drop-down arrow to display the available fields associated with the database table specified in the Query Properties dialog box under the Select tab. Note: It is recommended that you use only the Equals operation when specifying a Join condition. Only advanced users should try to use the Join feature. Entering Criteria Operations and Conditions To insert the Root operation 1. Click either Insert Logic or Add Logic. The Choose Logic Operation dialog box appears. (Figure 3.4) 2. Select either AND or OR from the Logic Type drop-down list and click OK. The specified operation is inserted as the Root operation. To select the Root operation or any inserted operation • Click on it. The insertion cursor appears to the right of the operation icon. Note: Selecting an operation is different from selecting a condition. When you select a condition, the condition statement is hightlighted. When you select an operation, an insertion cursor appears. To insert a condition 1. Click Add Condition. The Add Condition dialog box appears. (Figure 3.5) 2. Click on the Available Fields drop-down arrow and select the field you want. 3. Click on the Binary Operation drop-down arrow and select the operation you want. 4. Select the tab you want to use to specify the right operand. • To specify a fixed value, click the Value tab. The Value input line appears. Type a fixed value. • To specify a form control, click the Control tab. The Form controls input line appears. Click the drop-down arrow and select the control you want to use. • To specify a database field value, click the Join tab. The Field to join by input line appears. Click the drop-down arrow and select the database field you want to use. 5. When done, click OK. The specified condition statement appears as a subordinate statement under the selected operation. You may add as many condition statements to an operation as necessary. Inserting Additional Operations To insert additional operations, you must decide (1) if you want to insert an operation at the same hierarchy; or (2) if you want to insert an operation at the same hierarchy level and subordinate the selected operation to the operation you are about to insert. All operations are insertedat the end of the logical operations tree (or segment) after the last operation at the same hierarchy level. This means that: • If you want to insert an operation at the same hierarchy level, the inserted operation will be 3–6 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action after the last operation at the same hierarchy level, regardless of which operations at that hierarchy level you select. Example: If three operations at the same hierarchy level are listed, then any one of them could be selected and the result would be the same. • If you insert an operation at the same hierarchy and subordinate the selected operation to the operation you are about to insert, then the selected operation and all of its subordinated operations and conditions are positioned at the end of the logical operations tree (or segment), after the last operation at the selected hierarchy level. Example: If three operations at the same hierarchy level are listed, and the top one contains subordinate conditions, then if the topmost operation is selected, that operation and its subordinate conditions will move to the bottom of the listing. You can reposition an inserted operation and all of its subordinated operations and conditions at any time by clicking and dragging it to its new position. To insert an operation at the same hierarchy level 1. Select an operation at the same hierarchy level as the one you want to add. The insert cursor appears on the right. 2. Click Add Logic. The Choose Logic Operation dialog box appears. (Figure 3.4) 3. Select either AND or OR from the Logic Type drop-down list and click OK. The specified operation is inserted after the last operation at the selected hierarchy level. Note: The insertion cursor moves to indicate where the new operation has been inserted. 4. Click and drag the inserted operation to the location where you want it. To insert an operation at the same hierarchy level and subordinate the selected operation to the one being inserted 1. Select an operation that you wish to make subordinate. The insert cursor appears on the right. 2. Click Insert Logic. The Choose Logic Operation dialog box appears. (Figure 3.4) 3. Select either AND or OR from the Logic Type drop-down list and click OK. The specified operation is inserted and the selected operation and all of its subordinated operations and conditions are moved to the end of the logical operations tree (or segment), after the last operation at the selected hierarchy level. Note: The insertion cursor moves to indicate where the new operation has been inserted. 4. Click and drag the inserted operation and all of its subordinated operations and conditions to the location where you want it. User Guide ◆ ◆ ◆ 3–7 Chapter 3. Specifying a Query Action Constructing Queries Insert Query To specify a new Insert query 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Query. The Query icon is inserted at the first hierarchy level below the Root icon. 4. Double-click the Query icon to open the Choose Data Source for New Query dialog box. (Figure 3.1) 5. Using the resource tree, navigate to the database that you want and select it. The Query Type field becomes active. 6. Select Insert. 7. Click Edit Query. The Query Properties dialog box appears. (Figure 3.6) To select the table and assign field values to the record that will be inserted Figure 3.6 ñ Query Properties Dialog Box (Insert Tab) 1. Click the Insert tab. The Query Insert fields appear. 2. Click the Tables drop-down list and select the table that will receive the inserted records. The fields currently defined for that table appear in the Fields and Values section. Note: By default, all fields have the value “empty” until specifically assigned a value. 3. Select a field and click Edit. The Set Value dialog box appears. (Figure 3.7) Use this dialog box to insert values explicitly, as numbers or alphanumeric strings, or to select a form control that will dynamically insert a value. • To insert values explicitly, click the Value tab and type the value that you want to assign. Click OK. The entered value appears as the field value in the Fields and Values section. Figure 3.7 ñ Set Value Dialog Box • To select a form control, click the Control tab and click the drop-down arrow. A scrollable list of controls appears. Select the control you want to assign. Click OK. The selected control appears as the field value in the Fields and Values section. • To omit a field from the query, select it and click Clear. The word “empty” appears as the field value in the Fields and Values section. Omitted fields receive a null value. 4. When done, click OK. The Insert query is specified. 3–8 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action To execute the query, the server must open the Dynamic Page that contains the Insert Query. Normally, an Insert Query is specified after some data has been collected through a form using the Submit button. Remember to provide an insert warning prior to executing an Insert Query and also provide some confirmation feedback that the Insert Query was completed successfully. Delete Query To specify a new Delete Query 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Query. The Query icon is inserted at the first hierarchy level below the Root icon. 4. Double-click the Query icon to open the Choose Data Source for New Query dialog box. (Figure 3.1) 5. Using the resource tree, navigate to the database that you want and select it. The Query Type field becomes active. 6. Select Delete. 7. Click Edit Query. The Query Properties dialog box appears. (Figure 3.8) To select the table associated with the record(s) to be deleted 1. Click the Tables tab. The Query Table fields appear. 2. Click the Tables drop-down list and select the table associated with the record(s) to be deleted. 3. When done, decide what criteria must be satisfied before this query can be executed. Figure 3.8 ñ Query Properties Dialog Box (Delete Tab) To specify the criteria necessary for the query to be performed 1. Click the Criteria tab. The Query Criteria fields appear. 2. Click either Insert Logic or Add Logic. The Choose Logic Operation dialog box appears. (Figure 3.9) 3. Select either AND or OR from the Logic Type drop-down list, and click OK. The specified operation is inserted as the Root operation. 4. Select the Root operation and insert any additional operations. The insertion cursor appears to the right of the selected operation icon. **Note: To insert additional operations, you must decide (1) if you want to insert an operation at the same hierarchy level (use Add Logic) or (2) if you want to insert an User Guide Figure 3.9 ñChoose Logic Operation Dialog Box (Use with QueryCriteria) ◆ ◆ ◆ 3–9 Chapter 3. Specifying a Query Action operation at the same hierarchy level and subordinate the selected operation to the operation you are about to insert (use Insert Logic). An inserted operation is always placed after the last operation at the same hierarchy level. You may click and drag an operation (and all of its subordinate operations) to any position in the hierarchy. Selecting an operation is different from selecting a condition. When you select a condition, the condition statement is hightlighted. When you select an operation, an insertion cursor appears. 5. 6. 7. 8. 9. 10. 11. 12. 13. Click either Insert Logic or Add Logic. The Choose Logic Operation dialog box appears. (Figure 3.9) Select either AND or OR from the Logic Type drop-down list, and click OK. The specified operation is inserted. The insertion cursor appears to the right of the inserted operation icon. Select an operation icon and insert condition statements as necessary to specify the query criteria. The insertion cursor appears to the right of the operation icon. Click Add Condition. The Add Condition dialog box appears. (Figure 3.10) Click on the Available Fields drop-down arrow and select the field you want. Click on the Binary Operation drop-down arrow and select the operation that you want. Select the tab that you want to specify the right operand. • To specify a fixed value, click the Value tab. The Value input line appears. Type a fixed value. • To specify a form control, click the Control tab. The Form controls input line appears. Click the dropdown arrow and select the control that you want to use. When done, click OK. The specified condition statement appears as a Figure 3.10 ñ Add Condition Dialog Box subordinate statement under the selected operation. You may add as many condition statements to an operation as necessary. When done, click OK. The Delete Query is specified. To execute the query, the Dynamic Page must be opened by the server and the query criteria must be met. Remember to provide an delete warning prior to executing the Delete Query and also provide some confirmation feedback that the Delete Query was completed successfully. Update Query To specify an Update query 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Query. The Query icon is inserted at the first hierarchy level below the Root icon. 4. Double-click the Query icon to open the Choose Data Source for New Query dialog box. 5. Using the resource tree, navigate to the database that you want and select it. The Query Type field becomes active. 3–10 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action 6. 7. Select Update. Click Edit Query. The Query Properties dialog box appears. (Figure 3.11) To select the table and assign field values to the record that will be inserted 1. Click the Update tab. The Query Update fields appear. 2. Click the Tables drop-down list and select the table that will receive the inserted records. The fields currently defined for that table appear in the Fields and Values section. Note: By default, all fields have the value “empty” until specifically assigned a value. 3. 3. Figure 3.11 ñ Query Properties Dialog Box (Update Tab) Select a field and click Edit. The Set Value dialog box appears. Use this dialog box to insert values explicitly, as numbers or alphanumeric strings, or to select a form control that will dynamically insert a value. • To insert values explicitly, click the Value tab and type the value you want to assign. Click OK. The entered value appears as a field value in the Fields and Values section. • To select a form control, click the Control tab and click the drop-down arrow. A scrollable list of controls appears. Select the control you want to assign. Click OK. The selected control appears as a field value in the Fields and Values section. • To omit a field from the query, select it and click Clear. The word “empty” appears as a field value in the Fields and Values section. Omitted fields receive a null value. When done, decide what criteria must be satisfied before this query can be executed. To specify the criteria necessary for the query to be performed 1. Click the Criteria tab. The Query Criteria fields appear. (Figure 3.12) 2. Click either Insert Logic or Add Logic. The Choose Logic Operation dialog box appears. 3. Select either AND or OR from the Logic Type drop-down list and click OK. The specified operation is inserted as the Root operation. 4. Select the Root operation and insert any additional operations. The insertion cursor appears to the right of the selected operation icon. Note: To insert additional operations, you must decide (1) if you want to insert an operation at the same hierarchy level (use Add Logic) or (2) if you want to insert an operation at the same hierarchy level and subordinate the selected operation to the operation you are about to insert (use Insert Logic). An inserted operation is always placed after the last operation at the same hierarchy level. You may click and drag an operation (and all of its subordinate User Guide ◆ ◆ ◆ 3–11 Chapter 3. Specifying a Query Action operations) to any position in the hierarchy. Selecting an operation is different from selecting a condition. When you select a condition, the condition statement is hightlighted. When you select an operation, an insertion cursor appears. 5. 6. 7. 8. 9. 10. 11. 13. 14. Click either Insert Logic or Add Logic. The Choose Logic Operation dialog box appears. Select either AND or OR from the Logic Type drop-down list and click OK. The specified operation is inserted. The insertion cursor appears to the right of the inserted operation icon. Select an operation icon and insert condition statements as necessary to specify the query criteria. The insertion cursor appears to the right of the operation icon. Click Add Condition. The Add Condition dialog box appears. Click on the Available Fields dropFigure 3.12 ñ Query Properties Dialog Box down arrow and select the field you (Criteria Tab) want. Click on the Binary Operation drop-down arrow and select the operation you want. Select the tab you want to use to specify the right operand. • To specify a fixed value, click the Value tab. The Value input line appears. Type a fixed value. • To specify a form control, click the Control tab. The Form controls input line appears. Click the drop-down arrow and select the control you want to use. • To specify a database field value, click the Join tab. The Field to join by input line appears. Click the drop-down arrow and select the database field you want to use. Repeat Steps 7–11 to add as many condition statements to an operation as necessary. When done, click OK. The Update query is specified. To execute the query, the Dynamic Page must be opened by the server and the query criteria must be met. Normally, an Update query is specified after a user has specified what data he/she wishes to see. Select Query To specify a new Select query 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Query. The Query icon is inserted at the first hierarchy level below the Root icon. 4. Double-click the Query icon to open the Choose Data Source for New Query dialog box. 3–12 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action 5. Using the resource tree, navigate to the database that you want and select it. The Query Type field becomes active. 6. 7. Select Select. Click Edit Query. The Query Properties dialog box appears. (Figure 3.13) To select the table 1. Click the Select tab. The Query Select fields appear. 2. Click the Tables drop-down list and select the table that contains the records that you wish to select. The fields that are currently defined for that table appear in the Available Fields section. To select a field, you must insert the desired fields into the Selected Fields section from the Available Fields section. Figure 3.13 ñ Query Properties Dialog Box (SelectTab) To specify the fields to select 1. To select fields, decide how you wish to insert fields into the Selected Fields section. • To insert fields one by one, select a field and click Add >. Only the selected field is added to the Selected Fields section. • To select more than one field, hold down the CNTR key as you select your fields and click Add >. All of the selected fields are added. • To insert all of the Available Fields, click Add All >>. All of the table fields are added to the Selected Fields section. 2. To remove fields, decide how you wish to remove fields from the Selected Fields section. • To remove fields one by one, select the field and click Remove <. The selected field is removed. • To remove more than one field, hold down the CNTR key as you select your fields and click Remove <. All of the selected fields are removed. • To remove all of the fields from Selected Fields, click Remove All <<. The fields are removed. 3. When done, decide how you want your query results to be organized. To select a display order 1. Click the Order tab. The Query Order fields appear. (Figure 3.14) 2. Click the Tables drop-down list and select the table that contains the fields that you want to use to order your query results. To sequence your query result in a specific order, you must insert a field sorting order into the Fields to Order By section. These fields are used to sort the query feedback on the Feedback Section that displays the query result. Note: When inserted, field names display a small arrow to the left. If the arrow points User Guide ◆ ◆ ◆ 3–13 Chapter 3. Specifying a Query Action upward, the sort is ascending. If the arrow points downward, descending. To change the arrow’s direction, click on the arrow icon. The direction is reversed. 3. 4. 5. To select fields, decide how you wish to insert fields into the Fields to Order by section. • To insert fields one by one, select a field and click Add >. Only the selected field is added. • To select more than one field, hold down the CNTR key as you Figure 3.14 ñ Query Properties Dialog Box select your fields and click Add (Order Tab) >. All of the selected fields are added. • To insert all of the Available Fields, click Add All >>. All of the Available Fields are added to the Fields to Order by section. To remove fields, decide how you wish to remove fields from the Fields to Order by section. • To remove fields one by one, select the field and click Remove <. Only the selected field is removed. • To remove more than one field, hold down the CNTR key as you select your fields and click Remove <. All of the selected fields are removed. • To remove all of the fields from Fields to Order by, click Remove All <<. All of the listed in Fields to Order by section are removed. When done, decide what criteria must be satisfied before this query can be executed. To specify the criteria necessary for the query to be performed 1. Click the Criteria tab. The Query Criteria fields appear. (Figure 3.15) 2. Click either Insert Logic or Add Logic. The Choose Logic Operation dialog box appears. 3. Select either AND or OR from the Logic Type drop-down list and click OK. The specified operation is inserted as the Root operation. 4. Select the Root operation and insert any additional operations. The insertion cursor appears to the right of the selected operation icon. Note: To insert additional operations, you must decide (1) if you want to insert an operation at the same hierarchy level (use Add Logic) or (2) if you want to insert an operation at the same hierarchy level and subordinate the selected operation to the operation you are about to insert (use Insert Logic). An inserted operation is always placed after the last operation at the same hierarchy level. You may click and drag an operation (and all of its subordinate operations) to any position in the hierarchy. Selecting an operation is different from selecting a condition. When you select a condition, the condition statement is hightlighted. When you select an operation, an insertion cursor appears. 5. 3–14 Click either Insert Logic or Add Logic. The Choose Logic Operation dialog box appears. ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action 6. 7. 8. 9. 10. 11. 13. 14. Select either AND or OR from the Logic Type drop-down list and click OK. The specified operation is inserted. The insertion cursor appears to the right of the inserted operation icon. Select an operation icon and insert condition statements as necessary to specify the query criteria. The insertion cursor appears to the right of the operation icon. Click Add Condition. The Add Condition dialog box appears. Click on the Available Fields drop-down arrow and select the field you want. Figure 3.15 ñ Query Properties Dialog Box Click on the Binary Operation drop-down (CriteriaTab) arrow and select the operation that you want. Select the tab that you want to use to specify the right operand. • To specify a fixed value, click the Value tab. The Value input line appears. Type a fixed value. • To specify a form control, click the Control tab. The Form controls input line appears. Click the drop-down arrow and select the control that you want to use. • To specify a database field value, click the Join tab. The Field to join by input line appears. Click the drop-down arrow and select the database field you want to use. Repeat Steps 7–11 to add as many condition statements to an operation as necessary. When done, specify how many records will appear when the query results are displayed. To specify how many records will appear when the query results are displayed 1. Click the Feedback tab. The Feedback fields appear. (Figure 3.16) 2. Decide what you want to do: • To display all result records on one page, leave the Show All radio button selected. • To display the result records over multiple pages, click the Custom radio button and specify the number of record lines to display. • To display identical query results as separate rows, click the Select Distinct Rows check box. 3. When done, click OK. The Select query is specified. To display query results on a Feedback Section 1. Add a RecordSet into the Query and add a Feedback Section into the RecordSet. Note: You will not be able to add a RecordSet into the query until the database and type of query are specified. 2. 3. Double-click on the Feedback Section icon. The Page Editor window becomes active. Click the Dynamic Element Insertion button on the Dynamic Page toolbar. The Dynamic User Guide ◆ ◆ ◆ 3–15 Chapter 3. Specifying a Query Action Text Element dialog box appears. The data elements associated with the query appear. Note: The Dynamic Text Element dialog box organizes dynamic elements by Parameters, Variables, and Query Elements. Each of these groupings can be expanded or collapsed using the resource tree controls. To identify the query elements associated with a specific query, the query name is listed next to each query element. 4. 5. Position the cursor in the Page Editor Figure 3.16 ñ Query Properties Dialog Box (Feedback -Tab) window where you want the dynamic element to appear and click. A blinking insertion cursor appears. From the Dynamic Text Element dialog box, double-click on the text element that you want to insert, or select the element and click Insert. The dynamic element is inserted into Page Editor and the cursor moves to the right of the inserted element. Note: When inserted Dynamic elements appear as greyed out text blocks with the query element name. If you want, you can change the query element name that appears on the Feedback Section. To change the query element name and display format 1. From the Feedback section open in Page Editor, double-click on the query element. The Dynamic Text Properties dialog box appears. (Figure 3.17) 2. Decide if you need to change dynamic element caption or display format. Figure 3.17 ñ DynamicText Properties Dialog Box Figure 3.18 ñ Updating the Dynamic Element Caption 3–16 • To change dynamic element caption, type a new caption in the Caption input line and click OK. The caption that appears in the Feedback Section is updated. • To change the display format, click the drop-down arrow for Output Format, select the format that you want and click OK. The display format when viewed in a browser will appear as specified. ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action Example: This example illustrates a dynamic element with a newly inserted caption. Figure 3.18 shows how the element was originally inserted and how it appears after update. Specifying the Appearance of a Dynamic Element Once inserted, you can customize the appearance of a dynamic element, by selecting the element, right-clicking and using any of the formatting options that are available. Display attributes can be assigned as character attributes or as paragraph attributes. To assign character attributes, select Font. To assign paragraph attributes, select Paragraph, Bullet, or Numbering. You may also use any of the formatting options found on the Formatting toolbar. You can also use a table to hold dynamic elements; however, you must be careful when specifying your table properties. Anticipating the Size of the Dynamic Element. Because the actual text that appears in the browser window is variable, the space allotted to the dynamic element will vary. If you plan on using a table to display query feedback, use the Auto setting for cell height and specify an exact cell width in pixels. Specify both Cell and Table width using Pixels so that the total width of all cells equals the table (row) width. Also, you must place your table headings on a Feedback section prior to the RecordSet action. The RecordSet action is a loop. If the Table headings are placed within the Feedback Section nested within the RecordSet action, every query result record will have a separate table headers. Navigation Buttons for Custom Query Feedback If you specify a Custom feedback page, you must be sure to insert navigation links into each Feedback Section that displays a query result. Query results are displayed as a “rolling window,” based upon the number of records that you specify. To illustrate: If you set a custom feedback page that only displays five query result records and your query result generates 17 records, then four result “windows” are created. The first window only requires forward navigation; the next two windows require both forward and backward navigation; the last window only requires backward navigation. To insert the necessary navigation links, use the query variables, Navigation_Forward and Navigation_Backward on individual Feedback Sections • Records 1-5 are displayed on window; this window needs forward navigation only. • Records 6-10 are displayed on window 2; this window needs forward and backward navigation. • Records 11-15 are displayed on window 3; this window needs forward and backward navigation. • Records 16-17 are displayed on window 4; this window needs backward navigation only To evaluate your query results so that the correct navigation links are inserted, use the query elements, Low_Range and High_Range to identify the relative position of a “window” given the total number of records that must be displayed. Note: The query element, Low_Range, equals 0 or 1 depending on whether results have been found; the query element, High_Range, equals the number of display lines that you User Guide ◆ ◆ ◆ 3–17 Chapter 3. Specifying a Query Action specified using the Feedback tab. Once inserted in a condition statement, the specific values associated with Low_Range and High_Range will change depending upon the window being displayed. For Window 1: Low_Range equals 1 and a High_Range equals 5 For Window 2: Low_Range equals 6 and a High_Range equals 10 For Window 3: Low_Range equals 11 and a High_Range equals 15 For Window 4: Low_Range equals 16 and a High_Range equals 17 Note: Query elements Low_Range and High_Range appear on the Query tab drop-down list from the Set Condition dialog box. Use this dialog box to specify the evaluation condition used to dispaly each Feedback Section. Since your evaluations are sequential (Figure 3.19) from top to bottom, you must set up specific condition statements to test for first-page display, middle-page(s) display, and last-page display. Your condition tests are built around two evaluation which are always performed. High_Range = 0 and Low_Range = 1. When High_Range = 0 test is performed, the no result condition is identified. When Low_Range = 1 is performed, both the result condition is identified and the first query result set is identified. However, the Low_Range = 1 test, does not test for when the High_Range limit indicates that more than one answer set to be displayed. This requires three additional tests: • The High_Range less than total record number test -- when used with the condition Low_Range = 1 verifies that at least one more window is required. • The High_Range less than total record number test -- when used with the condition Low_Range does not equal 1 verifies that one more windows are required. • The High_Range greater than or equal to the total record number test -- when used with the condition Low_Range does not equal 1 verifies no more additional windows are required. Note: There is no test for a single-page result that does not include any navigation links, only tests for first-page, middle-page, and last-page. The condition statements used to make the necessary evaluations are: • If High_Range = 0 (no result condition); • When true, display No_Result Feedback Section, • Otherwise, perform the next test. • If Low_Range = 1 (feedback required) When true, perform a test to determine if the query records being displayed are below the maximum number that can be displayed on the first page (Forward Navigation only) Test condition: If High_Range is less than the total record number, where High_Range varies but the Low_Range is equal to 1. 3–18 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action • • • When true, display Forward_Only Feedback Section, • Otherwise, perform the next test. Perform a test to evaluate if the query records being displayed are less than the maximum number that can be displayed using both Forward and Backward Navigation) Test condition: If High_Range is less than the total record number, where High_Range varies and Low_Range must be greater than 1. • When true, display Forward_Backward Feedback Section. Figure 3.19 ñ Action Listing for Dynamic • Otherwise, perform the next test. Perform a test to evaluate if the query records being displayed are less than the maximum number that can be displayed using Backward Navigation only) Test condition: If High_Range is greater than or equal to the total record number, where High_Range varies and Low_Range must be greater than 1. • When true, display Backward_Only Feedback Section. • Otherwise, unspecified. This result set is not possible since High Rage will never be less the Low_Range value 0. Your feedback pages should be set up to provide a link that allows the user to input a new search. For specific details on how to create the appropriate Action listing and Feedback Sections, see the chapter titled “Creating A Query/Search Page” later in this manual. Embedded Queries Embedded Queries are queries embedded into a Feedback Section by being attached to an object. Normally, queries are specified using the Dynamic Page action listing and are identified by a Query icon. To set up either an embedded query or a normal query, you must specify a database and the type of query. Embedded Queries are different since they do not appear in the action listing. The objects to which you can attach an embedded query include table and combo box objects. To create an embedded query, first create the object that will contain the query. Next, select the object and right-click. A pop-up menu appears. Select Object > Query Wizard. The Choose Database dialog box appears. Select the database that you want to query and design your User Guide ◆ ◆ ◆ 3–19 Chapter 3. Specifying a Query Action query as usual. By embedding a query within an object, you are making query values available for display as dynamic elements within the selected object. For example, by embedding a query within a table, you are making the generated query elements available for display within individual table cells. By embedding a query within a Combo Box you are making the generated query elements available for display selection options from which the viewer can choose. When used with a Combo Box, the query values must be linked to the Combo box object using the Advanced button on the Combo Box Properties dialog box. This button causes the Advanced Web Operations dialog box to appear. Click the Dynamic Object tab. A new Embedded Queries button has been added. Use this button to specify both the option caption and value that appears. By clicking Embedded Queries, you can assign an embedded query element to each ombo item property. Modify/Query Dialog Box The Modify/Query dialog box (Figure Figure 3.20 ñ Modify/Query Dialog Box 3.20) appears whenever a user clicks the Embedded Queries button. Use this dialog box to assign dynamically generated values derived from an Embedded Query. You will want assign a dynamic value generated by an embedded query (1) when completing a Linked Parameter operation that transfers a dynamically generated value to an ASP page when the viewer click on a linked object, (2) when completing an Advanced Web operation to assign a dynamically generated value to a combo box attribute — when the combo box itself has an embedded query attached to it, and (3) when completing an Advanced Web operation to assign a dynamically generated URL to an image file that inserted onto a table – when the table itself has an embedded query attached to it. Note: The Embedded Queries button is available only when an embedded query has already been attached to either a table or a combo box on a Feedback Section. Without this prerequisite condition, the Embedded Queries button is unavailable. Dynamic Elements Dialog Box The Dynamic Elements dialog box (Figure 3.21) includes a category of Dynamic Elements, called Embedded Query Elements. These elements are only present when the Insert Dynamic Element command is performed on a table object that contains an embedded query. Note: The category, Embedded Query Elements, appears whenever the Dynamic Figure 3.21 ñ Dynamic Elements Dialog Box 3–20 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action Elements dialog box appears; however, often times there are no embedded query elements available. Creating An Embedded Query Embedded Queries. Embedded Queries are queries embedded into a Feedback Section. Normally, queries are specified using the Dynamic Page action listing and are identified by a Query icon. To set up a query you must specify a database and the type of query. Embedded Queries are different; they do not appear in the action listing. Embedded Queries are embedded into a Feedback Section by being attached to specific objects that have been placed into a Feedback Section. These objects only include tables and combo boxes. To create an embedded query 1. Open the Dynamic Page and Feedback Section where you wish to create the embedded query. 2. Insert the object that will carry the embedded query. Note: You can only select either a Combo Box or a Table. 3. Select the object that will carry the embedded query and right-click. A pop-up menu appears. (Figure 3.22) 4. Select Object > Query Wizard. The Choose Database dialog box appears. 5. Select the database that you want to query and click Edit Figure 3.22 ñ QueryWizard Menu Selection Query. The Query Properties dialog box appears. 6. Design your query as usual. 7. When done, click OK to close the Query Properties dialog box. The embedded query is now attached to the selected object. By embedding a query within an object, you are making query values available for display as dynamic elements within the selected object. For example, by embedding a query within a table, you are making the generated query elements available for display within individual table cells. By embedding a query within a Combo Box you are making the generated query elements available for display selection options from which the viewer can choose. Note: The Query Wizard option that appears when you right-click on either a combo box or a table does not have a equivalent menu select option on the Menu bar. To determine if either a combo box or a table contains an embedded query, you must select the object, right-click and use Query Wizard again. Assigning or Inserting Embedded Query Elements Embedded Query Elements can be assigned to combo box attributes, or to image attributes. They can also be inserted as a dynamic elements into table cells, or else assigned to a linked User Guide ◆ ◆ ◆ 3–21 Chapter 3. Specifying a Query Action object that carries a Linked Parameter. For Combo Box Objects To assign an Embedded Query Element to a combo box object, your database must have data fields that correspond to attributes required for a combo box and the combo box itself must have an embedded query attached to it. The embedded query used to select database records must select from the database those values that correspond to at least VALUE and CAPTION. To identify the correct records, at least one parameter or variable must be used as query criteria. For example, ShopDB uses the Color table to specify color options by product. When specifying the query element to assign to each combo box attribute, Color is assigned to VALUE and CAPTION. The Embedded Query that has been attached to the combo box identifies the correct record to assign by using Product ID as the selection criteria for the query. To assign Embedded Query Elements to a Combo Box 1. From the Combo Box Properties dialog box, click Advanced. The Advanced Web Operation dialog box appears. 2. Click the Dynamic Object tab. The Dynamic Object fields and buttons appear. 3. Select one of the three available Combo Box elements from the Name column. Note: Your choices are SELECTED, VALUE, or CAPTION. 4. Click Embedded Queries. The Modify/Query dialog box appears. Note: For a Combo Box object, the Embedded Queries button is only available when an embedded query has been attached to the Combo Box object. 5. Click the drop-down arrow next to the Select Column field. The list of available Embedded Query Elements appears. Note: Since Embedded Query Elements generate multiple values, whenever you select a query element you are selecting a column of values. Query Element names appear in the following format: <Embedded Query Number>.<Table>.<Field Name>. The Query Element names that appear are derived from the embedded query that is attached to the combo object. 6. 7. 8. Select the Embedded Query Element that you want to assign to the Combo Box attribute. Click Get Column to accept the Query Element assignment. The Advanced Web Operation dialog box reappears with the Value column updated with the Embedded Query Element assignment. Repeat Steps 3-7 until all Combo Box attributes are assigned. Note: Name (or caption) and Value are required. If your database has been set up to discriminate between selected versus unselected combo box options, then the Selected attribute may be dynamically assigned as well. 3–22 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action 9. When done, your Embedded Query Element assignments are listed in the Value column. 10. To accept these assignments, click OK. The Combo Box Properties dialog box reappears. 11. When done, click OK to save your work. For Image Objects To assign an Embedded Query Element to a image object, your database must have data fields that correspond to attributes required for a image and the image itself must be inserted into a table that has an embedded query attached to it. The embedded query used to select database records must select from the database those values that correspond to at least SCR (Source File Name). To identify the correct records, at least one parameter or variable must be used as query criteria. For example, ShopDB uses Product ID to identity a Product Image URL. The query element to assign to the attribute SCR will be Product Image URL since there will be only one Product Image URL for each product. The Embedded Query that has been attached to the table where the image has been inserted identifies the correct record to assign by using Product ID as the selection criteria for the query. Note: When an image is inserted on a Feedback Section and is subsequently assigned dynamically generated properties, then the image that appears on the Feedback Section during development is merely a dummy image. Once the image attributes are dynamically assigned, the dummy image is replaced. Web site visitors never see the dummy image that is used during development. To assign Embedded Query Elements to an Image 1. From the Image Properties dialog box, click Advanced. The Advanced Web Operation dialog box appears. 2. Click the Dynamic Object tab. The Dynamic Object fields and buttons appear. 3. Select one of the four available Combo Box elements from the Name column. Your choices are SCR, WIDTH, ALT, or HEIGHT. Note: Only SCR (source file name) is required. 4. Click Embedded Queries. The Modify/Query dialog box appears. Note: For an Image object, the Embedded Queries button is only available when an embedded query has been attached to the table object which contains the inserted image. 5. Click the drop-down arrow next to the Select Column field. The list of available Embedded Query Elements appears. Note: Since Embedded Query Elements generate multiple values, whenever you select a query element you are selecting a column of values. Query Element names appear in the following format: <Embedded Query Number>.<Table>.<Field Name>. The Query Element names that appear are derived from the embedded query that is attached to the table object. User Guide ◆ ◆ ◆ 3–23 Chapter 3. Specifying a Query Action 6. 7. 8. Select the Embedded Query Element that you want to assign to the Image attribute. Click Get Column to accept the Query Element assignment. The Advanced Web Operation dialog box reappears with the Value column updated with the Query Element assignment. Repeat Steps 3-7 until all Image attributes are assigned. Note: Normally at least the Name (or caption) and Value attributes are assigned. If your database has been set up to discriminate between selected versus unselected combo box options, then the Selected attribute may be dynamically assigned as well. 9. When done, your Query Element assignments are listed in the Value column. 10. To accept these assignments, click OK. The Image Properties dialog box reappears. 11. When done, click OK to save your work. For Individual Table Cells To assign an Embedded Query Element to a table cell, you are simply inserting a dynamic element with the Dynamic Elements dialog box. Embedded Query Elements, however, is a separate category of Dynamic element. To insert an Embedded Query Element into a Table 1. With the Feedback Section icon selected, click inside the Page Editor window. A blinking insertion cursor appears. 2. Place the cursor inside the table that has an embedded query attached. 3. Click the Dynamic Element Insertion button on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. 4. Scroll down to the Embedded Query Element section and double-click on the Embedded Query Element that you want to insert. The element is inserted. Note: When inserted, Dynamic Elements appear as “greyed-out” text elements. 4. When done, close the Dynamic Elements dialog box. For Linked Objects that Carry a Linked Parameter When completing a Linked Parameter operation, you can assign an Embedded Query Element only to those links that are inserted on a table that carries an Embedded Query. By clicking on the Embedded Queries button from the Link dialog box, the Modify/Query dialog box appears. Use this dialog box to select a dynamically generated database value that will transfer to the ASP page when the viewer clicks on the linked object. To assign an Embedded Query Element to a link 1. From the Link Parameters dialog box, click Embedded Queries. The Modify/Query dialog box appears. Note: The Embedded Queries button is available only when the selected object that is to carry the link assignment is within a table that has an embedded query attached to it. 3–24 ◆ ◆ ◆ Dynamic Pages Chapter 3. Specifying a Query Action 2. Click the drop-down arrow next to the Select Column field. The list of available Embedded Query Elements appears. Note: Since Embedded Query Elements generate multiple values, whenever you select a query element you are selecting a column of values. Query Element names appear in the following format: <Embedded Query Number>.<Table>.<Field Name>. Only the Query Element names for the embedded query that is attached to the table object will appear. 3. 4. 5. Select the Embedded Query Element that you want to transfer when the viewer clicks on the selected object. Click Get Column to accept the Query Element assignment. The Link dialog box reappears. Click Assign URL to complete the link. User Guide ◆ ◆ ◆ 3–25 Chapter 4. Specifying a Feedback Action Introduction A Dynamic Page lets you present information that is tailored to a specific visitor based on the interaction of your Web site and that visitor. With a Dynamic Page, the screen display that appears is created by the Web-server at the time a viewer opens the page. Unlike a static HTML page, with a Dynamic Page, the Web-server creates the page display “on-the-fly,” using the action listing that you specify. Topics covered in this chapter include: • Initiating and Terminating Actions • Specify a Feedback Action and Its Text Display • Specifying the Appearance of a Dynamic Element • Using a Feedback Section to Display Query Results • Setting up Navigation Controls Initiating and Terminating Actions Actions that are "in line" with the Root icon are initiating actions (that is, they are always performed by the server everytime the page is opened). Initiating actions also lead off a chain of subordinate actions. Depending upon the purpose of the action chain, some subordinate actions will apply to some viewers, but not necessarily all of them. Subordinate actions can branch; thereby creating different processing alternatives. Most action branches end with a Feedback Section. Feedback Sections are terminating actions since the action processing is normally driving towards the display of some information to the Web site visitor. Example: A Three-Branch Listing. This example (Figure 4.1) shows three actions "in line" with the Root icon. The first branch contains one Feedback Section action, “Top of the Page Feedback.” The second branch has four actions; the initiating Query action, which is "in line" with the Root; followed by two subordinate actions that “branch off” the initiating Query action; these include the Feedback Section action, “Prior to Query Feedback” and a RecordSet action which contains the subordinate Feedback Section action, “Detail Feedback” which is a subordinate action off the RecordSet action. The last branch contains the Feedback Section action, “End of the Page Feedback.” Chapter 4. Specifying a Feedback Action Initiating and subordinate actions are linked together as a unit. If the initiating action is deleted all of its subordinating actions are deleted as well. If, in this example, the Query action "in line" with the Root icon is deleted, then all of the subordinate actions that “branch off” the Query action are deleted as well. (Figure 4.2) Importance of Placement. When specifying a Feedback Section action, it is important to know how your Web server will generate HTML based upon your placement of a Feedback Section action in your action listing. Any Feedback Section action that "in line" with the Root icon will generate HTML. Therefore, if an action listing contains two initiating Feedback Section actions (as in Figure 4.2), the Web server generates HTML for “Top of the Page Feedback” and then adds additional HTML for “End of the Page Feedback.” The final Web page that appears is a sequential composite (starting at the top of the action listing and moving to the bottom) of two Feedback Sections that are constructed sequentially. Figure 4.1 ñ Three Branch Example (Before Delete) Processing branches and sub-branches. In the example above (Figure 4.1), there are three initiating branches and two sub-branches; the first sub-branch begins (and Figure 4.2 ñ Three Branch Example ends) with the Feedback Section action, “Prior to Query (After Delete) Feedback.” The second sub-branch begins with the Record Set action and ends with the Feedback Section action, “Detail Feedback.” Sequentially, “Prior to Query Feedback” is processed prior to “Detail Feedback.” The final page, when generated by a server, will include four feedback sections: “Top of the Page Feedback,” “Prior to Query Feedback,” “Detail Feedback,” and “End of the Page Feedback.” Each processing branch applies to every viewer, so the HTML associated with each Feedback Section (that closes out a branch) will be generated. Important: When inserted, Feedback Sections “close out” individual action branches and sub-branches. You cannot insert subordinate actions (to continue a “branch” processing) after a Feedback Section has been added. The Feedback Section action is a terminating action for a branch or sub-branch. The general rules governing Feedback Section placements are: 1. When placed immediately “in line” with the Root icon, the Feedback Section HTML is generated for every viewer. 2. When placed as a subordinate action to an intiating action (or condition), the Feedback Section HTML is generated only if the initiating action is performed (or condition met). 3. When placed within a RecordSet action, the Feedback Section HTML is generated for every recurrence of the RecordSet action. 4. When placed within a Query action, the Feedback Section HTML is generated for every occurrence of the feedback “page” specified in Query Properties using the Feedback tab. 4–2 ◆ ◆ ◆ Dynamic Pages Chapter 4. Specifying a Feedback Action Note: You can use the Feedback tab to specify custom feedback “pages” where each “page” contains a limited number of result records per “page.” What this means is that for every occurrence of the feedback “page” new HTML is generated for each Feedback Section. The only Feedback section that will differ is the one used to display the query results. It is important to keep in mind that Feedback Section displays are constructed sequentially and that the final HTML page seen by a viewer is most often a cumulative product. Specify a Feedback Action and Its Text Display The Feedback Section action lets you display feedback to the Web site visitor depending upon its placement within the action listing. This is probably the most important Dynamic Page action that you will use. You can specify as many Feedback Sections for the dynamic page as you like. When you insert a Feedback Section icon, you give the Feedback Section action a name that will meaningfully describes the information that will appear to the Web visitor. Note: A Dynamic Page (and its generated ASP file) is a single resource. Feedback Sections that are inserted into a Dynamic Page are part of a Dynamic Page resource file. Feedback Sections are not stand-alone FCO resources. To specify a Feedback Section action 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Feedback Section. The Feedback Section icon is inserted at the first hierarchy level below the Root icon. 4. Double-click the Feedback Section icon to open the Feedback Section dialog box. 5. Type the Feedback Section name and click OK. The Dynamic Page Manger icon is updated. 6. Decide what information you want to display to the Web site visitor. To specify the text to be displayed 1. With the Feedback Section icon selected, click inside the Page Editor window. A blinking insertion cursor appears. 2. Decide what kind of text elements you want to insert. • To insert standard HTML elements, use the Insert Object toolbar to create your Plain Page design. • To insert one or more dynamic elements, click the Dynamic Element Insertion button on the Dynamic Page toolbar. The Dynamic Text Element dialog box appears. Position the cursor in the Page Editor window where you want the Dynamic Element to appear and click once. A blinking insertion cursor appears. Using the Dynamic Text Element dialog box, double-click on the name of the Dynamic Element. A Dynamic Element is inserted. Note: When inserted, Dynamic Elements appear as “greyed-out” text elements. 4. When done, close the Dynamic Text Element dialog box. The Feedback Section action is specified. User Guide ◆ ◆ ◆ 4–3 Chapter 4. Specifying a Feedback Action Specifying the Appearance of a Dynamic Element Once inserted, you can customize the appearance of a dynamic element, by selecting the element, right-clicking and using any of the formatting options available. Display attributes can be assigned as character attributes or as paragraph attributes. To assign character attributes, select Font. To assign paragraph attributes, select Paragraph, Bullet, or Numbering. You may also use any of the formatting options found on the Formatting toolbar. When using a table to display dynamic elements; be careful how you set up your table and cell properties. Anticipating the Size of the Dynamic Element. Because the actual text that appears in the browser window is variable, the space allotted to a dynamic element varies. If you plan on using a table to display query feedback, use Auto for cell height and Pixels for the cell width and use Auto for table height and Pixels for the table width. Be sure that the total width for all cells across the table (specified in Cell Properties) equals the table width (specified in Table Properties). Where To Place Table Headers. Place your table headings on a Feedback Section prior to the RecordSet action. The RecordSet action is a loop and any Feedback Sections contained within the RecordSet action generate HTML every time the script accesses a query result record. Therefore, if table headings are placed within the detail Feedback Section nested within the RecordSet action, every query result record will have its own table header. Using a Feedback Section to Display Query Results When you insert a Select Query, you asking the Web server to generating a series of query result records. Most often, you will want to display these records to a Web visitor. To do this, you must design a Feedback Section that will display the query result records as it is being dynamically generated. To specify how many records will appear when the query results are displayed 1. Double-click the select Query icon to open the Choose Data Source for New Query dialog box. 2. Click Edit Query. The Query Properties dialog box appears. 3. Click the Feedback tab. The Feedback fields appear. (Figure 4.3) 4. Decide what you want to do: • To display all result records on one page, leave the Show All radio button selected. • To display the result records over multiple pages, click the Custom 4–4 ◆ ◆ ◆ Figure 4.3 ñ Query Properties Dialog Box (Feedback -Tab) Dynamic Pages Chapter 4. Specifying a Feedback Action 5. radio button and specify the number of record lines to display. When done, click OK. The number of records to display as query feedback is specified. To display query results on a Feedback Section 1. Add a RecordSet into the Query and add a Feedback Section into the RecordSet. Note: You will not be able to add a RecordSet into the query until the database and type of query are specified. 2. 3. Double-click on the Feedback Section icon. The Page Editor window becomes active. Click the Dynamic Element Insertion button on the Dynamic Page toolbar. The Dynamic Text Element dialog box appears. The data elements associated with the query appear. Note: The Dynamic Text Element dialog box organizes dynamic elements by Parameters, Variables, and Query Elements. Each of these groupings can be expanded or collapsed using the resource tree controls. To identify the query elements associated with a specific query, the query name is listed next to each query element. 4. 5. Position the cursor in the Page Editor window where you want the dynamic element to appear and click once. A blinking insertion cursor appears. From the Dynamic Text Element dialog box, double-click on the query element that you want to insert, or select the element and click Insert. The dynamic element is inserted into Page Editor and the cursor moves to the right of the inserted element. Note: When inserted Dynamic elements appear as greyed out text blocks with the query element name. If you want, you can change the query element name that appears on the Feedback Section. To change the query element name and display format 1. From the Feedback section open in Page Editor, double-click on the query element. The Dynamic Text Properties dialog box appears. (Figure 4.3) 2. Decide if you need to change dynamic element caption or display format. • To change dynamic element caption, type a new Figure 4.3 ñ DynamicText caption in the Caption input line and click OK. The Properties Dialog Box caption that appears in the Feedback Section is updated. • To change the display format, click the drop-down arrow for Output Format, select the Figure 4.4 ñ Updating the Dynamic Element Caption User Guide ◆ ◆ ◆ 4–5 Chapter 4. Specifying a Feedback Action format that you want and click OK. The display format when viewed in a browser will appear as specified. Example: This example illustrates a dynamic element with a newly inserted caption. Figure 4.4 shows how the element was originally inserted and how it appears after update. Setting up Navigation Controls If you decided to display the query result records over multiple pages, then you must insert navigation controls to enable the viewer to “page” through the query results. To do this, insert Feedback Sections that provide for the conditional use of navigation controls based upon the total size of the query result and the size of the page window specified using the Feedback tab in Query Properties. Note: For more information about the evaluation tests required, see the chaper titled “Specifying a Query Action.” To insert Navigation controls into a Feedback Section Note: You will want to create separate feedback sections for each set of Navigation controls. Navigation control should not be on the same Feedback Section as the Feedback Section that displays query result records. 1. 2. 3. Add a Condition into the RecordSet. The IF-THEN-OK icons appear. Add a Feedback Section into the OK branch created by the the Condition. Position the cursor in the Page Editor window where you want the dynamic element to appear and click once. A blinking insertion cursor appears. 6. Decide if you want to use a text-only navigation control or if you want to use a graphic navigation control. Note: The navigation controls that you can insert are identified by query number. Insert the query element Query#. Forward_Navigation, or Query#. Forward_Navigation. · · To create a text-only navigation control, go to the procedure to insert a text-only navigation control below. To create a graphic navigation control, go to the procedure to insert a graphic navigation control below. To insert a text-only navigation control 1. Click the Dynamic Element Insertion button on the Dynamic Page toolbar. The Dynamic Text Element dialog box appears. 2. Double-click on the query element that you want, or select the element and click Insert. The dynamic element is inserted. The dynamic elements, Query#. Forward_Navigation, or Query#. Forward_Navigation, will appear as text-only navigation controls. 4–6 ◆ ◆ ◆ Dynamic Pages Chapter 4. Specifying a Feedback Action To insert a graphic navigation control 1. Select Insert > Image or click Insert Image on the Insert Object toolbar. The Image Attributes dialog box appears. (Figure 4.5) 2. Click the Library tab, use the drop-down menu, and select Arrows. The Arrow Library appears. 3. Select an arrow image and click OK. The arrow image is inserted. 4. Highlight the arrow image, right-click, and select Insert > Link. The Link dialog box appears. (Figure 4.6) 5. Click the To Resource tab and select the Dynamic Page that you are currently working in (Example: “DynPage_1.asp”). 6. Click Advanced. The Advanced WEB Operations dialog box appears. 7. Select the Dynamic Object tab. 8. Select HREF and click Modify. The Modify dialog box appears. (Figure 4.7) Note: HREF is an HTML tag attribute used to build a links to resources that are dynamically generated. Figure 4.5 ñ Image Attributes Dialog Box Figure 4.6 ñ Link Dialog Box 9. Click the Query tab and using the dropdown menu, select query element that you want (Example: “Query_1.Backward_Navigation.”). 10. Click OK twice to close the Modify and Advanced WEB Operations dialog boxes. 11. Click Assign URL. The graphic arrow is inserted and it has been dynamically linked to the specified navigation control. Figure 4.7 ñ Modify Dialog Box User Guide ◆ ◆ ◆ 4–7 Chapter 5. Specifying Other Dynamic Actions Introduction Topics covered in this chapter include: • Specifying a Send Mail Action • Specifying a Request Action • Specifying a Redirect to Action • Specifying a Condition Action • Specifying a Statement Action • Specifying a Write Cookie Action • Specifying the Lock or Unlock Actions Specifying a Send Mail Action A Send Mail action lets you send email from a Dynamic Page, once the Send Mail icon is inserted into the Dynamic Page action listing. Double-click on it. The Send Mail Properties dialog box appears. (Figure 5.1) Use this dialog box to enter From, To, Cc, and Subject. You may also send an email directly to a SMTP server address. Note: To use Send Mail, you must ensure that a special ActiveX component is available on your Internet server. Contact your Internet provider or system administrator and provide them with the required ActiveX component from your installation CD (the location is \Server Components\Send Mail\ folder). You can also specify your email text by clicking on the Page Editor window. Email text is not displayed to your Web site visitor, but only to the recipient of the email. In the body of the mail to be sent, you can design an HTML fragment like any HTML page, including images, tables, and Dynamic Text Elements. Keep in mind that the Send Mail action is a server-side action that is invisible to the Web site visitor. To specify a Send Mail action 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Send Mail. The Send Mail icon is inserted at the first hierarchy level below the Root icon. Chapter 5. Specifying Other Dynamic Actions 4. 5. Double-click the Send Mail icon to open the Send Mail Properties dialog box. Decide how you want to assign a field value. Click on the tab you want to use. Your choices include Value, Variables, Parameters, Query Element, and Cookie. • Click on the drop-down arrow and select a dynamically created value, or • Type a value directly. Note: The only required field is TO. 6. When done, decide what information you want to include with the email text. Figure 5.1 ñ Send Mail Dialog Box To specify the email text to be sent 1. With the Send Mail icon selected, click inside the Page Editor window. A blinking insertion cursor appears. 2. Decide what kind of text elements you want to insert. • To insert standard HTML elements, use the Insert Object toolbar to create your Plain Page design. • To insert one or more dynamic elements, click the Dynamic Element Insertion button on the Dynamic Page toolbar. The Dynamic Text Element dialog box appears. Position the cursor in the Page Editor window where you want the Dynamic Element to appear and click. A blinking insertion cursor appears. Using the Dynamic Text Element dialog box, double-click on the name of the Dynamic Element. A Dynamic Element is inserted. Note: When inserted, Dynamic Elements appear as “greyed-out” text elements. 4. When done, close the Dynamic Text Element dialog box and click OK. The Send Mail action is specified. Specifying a Request Action The Request action lets you retrieve and store data in a Dynamic Page. This action is different from a query because data can be obtained from the client or server machine rather than from a database. When you specify a variable name, it is used to identify the retrieved value. When you specify a Request action, you are assigning the variable name a value; however, you are also specifying both the source of the data and the means required to retrieve the data. 5–2 ◆ ◆ ◆ Dynamic Pages Chapter 5. Specifying Other Dynamic Actions Request From User Dialog Box This dialog box (Figure 5.2) has two parts: a Variable Key that initiates the request, and a Key Result which stores the data once it is obtained. When making a request, first identify the type of information you want. Your request options are identified by the dialog box tabs that appear on the right. The data types that you can request include form data, cookie data, query string data, Figure 5.2 ñ Request From User Dialog Box server variables, and others. By selecting a data type, you are specifying both the data source and the means required to complete the request. WebShop automatically creates the necessary ASP scripting to complete the request and obtain the data. Next, specify the variable name. The variable names from which you select are defined using the Property Sheet for the Dynamic Page. Before you can request data, you must set up the variables that will hold the data obtained by the request. The variable names that you assign must agree with the data names used by the data source. For example: A form field defined as First_Name, must be defined as First_Name on the Dynamic Page before a request can be initiated. Note: Variable names that do not agree will generate a server error. For example: if you are requesting Client Certificate, Server Variables, Application Element, or Session Element, then you must set up a variable that stores the appropriate ASP element identification, and use this as the Variable Key that initiates the request. To specify a Request action 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. 4. 5. 6. 7. 8. 9. Select Request. The Request icon is inserted at the first hierarchy level below the Root icon. Double-click the Request icon. The Request from User dialog box appears. (Figure 5.2) Click the drop-down arrow below the label Variable to store the result of request. The currently-defined variables for the Dynamic Page appear. Select the variable you want. Click on the tab which identifies the type of information you want to assign to the variable. Your choices are: Form, Query String, Cookie, Client Certificate, Server Variables, Application Element, and Session Element. Click the drop-down arrow below the label Variable to store the key of Request. The currently-defined variables for the Dynamic Page appear. Select the same variable as in Step 6. Note: The variable value will be replaced with the retrieved value only while the Dynamic Page is executing. Retreived values are not permanently saved. The initial values that you specify are restored after the processing is complete. User Guide ◆ ◆ ◆ 5–3 Chapter 5. Specifying Other Dynamic Actions 10. When done, click OK. The request is specified. Normally, you will want to initiate a request for information prior to completing any actions on the data. Many users initiate requests at the top of the Dynamic Page action listing. Specifying a Redirect to Action The Redirect to action lets you re-direct the viewer’s browser to a different page. There are two options when specifying a Redirect to action: Local or External. A local redirect takes the viewer to a different page within the current Web site. An external redirect takes the viewer to different page outside the current Web site. You can also pass parameter values from the current Dynamic Page to the redirect page. To pass values, you must specify the parameter name and value. The value that you specify can be entered directly, or it can be a dynamically generated. When specifying a dynamically-generated values, choose between Parameters, Query Elements, Cookies, and Variables. Property Sheet for Redirect Action Dialog Box This dialog box has two tabs: Local and External. (Figure 5.3) Local Tab The Local tab lets you select a page within the current Web site and specify the parameter names and values to pass when the Redirect to action is performed. The Site Pages combo box displays the available Web pages for the current project. The Parameters List displays the available parameters for the selected page. The Chosen parameters and values display area lists the parameters and values that will be passed when the Redirect to action is performed. 5–4 ◆ ◆ ◆ Figure 5.3 ñ Property Sheet for Redirect Action Dialog Box Dynamic Pages Chapter 5. Specifying Other Dynamic Actions To specify a local redirect 1. Click the Local tab. (Figure 5.3) 2. Click the drop-down arrow next to Site Pages. A list of available Web pages appears. 3. Select the page where the viewer is to go. 4. Click the drop-down arrow next to Parameters List. A list of available parameters for the selected page appears. 5. Decide if you want to pass specific parameter values. • To add a parameter to the Chosen parameters and values display area, select the parameter from the Parameters List of the new page, and click the Add button. • To set a value to pass when the Redirect to to action is performed, select the parameter by clicking on it, and click the Modify button. The Modify dialog box appears. Decide how you want to assign a value. • To assign a value directly, click the Value tab and type the value to be assigned. • To assign a value dynamically, select any one of the other tabs and specify the data name that contains the value you want to assign. • When done, click OK. The parameter value is assigned and appears in the Chosen parameters and values display area. Note: Each tab provides a list of available data names. These names are the currently defined data names associated with the current Dyanamic Page. To assign a dynamicallygenerated value, the data name must be defined on the Dynamic Page and a value must be assigned. If you assign a query element, you may only select a Query Output element. 6. When done, click OK. The Redirect to action is specified. External Tab The External tab lets you specify an external URL location outside the current Web site and lets you specify the parameter names and values to pass when the Redirect to action is performed. You can only pass parameter values by directly creating parameter names to hold your values. Since the specified URL location is outside the current project site, WebShop cannot determine the currently-defined parameters. For data to pass effectively, you must obtain the parameter names directly from the URL location. To specify an external redirect 1. Click the External tab. (Figure 5.3) 2. Click the Custom URL input line and type (or paste) the exact URL address where the viewer will be taken. 3. Decide if you want to pass specific parameter values. • To add a parameter to the Chosen parameters and values display area, click the Parameter Name input line and type (or paste) the parameter name and click the Add button. • To set a value to pass when the Redirect to action is performed, select the parameter by clicking on it, and click the Modify button. The Modify dialog box appears. Decide how you want to assign a value. User Guide ◆ ◆ ◆ 5–5 Chapter 5. Specifying Other Dynamic Actions • • • To assign a value directly, click the Value tab and type the value to be assigned. To assign a dynamically, select any one of the other tabs and specify the data name that contains the value you want to assign. When done, click OK. The parameter value is assigned and appears in the Chosen parameters and values display area. Note: Each tab provides a list of available data names. These names are the currentlydefined data names associated with the current Dyanamic Page. To assign a dynamicalygenerated value, the data name must be defined on the Dynamic Page and a value must be assigned. If you assign a Query element, you may only select a Query Output element. 7. When done, click OK. The Redirect to action is specified. Specifying a Condition Action The Condition action lets you establish two processing alternatives based upon a true or false condition. When you insert this action, three icons appear: • “IF” statement icon. Use this icon to evaluate a condition against an expected value. When first inserted, the words “Empty Condition” appear to the right of the icon. These are replaced once the evaluation condition is specified. • “OK” statement icon. Use this icon to initiate an action when the “IF” statement is true. The word “Then” always appears to the right of the icon. • “NO” statement icon. Use this icon to initiate an action when the “IF” statement is false. The word “Else” always appears to the right of the icon. When referring to the icons and labels created by a Condition action, “OK” and “NO” refer to the true or false condition; “THEN” and “ELSE”refer to consequential actions. To initiate an action for use with either “OK” or “NO,” use Dynamic Page > Add Into or rightclick and select Add Into. Actions added into either “OK” or “NO” are subordinated actions. You do not have to specify actions for either “OK” or “NO.” You can arrange you condition statement to only cause an action to be performed for only one of the two logical alternatives. If either the “OK” or “NO” statement is left unspecified, the next action performed is whatever follows the initiating “IF” statement. Remember! Action icons are displayed hierarchically. That means, actions at the same hierarchy level are performed sequentially from top to bottom in the order presented. Any subordinated action is performed only when the initiating action is performed. If a subordinating statement (such as “OK” or “NO”) is left unspecified, then the next initiating action is performed. If you wish to make multple evaluations that specify actions for only true conditions, you can “nest” Condition actions within one another. The last false condition in the “nested” series, if left unspecified, causes the next initiating action to be performed. You can chain together “one-sided” condition statements if you want. For example: A Condition action can be arranged to see if a cookie is written in the visitor’s computer (“IF” condition). If the Condition action proves untrue, the Dynamic Page will display some welcome text and sends an advertising email (“NO” statement). If the Condition action proves true (the cookie is available), the Dynamic Page will read the information stored in the cookie, and displays a different Feedback Section (“OK” statement). 5–6 ◆ ◆ ◆ Dynamic Pages Chapter 5. Specifying Other Dynamic Actions Figure 5.5 ñ Set Variable To Dialog Box Set Condition Dialog Box This dialog box (Figure 5.4) has three parts: left operand, operation and right operand. To specify the “If” condition, you must construct a statement for which there can be only a true or a false result. Left Operand: Select the type of value you want to enter by clicking on the appropriate tab. Your choices are: Variable, Parameter, Query, Cookie. Each tab contains a single input line. Click the drop-down arrow. A list of available data names appears. Select the data name that contains the value you want to test. Operation: Select one operation from among the following using the drop-down list: (1) BEGINS WITH, (2) CONTAINS, (3) ENDS, (4) EQUAL, (5) NOT EQUAL, (6) GREATER THAN, (7) GREATER OR EQUAL TO, and (8) LESS THAN, (9) LESS OR EQUAL TO Right Operand: Select the type of value you want to enter by clicking on the appropriate tab. Your choices are: Value, Variable, Parameter, Query, Cookie. Each tab contains a single input line. Click the drop-down arrow. A list of available data names appears. Select the data name that contains the value you want to test. Note: The data names that appear have been defined for use with the current Dynamic Page through either the Dynamic Page Property Sheet ,or a Query action. User Guide ◆ ◆ ◆ 5–7 Chapter 5. Specifying Other Dynamic Actions To specify a Condition action 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Condition. The Condition icons “IF-OK-NO” are inserted at the first hierarchy level below the Root icon. 4. Double-click the “IF” icon. The Set Condition dialog box appears. (Figure 5.4) 5. Construct the “IF” condition you want to evaluate. • For the left operand, select the type of value you want to enter by clicking on the appropriate tab. Your choices are: Value, Variable, Parameter, Query, Cookie. Click the drop-down arrow and select a data name. • For the operation, click the drop-down arrow and select an operation. • For the right operand, select the type of value you want to enter by clicking on the appropriate tab. Your choices are: Value, Variable, Parameter, Query, Cookie. Click the drop-down arrow and select the data name. Note: If you leave the right operand unspecified or blank, the “IF” condition tests for an empty or null value. • When done, click OK. The condition statement appears to the right of the “IF” icon. 6. Click the “OK” icon to select it and right-click. Use Add InTo select the action you want to initiate when the “IF” condition is true. An action icon appears. Complete your action specifications, as necessary. 7. Click the “NO” icon to select it and right-click. Use Add InTo select the action you want to initiate when the “IF” condition is false. An action icon appears. Complete your action specifications, as necessary. Be sure to test your Dynamic Page evaluations using some sample data. It is important to verify that each part of the “IF-OK-NO” Condition action is operating as expected. Specifying a Statement Action The Statement action lets you assign a value to a variable while a Dynamic Page is completing its actions. To assign a value, you must specify an operation that will construct the variable’s new value given its current value. Set Variable To Dialog Box This dialog box (Figure 5.5) has three parts: left operand, operation and right operand. To construct a statement, specify the variable that is to receive the new value as the left operand, select an operation, and specify the variable or value that will be used to construct the new value as the right operand. Left Operand: Click the Choose Variable Name drop-down arrow; select from the list of available variables. Those that appear were previously defined using the Dynamic Page Property Sheet. 5–8 ◆ ◆ ◆ Dynamic Pages Chapter 5. Specifying Other Dynamic Actions Figure 5.4 ñ Set Condition Dialog Box Operation: Click the drop-down arrow; select one operation from among the following: Equals, Subtract, Concatenate, Add, Multiply, Divide. If you use the operation “Concatenate,” the string values for the left and right operands will be joined. Use this operation to construct dynamic text that will display as a single variable, rather than as multiple variables. Right Operand: Select the type of value you want to enter by clicking on the appropriate tab. Your choices are Value, Variable, Parameter, Query, Cookie. Each tab contains a single input line. Click the drop-down arrow. A list of available data names appears. Select the data name you want to use. Note: The data names that appear have been defined for used with the current Dynamic Page through either the Dynamic Page Property Sheet or a Query action. To specify a Statement action 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Statement. The Statement icon is inserted at the first hierarchy level below the Root icon. 4. Double-click the Statement icon. The Set Variable To dialog box appears. (Figure 5.5) 5. Construct the equation that will assign the new value. • For the left operand, click the Choose Variable Name drop-down arrow and select the variable you want to receive the new value. • For the operation, click the drop-down arrow and select an operation to use. • For the right operand, select the type of value you want to enter by clicking on the appropriate tab. Your choices are: Value, Variable, Parameter, Query, and Cookie. Each tab contains a single input line. Click the drop-down arrow and select the data name. Note: To assign a variable an empty or null value, use Equal, and leave the left operand blank. 5. When done, click OK. The variable statement appears to the right of the Statement icon. User Guide ◆ ◆ ◆ 5–9 Chapter 5. Specifying Other Dynamic Actions Specifying a Write Cookie Action The Write Cookie action lets you assign a value to a variable and then write that value to the visitor’s PC. To assign a value, you must specify both the Cookie Key that will store the temporary value, and the variable that contains the value you wish to write onto the visitor’s PC. One of the purposes of cookies is to identify the previous actions that a visitor has taken. To identify the user and the previous actions taken, Cookie Keys are frequently organized by page, so that there is a unique cookie associated with individual pages and with specific Figure 5.6 ñ Set Condition Dialog Box actions. A visitor’s PC may contain several cookies. Each one identifies information specific to a page and the user’s actions. To identify accurately where the visitor has been, a cookie must be written before a Dynamic Page page displays any feedback. In this way, a running history can be kept which is always accessible. Write Cookie Dialog Box This dialog box (Figure 5.6) has three parts: left operand, operation and right operand. To write a cookie to a visitor’s PC, specify the Cookie Key that will receive the new value prior to being written to the visitor’s PC, then specify the variable (or value) that will be assigned to the Cookie Key. Left Operand: Click the drop-down arrow next to the Choose Key field; select a Cookie Key from the list of available keys. The Cookie Keys that appear were previously defined using the Dynamic Page Property Sheet. Operation: When writing a cookie, the Operation is always Equal. Right Operand: Click the Choose Variable field with drop-down list box; select one of the variables that were previously defined using the Dynamic Page Property Sheet. To specify a Cookie action 1. Click the Root icon to select it. 2. Right-click and select Add Into. A fly-out menu appears. 3. Select Cookie. The Cookie icon is inserted at the first hierarchy level below the Root icon. Note: If a Feedback Section has already been inserted, an error message appears. Be sure that the Cookie action is inserted prior to any Feedback Section. 4. 5. 5–10 Double-click the Cookie icon. The Write Cookie dialog box appears. (Figure 5.6) Construct the equation that will assign the cookie value. • For the left operand, click the Choose Key drop-down arrow and select the Cookie Key that will receive the new value. ◆ ◆ ◆ Dynamic Pages Chapter 5. Specifying Other Dynamic Actions • 6. For the right operand, click the Choose Variable drop-down arrow and select the variable you want to use to assign the cookie value. When done, click OK. The cookie assignment statement appears to the right of the Cookie icon. Specifying the Lock or Unlock Actions Lock and Unlock are related actions. If you initiate Lock from an active Server page then you must also initiate Unlock. These actions should only be used by an Advanced Web designer, Lock. Initiates a script that prevents sessions/threads from executing on the server. An Internet information server executes separate applications with various threads (or “sessions”). These sessions are initiated on behalf of each user visiting the site at the same time. Every user adds an additional session/thread to total number of opened session/threads running concurrently. The Lock action prevents the server from initiating any new session/threads and prevents the existing session/thread from corrupting server database that while the user who initiates the Lock action completes maintenance on the database. • When to Use. Use this action to lock the database while database maintenance is performed from a Dynamic Page. This is a specialized action. When executed by the Web-server, this command prevents database access from any Web page except currently-running Dynamic Page. Other Internet users will be locked out of the Web site for however long the Lock action is in effect. This action should only be initiated for a specifically designed page that enables the database administrator to perform database maintenance. When completed, the Unlock command releases the database for use by other users. Unlock. Initiates a script that allows sessions/threads to executing on the server. Unlock enables multiple session/threads to execute concurrently with the initiating session/thread. • When to Use. Use this action to unlock the database after database maintenance has been performed from a Dynamic Page currently open in the Server. This is a specialized action. When executed by the Web-server, this command re-enables database access for use by other users. User Guide ◆ ◆ ◆ 5–11 Chapter 6. Advanced Web Operations Introduction There are several Advanced Web Operations that you may want to perform to assign special values to one or more Web objects. To perform these operations, use the Advanced Web Operations dialog box. The Advanced Web Operations dialog box is accessed using the Advanced button found on the Properties dialog box for a selected object. Once accessed, this dialog box can contain any of the following tabs: • Extra HTML. Assigns Extra HTML to a page or resource tag. • Script Mapping. Assigns Script Mapping to a custom script that has been inserted onto a Web page. • Dynamic Properties. Assigns Dynamic Properties to the treatment of the Feedback Section which contains a dynamically generated form or table. • Dynamic Object. Creates a Dynamic Object by assign dynamic values to an object’s attributes. • Dynamic HTML. Specifies Dynamic HTML operations for creating a Slide Show or Double Image effect. About the Extra HTML Tab When specifying an Advanced Web Operation, the Extra HTML tab (Figure 6.1) is available with any inserted Form, Image, Form Element, or when specifying a Link using the Link dialog box. The Extra HTML tab is also available with Multimedia, Java, or Custom Script objects. To access the Extra HTML tab, select one of the applicable objects, open the Properties dialog box for the selected object, and click Advanced. The Advanced Web Operations dialog box appears. About the Extra HTML Field The Extra HTML display window includes only one input line and some static instruction text. Use this input line to insert tag attributes into the HTML tag for the selected object. To insert extra HTML 1. Type the HTML script that you want to insert and click OK. The Properties dialog box for the selected object reappears. 2. Click OK again to save you work. Chapter 6. AdvancedWeb Operations Figure 6.1 ñ Extra HTML Tab The newly entered script will be inserted into the body tag once the site is generated. This tab is intended for use by Advanced Web designers only. About the Script Mapping Tab When specifying an Advanced Web Operation, the Script Mapping tab (Figure 6.2) is available with any inserted Image or Form Element. The Script Mapping tab is also available with Multimedia, and Java objects, but not with Custom Script objects. To access the Script Mapping tab, select one of the applicable objects, open the Properties dialog box for the selected object, and click Advanced. The Advanced Web Operations dialog box appears. The Script Mapping tab enables you to map fuctions to selected objects. To accomplish this, any functions that are to be mapped must first be inserted onto the Web page where they are used and a trigger event must be specified. Once a function has been mapped to an object, the function(s) and event(s) become part of the selected object’s HTML tag attributes upon site generation. Note: This tab is an advanced Web operation that should only be used by experienced Web designers. Scripts can be in Java or VB . Depending upon the type of script used to create the function, the generated script appears either as part of the page attributes or part of the object’s tag attributes. 6–2 ◆ ◆ ◆ Dynamic Pages Chapter 6. AdvancedWeb Operations Figure 6.2 ñ Script Mapping Tab About the Script Mapping Fields and Buttons The Script Mapping display window includes several fields and buttons. These include • Available Events. This is a drop-down list box that identifies available events. • Events List. This lists events added to the dialog box for use when mapping. The Events List area includes the buttons, Add, Delete, Up, and Down. Use these buttons to manage your Events List. • Functions List. This lists Functions added to the dialog box for use when mapping. The Functions List area includes the buttons, Add, Delete, Up, and Down. Use these buttons to manage your Functions List. • Arguments. Use this input line to enter any required arguements associated with a selected function. For each function in the Function List, you must select its name and insert the arguments (if needed) in the Arguments field. Arguements must be inserted exactly as they are written in the script language you are currently using. • Available Functions. This lists available fuctions currently defined on the Web page. To add an event 1. Click on the Available Event drop-down arrow and select the event that you want to use to start the function. The selected event appears in the input line. 2. From the Events List area, click Add. The selected event is added to the Events List. To add a function 1. From the Available Functions area, click on the function that you want to use. The selected function is highlighted. User Guide ◆ ◆ ◆ 6–3 Chapter 6. AdvancedWeb Operations 2. From the Functions List area, click Add. The selected function is added to the Functions List. To add any function arguements 1. From the Functions List area, click the function that you want to add arguements to. The selected function is highlighted. 2. Click once in the Arguements input line and type the arguements exactly as they are written in the script language used with the selected function. To manage the event and fuction lists 1. Select an event or function. 2. Decide what you want to do. • To delete the selected event or function, click Delete. • To move the selected event or function, click the Up or Down button. About the Dynamic Properties Tab When specifying an Advanced Web Operation, the Dynamic Properties tab (Figure 6.3) is available with any inserted Form or Table placed on a Dynamic Page Feedback Section. The Dynamic Properties tab works in conjunction with the RecordSet Action and a Select Query’s Feedback Page specifications. Note: The RecordSet action sets up a query loop that generates one or more query result “pages” based upon the number of records to appear “per page.” These Feedback Page specifications determine the number of times that a RecordSet action loops through the specified database when generated a query result page. To access the Dynamic Properties tab, open the Dynamic Page that contains one of the applicable objects, select the object, open the Properties dialog box for the selected object for the selected object, and click Advanced. The Advanced Web Operations dialog box appears. About the Dynamic Properties Fields The Dynamic Properties display window contains only one check box, Repeat the whole section for each feedback record. When a table that has been inserted and selected, placing a check mark in this check box to have the entire Feedback Section (inclding the table area) repeat for each record in the Query RecordSet. This includes spaces before and after the table object. If the checkmark is cleared, then only the individual table cells repeat. (Figure 6.4). This same principle applies to dynamically generated forms. About the Dynamic Object Tab When specifying an Advanced Web Operation, the Dynamic Object tab (Figure 6.5) is only available when the selected text or object has been placed on a Dynamic Page Feedback Section. It is available with any inserted Form, Image, or Form Element (except List Box), or when specifying a Link using the Link dialog box. The Dynamic Object tab is not available 6–4 ◆ ◆ ◆ Dynamic Pages Chapter 6. AdvancedWeb Operations Figure 6.3 ñ Dynamic Properties Tab Without a Check Mark With a Check Mark Figure 6.4 ñ Example of Dynamic Properties with Multimedia, Java, or Custom Script objects. To access the Dynamic Object tab, open the Dynamic Page that contains one of the applicable objects, select the object, open the Properties dialog box for the selected object, and click Advanced. The Advanced Web Operations dialog box appears. About the Dynamic Object Fields and Buttons The Dynamic Object display window includes an Attribute window with two columns: Name and Value. The Field Names that appear depends upon the dialog box used to initiate the Advanced Web Operation. Each dialog box will generate different field names that correspond with dialog box attributes. The table below identifies the Initiating Dialog Box, Attribute Name, Dynamic Object Field Name that appears in the Attribute window. User Guide ◆ ◆ ◆ 6–5 Chapter 6. AdvancedWeb Operations Some Selected Dynamic Object Display Windows For a Combo Box For a Push Button For a Check Box For a Link Figure 6.5 ñ Dynamic Object Tab 6–6 ◆ ◆ ◆ Dynamic Pages Chapter 6. AdvancedWeb Operations Initiating Dialog Box Push Button Properties Attribute Name Button Type Button Value (Label) Object Name Field Name TYPE VALUE NAME Text Box Properties Vertical Size Horizontal Size Default Text Object Name COLS ROWS VALUE NAME Combo Box Properties Initially Selected Item Value Item Label SELECTED VALUE CAPTION Note: Object Name cannot be dynamically assigned. Only Value and Caption are required. Check Box Properties Initially Checked Item Value Object Name CHECKED VALUE NAME Note: Check boxes are not self-labeling. Only a selection box appears when inserted. Be sure to insert a Check box label when you insert this element onto a Feedback Section Form. Only Value and Name are required. Radio Button Properties Selected Member Member Value Group Name CHECKED VALUE NAME Note: Radio Buttons are not self-labeling. Only a selection button appears when inserted. Be sure to insert a Radio Button label for each Radio button option and insert a Group Label for those radio buttons processed as a group. Radio Buttons are mutually exclusive options. A viewer can select only one. Only Value and Name are required. Text Line Properties Field Size Text Max. Length Default Text Object Name SIZE MAXLENGTH VALUE NAME Link URL Path HREF Note: No matter what type of link you are trying to assign, only one link value is generated. HREF is the URL path that identifies the target resource. Image Properties Source File Name Horizontal Size Alternate Text Vertical Size SCR WIDTH ALT HEIGHT Note: Only a source file name is required. If you want WebShop to concatenate the site folder location into the Source File Name upon generation, place a check mark in the checkbox “Add Base to Image URL” User Guide ◆ ◆ ◆ 6–7 Chapter 6. AdvancedWeb Operations Initiating Dialog Box Form Properties Attribute Name Form Method Form Action Encode Type Field Name METHOD ACTION ENCTYPE Note: Form Name cannot be dynamically assigned. Window Display Buttons The Dynamic Object display window includes four buttons. • Clear. This button clears the dynamic element assigned to the selected field name. • Clear All. This button clears all dynamic elements assigned to all fields. • Modify. This button opens the Modify dialog box that lets you assign a dynamic value to the selected field. The value that you assign can be derived from the current ASP page’s input parameters, variables, or cookie key properties (all of which are defined using the Property Sheet for the Dynamic Page dialog box). If the current Feedback Section is contained within a query loop, then you can assign a query element value as well. The Modify dialog box contains separate tabs for Parameter, Variable, Query, or Cookie. • Embedded Queries. This button opens the Modify/Query dialog box that lets you assign a dynamic value from an embedded query. This button is only available when an embedded query has already been assigned to either a table or a combo box on a Feedback Section. Assigning or Inserting Embedded Query Elements Embedded Query Elements can be assigned to combo box attributes, or to image attributes. These elements can also be inserted as a dynamic elements into table cells, or else assigned to a linked object that carries a Linked Parameter. For Combo Box Objects To assign an Embedded Query Element to a combo box object, your database must have data fields that correspond to attributes required for a combo box and the combo box itself must have an embedded query attached to it. The embedded query used to select database records must select from the database those values that correspond to at least VALUE and CAPTION. To identify the correct records, at least one parameter or variable must be used as query criteria. For example, ShopDB uses the Color table to specify color options by product. When specifying the query element to assign to each combo box attribute, Color is assigned to VALUE and CAPTION. The Embedded Query that has been attached to the combo box identifies the correct record to assign by using Product ID as the selection criteria for the query. To assign Embedded Query Elements to a Combo Box 1. From the Combo Box Properties dialog box, click Advanced. The Advanced Web Operation dialog box appears. 2. Click the Dynamic Object tab. The Dynamic Object fields and buttons appear. 6–8 ◆ ◆ ◆ Dynamic Pages Chapter 6. AdvancedWeb Operations 3. Select one of the three available Combo Box elements from the Name column. Note: Your choices are SELECTED, VALUE, or CAPTION. 4. Click Embedded Queries. The Modify/Query dialog box appears. Note: For a Combo Box object, the Embedded Queries button is only available when an embedded query has been attached to the Combo Box object. 5. Click the drop-down arrow next to the Select Column field. The list of available Embedded Query Elements appears. Note: Since Embedded Query Elements generate multiple values, whenever you select a query element you are selecting a column of values. Query Element names appear in the following format: <Embedded Query Number>.<Table>.<Field Name>. The Query Element names that appear are derived from the embedded query that is attached to the combo object. 6. 7. 8. Select the Embedded Query Element that you want to assign to the Combo Box attribute. Click Get Column to accept the Query Element assignment. The Advanced Web Operation dialog box reappears with the Value column updated with the Embedded Query Element assignment. Repeat Steps 3-7 until all Combo Box attributes are assigned. Note: Name (or caption) and Value are required. If your database has been set up to discriminate between selected versus unselected combo box options, then the Selected attribute may be dynamically assigned as well. 9. When done, your Embedded Query Element assignments are listed in the Value column. 10. To accept these assignments, click OK. The Combo Box Properties dialog box reappears. 11. When done, click OK to save your work. For Image Objects To assign an Embedded Query Element to a image object, your database must have data fields that correspond to attributes required for a image and the image itself must be inserted into a table that has an embedded query attached to it. The embedded query used to select database records must select from the database those values that correspond to at least SCR (Source File Name). To identify the correct records, at least one parameter or variable must be used as query criteria. For example, ShopDB uses Product ID to identity a Product Image URL. The query element to assign to the attribute SCR will be Product Image URL since there will be only one Product Image URL for each product. The Embedded Query that has been attached to the table where the image has been inserted identifies the correct record to assign by using Product ID as the selection criteria for the query. Note: When an image is inserted on a Feedback Section and is subsequently assigned User Guide ◆ ◆ ◆ 6–9 Chapter 6. AdvancedWeb Operations dynamically generated properties, then the image that appears on the Feedback Section during development is merely a dummy image. Once the image attributes are dynamically assigned, the dummy image is replaced. Web site visitors never see the dummy image that is used during development. To assign Embedded Query Elements to an Image 1. From the Image Properties dialog box, click Advanced. The Advanced Web Operation dialog box appears. 2. Click the Dynamic Object tab. The Dynamic Object fields and buttons appear. 3. Select one of the four available Combo Box elements from the Name column. Your choices are SCR, WIDTH, ALT, or HEIGHT. Note: Only SCR (source file name) is required. 4. Click Embedded Queries. The Modify/Query dialog box appears. Note: For an Image object, the Embedded Queries button is only available when an embedded query has been attached to the table object which contains the inserted image. 5. Click the drop-down arrow next to the Select Column field. The list of available Embedded Query Elements appears. Note: Since Embedded Query Elements generate multiple values, whenever you select a query element you are selecting a column of values. Query Element names appear in the following format: <Embedded Query Number>.<Table>.<Field Name>. The Query Element names that appear are derived from the embedded query that is attached to the table object. 6. 7. 8. Select the Embedded Query Element that you want to assign to the Image attribute. Click Get Column to accept the Query Element assignment. The Advanced Web Operation dialog box reappears with the Value column updated with the Query Element assignment. Repeat Steps 3-7 until all Image attributes are assigned. Note: Normally at least the Name (or caption) and Value attributes are assigned. If your database has been set up to discriminate between selected versus unselected combo box options, then the Selected attribute may be dynamically assigned as well. 9. When done, your Query Element assignments are listed in the Value column. 10. To accept these assignments, click OK. The Image Properties dialog box reappears. 11. When done, click OK to save your work. For Individual Table Cells To assign an Embedded Query Element to a table cell, you are simply inserting a dynamic element with the Dynamic Elements dialog box. Embedded Query Elements, however, is a separate category of Dynamic element. 6–10 ◆ ◆ ◆ Dynamic Pages Chapter 6. AdvancedWeb Operations 7.4 To insert an Embedded Query Element into a Table 1. With the Feedback Section icon selected, click inside the Page Editor window. A blinking insertion cursor appears. 2. Place the cursor inside the table that has an embedded query attached. 3. Click the Dynamic Element Insertion button on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. 4. Scroll down to the Embedded Query Element section and double-click on the Embedded Query Element that you want to insert. The element is inserted. Note: When inserted, Dynamic Elements appear as “greyed-out” text elements. 4. When done, close the Dynamic Elements dialog box. For Linked Objects that Carry a Linked Parameter When completing a Linked Parameter operation, you can assign an Embedded Query Element only to those links that are inserted on a table that carries an Embedded Query. By clicking on the Embedded Queries button from the Link dialog box, the Modify/Query dialog box appears. Use this dialog box to select a dynamically generated database value that will transfer to the ASP page when the viewer clicks on the linked object. To assign an Embedded Query Element to a link 1. From the Link Parameters dialog box, click Embedded Queries. The Modify/Query dialog box appears. Note: The Embedded Queries button is available only when the selected object that is to carry the link assignment is within a table that has an embedded query attached to it. 2. Click the drop-down arrow next to the Select Column field. The list of available Embedded Query Elements appears. Note: Since Embedded Query Elements generate multiple values, whenever you select a query element you are selecting a column of values. Query Element names appear in the following format: <Embedded Query Number>.<Table>.<Field Name>. Only the Query Element names for the embedded query that is attached to the table object will appear. 3. 4. 5. Select the Embedded Query Element that you want to transfer when the viewer clicks on the selected object. Click Get Column to accept the Query Element assignment. The Link dialog box reappears. Click Assign URL to complete the link. User Guide ◆ ◆ ◆ 6–11 Chapter 6. AdvancedWeb Operations About the Dynamic HTML Tab When specifying an Advanced Web Operation, the Dynamic HTML tab is (Figure 6.5) available only with an inserted Image. To access the Dynamic HTML tab, open the Web page that contains the image, select the object, open the Image Properties dialog box, and click Advanced. The Advanced Web Operations dialog box appears. Use this dialog box tab to • Create a Double Image Effect • Create a Slide Show Effect About the Dynamic HTML Fields and Buttons The Dynamic HTML display window includes two tabs Double Image and Slide Show. Use thes tab to speciy the type of effect you want to create. Both effects require more than one image file; therefore, both of these tabs include the same image resource tabs and buttons (Figure 6.5) found on the Image Properties dialog box, as well as an image preview area. To activate either effect, you must use the On check box. To create a Slide Show effect, you must create an image “play list.” This list identifies the image files used in the Slide Show (in sequence) and there is a separate duration field where you can specify the amount of time that each image plays. Use the Add and Delete buttons located just below the “play list” area to add or delete image files from the Slide Show “play list.” Creating a Double-Image Effect To create a double-image effect 1. Go to Site Manager and click on the Logical Layout tab. 2. Double-click on the page that you want. 3. Position the cursor where you want to insert the image file, and select Insert > Image. The Image Attributes dialog box appears. (Figure 6.7) 4. Decide how you want to obtain the first image. • To create an blank image, click Create. An empty image resource file is inserted. Select the inserted file. • To import an image, click Import and navigate to an external file. An new image resource file is inserted. Select the inserted file. • To use an existing image that is already a part of current resources, click the Existing Resources tab, and then click the image file that you want. • To use an image from one of the libraries, click the Library tab, select the library, and then select the image thunbnail that you want. • To use an image from the Internet, click the URL tab, and record the exact URL address where the image has been stored. 5. Click OK. The image is inserted on the Web page. 6. Highlight the image, and right-click. A pop-up menu appears. 6–12 ◆ ◆ ◆ Dynamic Pages Chapter 6. AdvancedWeb Operations Figure 6.# ñ Dynamic HTML Tab User Guide ◆ ◆ ◆ 6–13 Chapter 6. AdvancedWeb Operations 7. 8. 9. 10. 11. 12. 13. 14. Select Object > Properties. The Image Attributes dialog box reappears. Click the Advanced button to obtain the Advanced WEB Operations dialog box. (Figure 6.8) Click the Dynamic HTML tab. Click the Double Image tab. Click the On check box to activate the double-image effect. The resource selection tabs from the Image Attributes dialog box appear. Decide how you want to obtain the next image. • To create an blank image, click Create. An empty image resource file is inserted. Select the inserted file. • To import an image, click Import and navigate to an external file. An new image resource file is inserted. Select the inserted file. • To use an existing image that is already a part of current resources, click the Existing Resources tab, and then click the image file that you want. • To use an image from one of the libraries, click the Library tab, select the library, and then select the image thunbnail that you want. • To use an image from the Internet, click the URL tab, and record the exact URL address where the image has been stored. Select what image you want to use and click OK. This returns you to the Image Attributes dialog box. Click OK again. The updated image is inserted on the Web page. You are now ready to test the image. Click Preview on the Standard toolbar. The page appears in your default browser. Move your cursor over the image to start the double-image effect. Creating a Slide-Show Effect To create a slide-show effect 1. Go to Site Manager and click on the Logical Layout tab. 2. Double-click the page that you want. 3. Position the cursor where you want to insert the image file, and select Insert > Image. The Image Attributes dialog box appears. (Figure 6.7) 4. Decide how you want to obtain the first image. • To create an blank image, click Create. An empty image resource file is inserted. Select the inserted file. • To import an image, click Import and navigate to an external file. An new image resource file is inserted. Select the inserted file. • To use an existing image that is already a part of current resources, click the Existing Resources tab, and then click the image file that you want. • To use an image from one of the libraries, click the Library tab, select the library, and then select the image thunbnail that you want. • To use an image from the Internet, click the URL tab, and record the exact URL address where the image has been stored. 6–14 ◆ ◆ ◆ Dynamic Pages Chapter 6. AdvancedWeb Operations 5. 6. 7. 8. Click OK. The image is inserted on the Web page. Highlight the image, and right-click. A pop-up menu appears. Select Object > Properties. The Image Attributes dialog box reappears. Click the Advanced button to obtain the Advanced WEB Operations dialog box. (Figure 6.8) Note: The Advanced WEB Operations dialog box is context-sensitive. When opened from the Link dialog box, only one tab is displayed. When opened from the Image Attributes dialog box, three tabs appear. 9. Click the Dynamic HTML tab. 10. Click the Slide Show tab. 11. Click the On check box to activate the slide-show effect. The resource selection tabs from the Image Attributes dialog box appear. 12. Decide how you want to obtain the next image. • To create an blank image, click Create. An empty image resource file is inserted. Select the inserted file. • To import an image, click Import and navigate to an external file. An new image resource file is inserted. Select the inserted file. • To use an existing image that is already a part of current resources, click the Existing Resources tab, and then click the image file that you want. • To use an image from one of the libraries, click the Library tab, select the library, and then select the image thunbnail that you want. • To use an image from the Internet, click the URL tab, and record the exact URL address where the image has been stored. 13. Using the increase/decrease arrows next to Duration, specify the length of time that each image will appear. 14. Click Add. The image is added to the slide-show list. 15. Repeat Steps 11–13 for each additional image you want to use. 16. Click OK. This returns you to the Image Attributes dialog box (Figure 6.7). 17. Click OK again. The updated image is inserted on the Web page. You are now ready to test the image. Click Preview on the Standard toolbar. The page appears in your default browser. Move your cursor over the image to start the slide-show effect. User Guide ◆ ◆ ◆ 6–15 Chapter 7. Sending Emails from a Form Introduction With the use of Active Server Pages (ASP) and an Active-X component, you can send the contents of a form to an email address. The ASP technology was developed by Microsoft and requires that the pages be used with a Windows NT-server running Internet Information Server (IIS), Windows NT Workstation running Peer Web Server, or, for Windows 95, a PC running Personal Web Server. Since sending email through conventional programming causes problems when connecting to the SMTP server (through the use of CGI scripts), Boomerang Software has created an Active-X component that will contact the mail server and send the mail through the server. Registering WebShop’s Active-X An Active-X component is a *.DLL file that resides in the Web-server’s System folder. To successfully send an automatic email from your Web site, a specially developed Active-X component must be registered on your hosting company’s Windows NT-server. To do this, contact your Web-hosting/ISP provider and ask them to register the Boomerang Software Active-X component. You will need to send them the contents of the folder located on the WebShop program CD X:\Server Components\Send Mail (where X designates your CD ROM drive). The Send Mail folder contains the following files: • MailX.dll • Readme.txt • Reg.bat • Unreg.bat Once you have confirmed the contents of this folder, you must send it to your Web Site/ISP provider. To register the Active-X 1. Copy the Send Mail folder and place it on your hard disk. Chapter 7. Sending Emails from a Form 2. Send your Web-hosting/ISP provider the folder by email and ask them to run the batch file Reg.bat or upload your site (including the above files) and ask them to register the ActiveX component. You will want to be sure that your Web-host administrator reads the Readme text file before attempting to register the Boomerang Active-X component. Your Web-hosting/ISP provider can unregister the Active-X component by running the batch file Unreg.bat. The Active-X component has been fully tested on Windows NT-servers Running IIS. If there are any questions, from the Web-hosting/ISP provider, regarding the registration of the Active-X component, have them call the Boomerang Software Technical Support Department at (617) 484-4664 or email Boomerang Software, Inc. at either of the following email addresses: • [email protected] • [email protected] Note: The Active-X program and associated program and files provided on the CD are properties of Boomerang Software, Inc. and are copyrighted. You and your ISP or Webhosting company have the right to use them free of charge, with proper acknowledgment given to Boomerang Software. They cannot be sold or transferred to other entities without written permission from Boomerang Software. Creating Your Email Function Using Dynamic Pages First, create a new project file. Select File > New and select the template with an X in the Preview area. Dynamic Page Icons To create dynamic email function, the following Dynamic Page icons will be visible in the Dynamic Page Manager window. These icons identify dynamic operations that you will use to complete the project. • Root Icon. This is the Dynamic Page root directory. All supporting operation resources are created below this icon. • “IF” Statement Icon. This is an evaluation operation. Use it to evaluate a condition against an expected value. • “OK” Statement Icon. This is an action operation. Use it to initiate an action when the "IF" Statement is true. • “NO” Statement Icon. This is an action operation. Use it to initiate an action when the "IF" Statement is false. Figure 7.1 ñ Dynamic Page Icons • Statement Icon. This is an action operation. Use it to assign a specific value to a parameter or a variable. • Feedback Section Icon. This is a notification operation. Use it to display text and/or dynamically generated values to the Web site visitor. • Send Mail icon. This is a notification operation. Use it to send text and/or dynamically generated values to the Web site visitor or someone other than the Web site visitor. 7–2 ◆ ◆ ◆ Dynamic Pages Chapter 7. Sending Emails from a Form Creating a Dynamic Page Dynamic Pages can be created either from the Site Manager–Physical Layout window or the Site Manager–Logical Layout window. It is recommended you create your pages from the Logical Layout and then customize the file structure in the Physical Layout. To create a Dynamic Page from Physical Layout 1. 2. Highlight the Root directory (or subfolder) where you want to place the Dynamic Page and right-click. A pop-up menu appears. Select Create Dynamic Page. Note: Pages created in the Physical Layout are not visible in the Logical Layout. To make a page visible in Logical Layout, you must create them in Logical Layout. To create a Dynamic Page from Logical Layout 1. 2. 3. Highlight the Logical Page icon that you want the new Dynamic Page to be under and right-click. A pop-up menu appears. Select New. The Add Logical Page dialog box appears. Select Dynamic Page and click OK. Note: Pages created in Logical Layout are by default placed in the CGI Bin folder. To verify this, go to Site Manager–Physical Layout and open the CGI Bin folder. From either the Logical or Physical Layout, double-click on the Dynamic Page icon you have created. This opens the Page Editor window for that page. The default physical names for Dynamic Pages are DynPage1.asp. DynPage2.asp and so forth. The default logical names for Dynamic Pages are DynPage1, DynPage2 and so forth. Creating a Form for Use with a Dynamic Page To enable a site visitor to send an email to a specific address, you must first create a form that collects the necessary information. When creating a form for use with a Dynamic Page, you must first create the form on some page other than a Dynamic Page. Once you have created this resource, you must link the form to the Dynamic Page where the information is collected. Create a form with the following fields: • First_Name • Last_Name • Company • Address • City • State • Zip • Email User Guide ◆ ◆ ◆ 7–3 Chapter 7. Sending Emails from a Form To create a form on any page (other than a Dynamic Page) 1. In the Site Manager–Physical Layout window, double-click on the page that you want. This opens the Page Editor window for that page. 2. Click Show/Hide on the Standard toolbar. Formatting symbols such as tab and paragraph symbols are visible. 3. Select Insert > Form or click Form on the Insert Object toolbar. Two lines designating the form area appear. Place the cursor inside the two lines and type “First Name:” Select Insert > Form Fields > Text Line. The Text Line Properties dialog box appears. In the Name box, type “First_Name” Specify the Field Size and the Text Max length properties as necessary and click OK. Press ENTER to move down to the next line on the form. Repeat Steps 4–8 for every field you need on your form. 4. 5. 6. 7. 8. 9. After you have completed the above, add a Submit button. To add a submit button 1. Selecting Insert > Form Field > Push Button. The Push Button Properties dialog box appears. Note: The defaults are set to create a Submit push button. 2. Click OK. The Submit button appears on your form. Next, link the form to the Dynamic Page you created. To link the form to a Dynamic Page 1. Right-click somewhere in the form (the white space). A pop-up menu appears. 2. Select Forms. The Form Properties dialog box appears. 3. In the Action section, click Local and select physical name for the Dynamic Page that you want to associate this form with. For example, “DynPage1.asp.” 4. When done, click OK. Creating a Dynamic Page with Send Mail Capability To create your Dynamic Page elements, you must define the parameters associated with each form field and define a variable that tests whether a field was completed. Defining Parameters on a Dynamic Page You should define parameters for each of the form fields that you created (except for the Submit button). At this point, step back and think about which fields are going to be required so you can leave the default values for these parameters empty. This is how to determine whether the user has not entered a value. 7–4 ◆ ◆ ◆ Dynamic Pages Chapter 7. Sending Emails from a Form This means that for a required form field there should be NO default values. For this example you will require all fields except for “Company.” To define parameters 1. Double-click the ROOT icon. The Property Sheet for the Dynamic Page appears. 2. On the Input Parameter tab, type in the New Parameter Box, the field names from the form. For example, type “First_Name” and click Add. Do not modify this parameter or specify a value. Repeat this for the rest of the fields. 3. Note: For “Company,” modify the parameter and specify the value “Not Entered.” 4. To do this, highlight the parameter, “Company,” and click Modify. Specify the value “Not Entered” and click OK. Defining Variables on a Dynamic Page As you are requiring certain fields to be filled out, you will need to test for errors at the time of submission. To do this, create a variable called “var_any_error.” You will later use this variable to concatenate (join) with the values of the missing fields. 1. 2. 3. Double-click the ROOT icon and select the Variables tab. Type in the New Variable Box, “var_any_error” and click Add. Click OK. You will not assign the variable any value. Instead, concatenate it with the error message later. Creating a Field Validation Test In this section, create a test to make sure that the required fields were filled out. If a field is not entered, assign the field parameter a name and the variable, “var_any_error,” a value. 1. Highlight the ROOT icon and right-click and select Add Into > Condition. The Condition icons IF-OK-NO are inserted. 2. 3. 4. 5. 6. 7. Double-click the “IF” statement icon. The Set Conditions dialog box appears. Select the Parameters tab For the left operand, select “First_Name” from the drop-down box. For the operation, select “EQUAL.” For the right operand, select the Value tab and enter nothing (leave it blank). Click OK. Note: What this says, is that if the parameter, “First_Name,” has no value when submitted then note this in the variable, “var_any_error.” 8. Highlight the “OK” statement icon for that condition, right-click, and select Add Into > Statement. 9. User Guide Double-click the Statement icon. The Set Variable To dialog box appears. ◆ ◆ ◆ 7–5 Chapter 7. Sending Emails from a Form 10. 11. 12. 13. 14. In the Choose Variable Name, select “var_any_error.” In the operation drop-down box, select “Concatenate.” Concatenate means “to join to.” In the right operand, select the Value tab and in the Insert Value box, type “First Name.” Click OK. Repeat this procedure for all required fields. Creating a Feedback page and a Send Mail function. You will now create the Feedback pages for an Error Message and for a Successful Entry. 1. Highlight the ROOT icon and right-click and select Add Into > Condition. 2. 3. 4. 5. Double-click the “IF” statement icon. The Set Condition dialog box appears. For the left operand, select the Variable tab and select the variable, “var_any_error.” For the operation, select “NOT EQUAL.” For the right operand, select the Value tab and leave the value blank. This says that “IF” ‘var_any_error’ contains any information (from the validation) then (“OK”) produces an error message. IF the condition is not true (“NO” or “ELSE”) then assume that all the fields were filled and produce a Success page notice. Creating an Error Page 1. Highlight the “OK” statement icon, right-click and select Add Into > Feedback Section. 2. 3. 4. Highlight the Feedback Section icon and double-click. Rename it to “Error.” Click OK. Place the cursor on the right screen and type “You have not entered the following fields:” Press ENTER. Click on the Dynamic Element Insertion icon. The Dynamic Text Element dialog box appears. Highlight “var_any_error” and double-click. Close the dialog box. 5. 6. 7. Creating a Success Page 1. For the condition you specified above, click the “NO” statement icon, right-click, and select Add Into > Feedback Section. 2. 3. 4. Highlight the Feedback Section icon and double-click. Rename it to “Success.” Click OK. Place the cursor on the right screen and type “Thank you for filling out our form. Your message has been sent.” Setting Up a Send Mail Operation 1. 7–6 For the Success condition specified above, click the “NO” statement icon, right-click and select Add Into > Send Mail. ◆ ◆ ◆ Dynamic Pages Chapter 7. Sending Emails from a Form 2. Double-click on the Send Mail icon. The Send Mail dialog box appears. Note: You will now need to fill out the necessary dialog information. The two critical elements that need to be filled out every time are the SMTP Server and the TO: box. In this case, do a few more. 3. 4. 5. For the “From:” box, click the Parameter tab and select Email from the drop down box. This will place the data from the form field Email to the From Section in the Header of the email you receive. The “To:” box should be your own email address. You can also have the form field have a drop-down box with a few email addresses and you can call them from the Parameter tab. In the “Subject:” box, type whatever you want to be displayed in the Subject Box of your email. Note: You could have the user type in the subject and have it dynamically posted there. 6. 7. For the SMTP server, type in the name of your mail server. Usually this will look something like this “mail.yourservername.com” or sometimes it may just be an IP Address. Click OK. Creating Dynamic Text to Display as Email Text 1. 2. 3. Highlight the Send Mail icon and place the cursor on the screen on the right. This is the body of the email. Type “First Name:” and click the Dynamic Element Insertion icon. Select Parameter(“First_Name”). Repeat the procedure for the remaining fields of the form. You are now ready to upload your site and test it. User Guide ◆ ◆ ◆ 7–7 Chapter 8. Adding Form Input into a Database Introduction Many Web designers want to take data from a form and insert it into a database. To do this in WebShop, you must complete a multi-step process—one that makes use of Dynamic Pages. To achieve database connectivity, you must have a database. WebShop allows you to import a database (Microsoft Access .MDB file) into your Web site project so that data can be queried, added or modified. As the functions and methodologies are complex, the use of these functions should be for advanced users. The following is a simple example of what can be done with the program. Note: You are using the Active Server Pages (ASP) technology created by Microsoft. This technology currently operates on Windows NT Servers running Microsoft Internet Information Servers (IIS). Windows NT Workstation running Peer Web Server or for Windows 95 running Personal Web Server. In this example you will create a form on a page and have the information entered placed into the database. You should create this project on a test Web site before incorporating it into your Web site project. The first thing you should do is to construct a new *.MDB database. Create a Database You must create an Access database with a table called Address. In this table, insert the following fields: • First_Name • Last_Name • Company • Address • City • State • Zip Note: It is important that you set any fields that use numbers to a text format. Chapter 8. Adding Form Input into a Database Updating Your Database Using Dynamic Pages Now that you have created your database, you will want to create a new project file. Select File > New and select the template with an X in the Preview area. Dynamic Page Icons To complete your database project, the following Dynamic Page icons will be visible in the Dynamic Page Manager window. These icons identify dynamic operations that you will use to update your database from a Dynamic Page. • Root Icon. This is the Dynamic Page root directory. All supporting operation resources are created below this icon. • “IF” Statement Icon. This is an evaluation operation. Use it to evaluate a condition against an expected value. • “OK” Statement Icon. This is an action operation. Figure 8.1 ñ Dynamic Page Icons Use it to initiate an action when the "IF" Statement is true. • “NO” Statement Icon. This is an action operation. Use it to initiate an action when the "IF" Statement is false. • Statement Icon. This is an action operation. Use it to assign a specific value to a parameter or a variable. • Feedback Section Icon. This is a notification operation. Use it to display text or dynamically generated values to the Web site visitor. • Query Icon. This is a update or access operation. Use it to send data to or read data from a database. Creating a Dynamic Page Dynamic Pages can be created from either the Site Manager–Physical Layout window or the Site Manager–Logical Layout window. It is recommended you create your pages from the Logical Layout and then customize the file structure in the Physical Layout. To create a Dynamic Page from Physical Layout 1. Highlight the Root directory (or subfolder) where you want to place the Dynamic Page and right-click. A pop-up menu appears. 2. Select Create Dynamic Page. OR 1. Highlight the Root directory (or subfolder) where you want to place the Dynamic Page and click Dynamic Page on the Physical Layout toolbar or select Physical Layout > Create Dynamic Page. Note: Pages created in Physical Layout are not visible in Logical Layout. To make a page visible in Logical Layout, you must create them in Logical Layout. 8–2 ◆ ◆ ◆ Dynamic Pages Chapter 8. Adding Form Input into a Database To create a Dynamic Page from Logical Layout 1. Highlight the page that you want the new Dynamic Page to be under and right-click. A pop-up menu appears. 2. Select New. The Add Logical Page dialog box appears. 3. Select Dynamic Page and click OK. OR 1. Highlight the page that you want the new Dynamic Page to be under and click New Page on the Logical Layout toolbar. The Add Logical Page dialog box appears. 2. Select Dynamic Page and click OK. Note: Dynamic Pages created in the Logical Layout are by default placed in the CGI Bin folder. To verify this, go to Site Manager–Physical Layout and open the CGI bin folder. From either Logical or Physical Layout, double-click on the Dynamic Page icon you have created. This opens the Page Editor window for that page. The default physical names for Dynamic Pages are DynPage1.asp. DynPage2.asp and so forth. The default logical names for Dynamic Pages are DynPage1, DynPage2 and so on. Creating a Form for Use with a Dynamic Page To collect information, you must create a form. When creating a form for use with a dynamic page, you must first create the form on some page other than a dynamic page. Once you have created this resource, link the form to the dynamic page. To create a form on any page (other than a Dynamic Page) 1. In the Site Manager–Physical Layout window, double-click on the page that you want. This opens the Page Editor window for that page 2. Click Show/Hide on the Standard toolbar. Formatting symbols such as tab and paragraph symbols are visible. 3. 4. Select Insert > Form or click Form on the Insert Object toolbar. Two lines designating the form area appear. Place the cursor inside the two lines and type “First Name:” 5. 6. Select Insert > Form Fields > Text Line. The Text Line Properties dialog box appears. In the Name box, type “First_Name” Note: This name must be the same field name you created in your database. 7. 8. 9. Specify the Field Size and the Text Max length properties as necessary and click OK. Press ENTER to move down to the next line on the form. Repeat Steps 4–8 for every field you created in your database. After you have completed the above, add a Submit button. User Guide ◆ ◆ ◆ 8–3 Chapter 8. Adding Form Input into a Database To add a submit button 1. Selecting Insert > Form Field > Push Button. The Push Button Properties dialog box appears. Note: The defaults are set to create a Submit push button. 2. Click OK. The Submit button appears on your form. Next, link the form to the dynamic page you created. To link the form to a dynamic page 1. Right-click somewhere in the form (the white space). A pop-up menu appears. 2. Select Forms. The Form Properties dialog box appears. 3. In the Action section, click Local and select the physical name for the dynamic page that you want to associate this form with. For example, “DynPage1.asp.” 4. When done, click OK. Importing the Database into the Project You may need to import external data into your project to use with your dynamic pages. It is often more efficient to create your data outside WebShop and import it later when you are ready to test one or more of your Active Server Pages. To import a database 1. From the Site Manager–Physical Layout window, right-click in the open area. A pop-up menu appears. 2. Select Import Database. 3. Navigate and select the database that you want to use and click Open. The database will appear in the Physical Layout. 4. Highlight the database you imported and right-click. A pop-up menu appears. 5. Select Properties. The Properties dialog box appears. 6. Click the Database tab. A diagram of the imported database’s hierarchy appears. Note: Opening the database tables allows you to access field-level information. The database hierarchy is DATABASE > TABLES > FIELDS. Each table has an icon and a label. 7. 8. 9. Select the table icon that you want to open and click Open. After a few moments, the word “Open” appears next the selected table icon. You have now opened the database table and can view, add or remove data entries. Click OK. To view, add, or remove data entries for an open data table You can view the database from the program and also add and remove entries in the database by double-clicking the database after one or more of the data tables have been opened. 1. From the Site Manager–Physical Layout window, double-click the database icon you want. The Fill Data dialog box appears. 8–4 ◆ ◆ ◆ Dynamic Pages Chapter 8. Adding Form Input into a Database Note: Only data for “open” database tables is displayed. There is a separate tab for each table opened. 2. 3. 4. View your data by clicking on the tab for the table you want. To move forward or backward through your data one record at a time, use the Forward and Backward navigation buttons at the top of the dialog box. To move to the start or the end of your data records, use the Go to Start or Go To End navigation buttons at the top of the dialog box. To add a record, click + (plus sign). A blank record appears. Enter your data as necessary. To delete a record that currently is displayed, click – (minus sign). Creating Dynamic Page Elements For Updating a Database To create your dynamic page elements, you must define the parameters associated with each form field you specified on your form and define a variable that will test whether a field was completed. Defining Parameters for a Dynamic Page You should define parameters for each of the form fields that you created (except for the Submit Button). At this point, step back and think about which fields are going to be required so you can leave the default values for these parameters empty. This is how to determine whether the user has not entered a value. This means that for each required form field, there should be NO default values. For our example, you will require only that the First Name and Last Name field be filled. 1. 2. Double-click the ROOT icon. The Property Sheet for the Dynamic Page appears. Click the Input Parameter tab, type each of the field names in the New Parameter box. For example, type “First_Name” and click Add. Do not modify this parameter or enter a value. Note: For all other fields, modify the parameter and enter the value “Not Entered.” To do this, highlight the parameter, in this case, “Address” and click Modify. Type the value “Not Entered” and click OK. Repeat this procedure for the rest of the parameters. Defining Variables for a Dynamic Page As you are going to have more than one required field, you must create an error message. You also must determine the field(s) that were not entered. To do this, create a variable called “var_any_error.” Later, use this variable to join with values of the missing fields. To do this, User Guide ◆ ◆ ◆ 8–5 Chapter 8. Adding Form Input into a Database 1. 2. 3. Double-click the ROOT icon and select the Variables tab. Type the variable name “var_any_error” into the New Variable box. Click Add and OK. Do not assign the variable a value. Later, you will concatenate it with the error message. Creating a Field Validation Test To insure that users enter data correctly, set up some field validations. These validations must be set up for each of the required fields. To set up a field validation 1. 2. Highlight the ROOT icon and right-click. A pop-up menu appears. Select Add Into > Condition. The Condition icons IF–OK–NO appear. 3. Double-click the “IF” condition icon. The Set Conditions dialog box appears. Note: The Set Condition dialog box has three parts, a left operand, a center operation, and a right operand. 4. 5. Select the Parameters tab, on the left operand, and select “First_Name” from the dropdown box. For the operation select “EQUAL.” For the right operand select the Value tab and leave it blank. Click OK. Note: What is being stated is that “if the parameter, “First_Name,” has no value (left blank) when submitted, then note this in the variable “var_any_error.” Assign the variable, “var_any_error,” a value, if the above statement is true. 6. Highlight the “OK” icon for that condition, right-click, and select Add Into > Statement. 7. 8. 9. 10. 11. 12. Double-click the Statement icon. The Set Variable To dialog box appears. In the Choose Variable Name, select “var_any_error.” In the Operation drop-down box, select “Concatenate.” Concatenate means to join to. In the right operand, select the Value tab and in the Insert Value box type “First Name, ” Click OK. Repeat both the above procedures for the other required field (that is, “Last_Name”), but in the Set Variable To dialog box set the right operand value to Last Name. For the condition statement of the last required field (that is, “Last_Name”) use the “NO” (ELSE) part to write the information to the database. Writing Information to the Database At this point, you are ready to have your Active Server Page write information to the database. To do this, link together individual data fields in you database to individual form fields on your form. 8–6 ◆ ◆ ◆ Dynamic Pages Chapter 8. Adding Form Input into a Database To link data fields with form fields 1. Highlight the “NO” statement icon for the last required field (“Last_Name”), right-click, and select Add Into > Query. The Choose Data Source for New Query dialog box appears. 2. Highlight the Query icon that you want to use and, for query type, select “Insert.” Click Edit Query. The Query Properties dialog box appears. Highlight, under the Fields section, “First_Name” and double-click. The Set Value dialog box appears. Select the Control tab and assign it the appropriate value from the drop-down box (that is, “First_Name” matches First_Name). Click OK. Repeat this procedure for all the fields in the Fields and Values list box and click OK. The Page Editor window reappears. 3. 4. 5. 6. Creating a Feedback Page Create the feedback page to use with two messages: an error message and a successful entry message. To create a feedback page 1. Highlight the ROOT icon, right-click, and select Add Into > Condition. The Condition icons IF–OK–NO appear. 2. 3. 4. 5. Double-click the “IF” statement icon. The Set Condition dialog box appears. For the left operand, select the Variable tab and select the variable, “var_any_error.” For the operation, select “NOT EQUAL.” For the right operand, select the Value tab and leave the value blank. This states that “IF” ‘var_any_error’ contains any information (from the validation) then produce an error message (“OK”). If the condition is not true (“NO” or “ELSE”) then assume that all the fields were filled and produce a success page. Creating an Error Page For the condition you specified above, you must create an Error page. To create an error page 1. Click the “OK” statement icon, right-click, and select Add Into > Feedback Section. 2. 3. Highlight the Feedback Section icon and double-click. Rename it “Error” and click OK. Place the cursor on the right screen and type “You have not entered the following Fields” and press ENTER. Click the Dynamic Element Insertion icon. The Dynamic Text Element dialog box 4. User Guide ◆ ◆ ◆ 8–7 Chapter 8. Adding Form Input into a Database 5. 6. appears. Select and double-click “var_any_error.” Close the dialog box. Creating a Success Page For the condition you specified above, you must create a success page. To create a success page 1. Click the “NO” statement icon, right-click, and select Add Into > Feedback Section. 2. Highlight the Feedback Section icon and double-click. Rename it “Success” and click OK. Place the cursor on the right screen and type “Thank you for filling out our form. Have a good day.” 3. You have successfully created you Form/Database insertion. Save your project, upload it to your site, and test it. Note: You cannot preview your Web site locally. Once the site is uploaded, access the index page by typing in the appropriate URL. Enter data into the form fields and then press Submit. You will want to download the database back to your hard disk and then open it with Access to verify the new information added. 8–8 ◆ ◆ ◆ Dynamic Pages Chapter 9. Creating a Query/Search Page Introduction It is useful for a visitor to a Web site to be able to search a database, based on certain criteria, and find out the results of the search. Such an example would be for a visitor to be able to input someone’s name and display the contact information of all the people with that name. The program allows you to import a database (Microsoft Access .MDB file) into your Web Site project so that data can be queried, added to or modified. You can then create pages that will access information from the database and display the results dynamically. One such example is creating a query page. As the functions and methodologies are complex, the use of these functions should be left to advanced users only. The following is a simple example of what can be done with the program. Note: You are using the Active Server Pages (ASP) technology created by Microsoft. This technology currently operates on Windows NT Servers running Microsoft Internet Information Servers (IIS), or Windows NT Workstation running Peer Web Server, or Windows 95 running Personal Web Servers. In this example you will search the database for an individuals’ name and display the address. You should create this project on a test Web site before incorporating it into your Web Site project. Create a Database You must create an Access database with a table called Address. In this table, insert the following fields: • First_Name • Last_Name • Address • City • State • Zip Note: It is important that you set any fields that use numbers to a text format. Chapter 9. Creating a Query/Search Page Create the Test Data You must enter test data for ten people so that you can use the database to test the dynamic pages that you are about to create. For this example, you create five entries with the same First_Name so that you can display the results of a query on multiple pages, using forward and backward navigation. Important! ALL fields in the database must have some data. Using data that is incomplete creates programming difficulties. Create a New Web Project to Perform a Query/Search Now that you have created your database, you will want to create a new project file. Select File > New and select the template with an X in the Preview area. Dynamic Page Icons To complete your database project, the following Dynamic Page icons (Figure 9.1) will be visible in the Dynamic Page Manager window. These icons identify dynamic operations that you will use to update your database from a Dynamic Page. • Root Icon. This is the Dynamic Page root directory. All supporting operation resources are created below this icon. • “IF” Statement Icon. This is an evaluation operation. Use it to evaluate a condition against an expected value. • “OK” Statement Icon. This is an action operation. Use it to initiate an action when the "IF" Statement is true. • “NO” Statement Icon. This is an action operation. Use it to initiate an action when the "IF" Statement is false. • Statement Icon. This is an action operation. Use it to assign a specific value to a parameter or a variable. • Feedback Section Icon. This is a notification operation. Use it to display text or dynamically generated values to Figure 9.1 ñ Dynamic Page Icons the Web site visitor. • Query Icon. This is a update or access operation. Use it to send data to or read data from a database. • RecordSet Icon. This is a sub-component of the query operation. Use it to cycle the results of the query to a feedback page. Importing the Database into the Project Before you start to create your Dynamic Pages, you must first import the database and open it. To import a project database 1. In the Site Manager–Physical Layout, right-click and select Import Database. 9–2 ◆ ◆ ◆ Dynamic Pages Chapter 9. Creating a Query/Search Page 2. 3. Navigate to the database that you created (named “Address”) and click Open. A Database icon appears in the Physical Layout window. Highlight the database, right-click and select Properties. The Properties dialog box appears. (Figure 9.2) Click on the DataBase tab. Note: The Database tab provides you with a graphic representation of the database structure. A database structure is hierarchically arranged as follows: DATABASE > TABLES > FIELDS. One database can have many tables and each table will have its own fields. You must open the database tables you want to access before the program can access the information. As you can see from Figure 9.2, you have two tables, address and table 1. Each table has its own fields. To open the table 1. Highlight Address and click Open. After a few moments, the word “open” appears next to the Table icon. 2. Click OK. The necessary table is now open. Figure 9.2 ñ Properties Dialog Box Creating a Dynamic Page Create a Dynamic Page by right-clicking in the Physical Layout window and selecting Create Dynamic Page. Double-click the page you have just created. The following window appears. (Figure 9.3) Figure 9.3 ñ Dynamic Page Window in Page Editor User Guide ◆ ◆ ◆ 9–3 Chapter 9. Creating a Query/Search Page Defining Parameters for a Dynamic Page In the Dynamic window, you will see the ROOT icon. This is where you assign names and properties for parameters, variables and cookies. In this case, assign a parameter that will access the data input by users when performing the query. This data will be input on a form. Assign this parameter the query value “P_Name.” Note: The prefix ‘P’ is a naming convention that identifies a data element as a parameter. Use this convention for easier data recognition, especially with complex tasks. Figure 9.4 Property Sheet for Dynamic Page Dialog Box To define a parameter assign it a query value 1. 2. 3. 4. 5. 6. Double-click the ROOT icon. The Property Sheet for the Dynamic Page appears. (Figure 9.4) Click the Input Parameter tab In the New Parameter input line, type “P_Name” and click Add. Click OK. Highlight “P_Name” and click Modify. Assign “P_Name” the value “null.” Note: You must assign the parameter a value if you intend to use the Query operation. If not, problems may result. Working with the Query Function Setting Up a Feedback Page Now you must create a Feedback Page that includes a Header. Our first query output will be to identify what the query was. You want this information to appear only once per page and you also want it to appear at the top of the page. To set up a feedback page with a header 1. 2. 9–4 Highlight the ROOT icon and right-click. a pop-up menu appears. Select Add Into > Feedback Section. A Feedback Section icon appears. ◆ ◆ ◆ Dynamic Pages Chapter 9. Creating a Query/Search Page 3. 4. Highlight the Feedback Section icon and double-click. Rename it “Header” and click OK. Place the cursor in the Page Editor window and type “The following are the results from your query of the name:” The insertion cursor remains. To insert a dynamic element to display beneath the header 1. Select Dynamic Page > Insert Dynamic Element or click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. (Figure 9.5) 2. Select and double-click “P_Name.” The parameter “P_Name” is inserted onto the feedback page. Figure 9.5 ñ Dynamic Elements Dialog Box Note: When inserted, dynamic elements are shaded to indicate that actual values will be substituted. Setting Up a Query To set up a query 1. Highlight the ROOT icon, right-click, and select Add Into > Query. A Query icon appears. 2. Double-click the Query icon. The Choose Database dialog box appears. Highlight the database you want to query. Figure 9.6 ñ Query Properties Dialog Box Note: The database for this project was previously named “For_query.” 3. Specify SELECT for Query Type and click Edit Query. The Query Properties dialog box appears. (Figure 9.6) Note: The title bar for the Query Properties dialog box identifies the query name and the associated database. 4. 5. User Guide Click the Select tab and specify which fields to use. In this case, use the button Add All. Select the Criteria tab to specify some conditions. (Figure 9.7) Figure 9.7 ñ Query Properties Dialog Box ◆ ◆ ◆ 9–5 Chapter 9. Creating a Query/Search Page Add some conditions for the query to perform. By default, the query logic is set for “AND.” In this case you want to use the function “OR.” This will allow the query to find values in either field. To set up an OR query function 1. Click Insert Logic. The Choose Logic Operation dialog box appears. Note: You must now specify the operation and conditions that the query will use to get the correct results. 2. 3. Figure 9.8 ñ Add Condition Dialog Box Select “OR” and click OK. The OR condition icon appears in the Condition Window area. Click Add Condition. The Add Condition dialog box appears. (Figure 9.8) Note: You are making a query for the user name. You will need to query both the First Name and Last Name. You want to match the first and last name to the parameter that the user inputs (that is, “P_Name,” equals the value that the user inputs). 4. In the left operand from the table “Address,” select the available field, “Address.First_Name” Note: The field selection structure is “<table>.<field name>.” 5. For the operation, select “CONTAINS” Note: This operation looks for any values in the database that match the input “P_Name.” 6. 7. 8. In the right operand, click the Control tab and select “P_Name” from the drop-down box. Click OK. The Query Properties dialog box reappears. Repeat Steps 1–7 to specify the operation and conditions for “Address.Last_Name.” Note: When done, you must now set the number of records that are displayed per page. 9. Click the Feedback tab, click Custom and specify the number of records that you want viewed per page. In this case, use the value 3 because the database contains only 10 entries. Creating a RecordSet RecordSet is used to cycle the results of the query to the feedback page. Right now, you have set the feedback to contain three entries per page. There may be more than three entries per query, so you can create a RecordSet to remember all of the results. To create a RecordSet 1. 9–6 Highlight the Query icon, right-click, and select Add Into > RecordSet. A RecordSet icon appears. ◆ ◆ ◆ Dynamic Pages Chapter 9. Creating a Query/Search Page Note: Now you are ready to display your dynamically produced results on a feedback page. 2. Highlight the RecordSet icon, right-click, and select Add Into > Feedback Section. A Feedback Section icon appears. 3. Double-click the Feedback Section icon. Rename it “Results” and click OK. Note: Now you will add the dynamic information to the feedback page. For formatting reasons you will use tables to display information. 4. 5. 6. 7. 8. 9. Place the cursor in the Page Editor window and select Table > Insert Table. The Table Properties dialog Figure 9.9 ñ Dynamic Elements Dialog box appears. Specify 2 rows, 5 columns, and 1 header. Click OK. The specified table is inserted. Place the cursor in the top-left table cell and type “Name” Tab to the next table cell and type “Address” Repeat Steps 6–7 until the header row is complete. Place the cursor in the second row first column. 10. To enter the dynamic elements, select Dynamic Page > Insert Dynamic Element or click Insert Dynamic Element on the 11. 12. 13. 14. 15. 16. User Guide Dynamic Page toolbar. The Dynamic Elements dialog box appears. (Figure 9.10) Double-click “Query_1.Address.First_Name.” Click on the table and move the cursor to the right of the shaded text. Press the SPACEBAR once Figure 9.10 ñ Dynamic Page Window with Dynamic Page Manager to insert a space between First and Last Name. Click back on the Dynamic Elements dialog box and double-click “Query_1. Address.Last_Name.” Place the cursor in the second row second column. Click back on the Dynamic Elements dialog box and double-click “Query_1. Address.Address.” ◆ ◆ ◆ 9–7 Chapter 9. Creating a Query/Search Page 17. Repeat Steps 15–16 until all dynamic elements are inserted into the remaining cells. Creating Navigation Links For Feedback Pages As you have only allowed three entries to be listed per page you will need to create links to the rest of the results. This requires that you evalute the results of the query and set up a forward link (first page), forward and backward links (middle page) and backward link (last page). Currently, any feedback specified as “custom” automatically generates the query variables “Forward_Navigation” and “Backward_Navigation” which you can dynamically place on a feedback page to generate the required link. These query variables generate the text links, “Next” and “Previous,” respectively. In the following tutorial, these automatically generated text links are used on the forward link only feedback page and on the backward link only feedback page. Since many people like to use button links, rather than text links, the forward and backward feedback page tutorial illustrates how to assign forward and backward links to image files that are inserted onto the feedback page. For No Result on Query The first condition that you are going to determine is if there are “no results” for the query. To determine if there are no results for the query 1. Highlight the Query icon, right-click, and select Add Into > Condition. The Condition icons IF–OK–NO appear. Note: When complete, you will see the layout illustrated in Figure 9.10. 2. 3. Double-click the “IF” statement icon. The Set Condition dialog box appears. (Figure 9.11) Click the Query tab. Note: One of the functions listed is called High_Range. This is the number of resulting entries found in the database as a result of the query. (It is an absolute value.) You will use this and Low Range to determine what feedback page should be implemented, if there are no results from the query. 4. Figure 9.11 ñ Set Condition Dialog Box For the left operand, select “Query_1.High_Range.” Note: You want to determine if the “High_Range” is equal to zero (that is, no result). 5. 6. 7. 9–8 For the operation, select EQUAL. For the right operand, click the Value tab and enter the value 0. Click OK. ◆ ◆ ◆ Dynamic Pages Chapter 9. Creating a Query/Search Page Note: Notice that under the “IF” statement, there are two sub components called “OK” and “NO.” In this case, if the condition high range equals 0 is true (OK) you will want to have some feedback telling the user that there was no person found by that name. 8. Highlight “OK” statement icon, right-click, and select Add Into > Feedback Section. The Feedback Section icon appears. 9. Double-click the Feedback Section icon. Rename it “NO_Results” and click OK. 10. Place the cursor in the Page Editor window and type “There was no match for the person.” Figure 9.12 ñ Dynamic Elements Dialog 11. Select Dynamic Page > Insert Dynamic Element or click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. (Figure 9.12) 12. Select “P_Name” and press RETURN once. 13. On the next line, type “To try a new query, click here.” 14. Highlight the link text “click here,” right-click and select Insert > Link. The Link dialog box appears. (Figure 9.13) 15. Click the To Resource tab and select “index.htm.” 16. Click Assign URL. You have just completed the first part of the navigation of Query Results. Do not use the “NO” statement icon. There is no need to specify this part of the condition. Creating Navigation Links When There Are Results To define the rest of the conditions for navigation you will need to define a starting value. As you know your first page of results you will not need a backward link. So, for your next condition you use the IF/ELSE function. Figure 9.13 ñ Link Dialog Box To set up an IF/ELSE condition 1. Highlight the Query icon, right-click, and select Add Into > Condition. The Condition icons IF–OK–NO appear. 2. 3. 4. Double-click the “IF” statement icon. The Set Condition dialog box appears. For the left operand, select “Query_1.Low_Range.” For the operation, select “EQUAL.” User Guide ◆ ◆ ◆ 9–9 Chapter 9. Creating a Query/Search Page 5. For the right operand, click the Value tab and enter the value 1. Setting Up A Forward Link For the first page, you know that if the condition “low_range = 1” is true, then the first page has been identied. However, put another way, the “IF” condition icon should more completely state that “If low range equals 1 and the high range is less than the total number of records, then print Forward Navigation feedback only.” To complete the full evaluation the first evaluation, if “Query_1.Low_Range = 1,” leads to the “OK” action where you must set up a second evaluation, if “High_Range” is less than the total number of records. At this point, queries containing at least one page of results have been identified. To create the Forward Navigation link for the first page 1. Highlight the “OK” statement icon for the condition “Query_1(Low_Range)=1,” rightclick and select Add Into > Condition. The Condition icons IF–OK–NO appear. 2. Select the “IF” statement icon you just created and double-click. The Set Condition dialog box appears. For the right operand, click the Query tab and select “Query_1.High_Range.” For the operation, select “<” For the right operand, click the Query tab and select “Query_1.Total_Record_Number.” 3. 4. 5. Note: You will now create the feedback page if both these conditions are true (that is, the first page). 6. Highlight the “OK” statement icon for the condition “Query_1(High_Range) < Query_1(Total_Record_Number),” right-click, and select Add Into > Feedback Section. A Feedback Section icon appears. 7. 8. Double-click the Feedback Section icon. Rename it “Forward_Only” and click OK. Highlight “Forward_Only” and place the cursor in the Page Editor window. 9. Select Dynamic Page > Insert Dynamic Element or click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. 10. Double-click “Query_1.Forward_Navigation.” Setting Up Forward and Backward Links To create Forward and Backward navigation, use arrow images as the navigation links. To do this, use the “NO” statement for the condition “Query_1(Low_Range)=1.” Define the condition “If ‘Low_Range’ is not = to 1 and ‘High_Range’ is < ‘Total_Record_Number’” (that is, the pages ‘in between’ the first and last page). To create the Forward and Backward Navigation links for the middle pages 9–10 1. Highlight the “NO” statement icon (should be the last item on the list), right-click, and select Add Into > Condition. The Condition icons IF–OK–NO appear. 2. 3. Select the “IF” statement icon and double-click. The Set Condition dialog box appears. For the left operand, click the Query tab and select “Query_1(High_Range).” ◆ ◆ ◆ Dynamic Pages Chapter 9. Creating a Query/Search Page 4. 5. For the operation, select “<” For the right operand, click the Query tab and select “Query_1(Total_Record_Number).” 6. Highlight the “OK” statement icon, right-click, and select Add Into > Feedback Page. A Feedback Section icon appears. 7. 8. Double-click the Feedback Section. Rename it “Forward_Backward” and click OK. Highlight “Forward_Backward” and place the cursor in the Page Editor window. Note: Instead of simply adding the Dynamic Element of Forward and Backward Navigation, use a left and right arrow as a link to the next or previous pages. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Select Insert > Image or click Insert Image on the Insert Object toolbar. The Image Attributes dialog box appears. (Figure 9.14) Click the Library tab, use the drop-down menu, and select Arrows. Select an arrow image pointing to the left and click OK. Place the cursor to the right of the arrow and press TAB. Repeat Steps 9–11 to insert an arrow image pointing to the right. Figure 9.14 ñ Image Attributes Dialog Box When done, highlight the left arrow image, right-click, and select Insert > Link. The Link dialog box appears. Click the To Resource tab and select “DynPage_1.asp.” Click Advanced. The Advanced WEB Operations dialog box appears. Select the Dynamic Object tab. Select HREF and click Modify. The Modify dialog box appears. (Figure 9.15) Click the Query tab and using the drop-down menu, select “Query_1.Backward_Navigation.” Click OK twice and click Assign URL. Note: This completes the Backward Navigation. 21. Repeat Steps 14-20 for the arrow pointing right (Forward Navigation) except when using the Modify dialog box, choose “Query_1.Forward_Navigation.” This completes the creation of Forward and Backward Navigation for the query RecordSet. The User Guide Figure 9.15 ñ Modify Dialog Box ◆ ◆ ◆ 9–11 Chapter 9. Creating a Query/Search Page Feedback Page, “Forward_Backward” appears only if “Low_Range is not = 1 and High_Range is >=Total Record Amount.” Setting Up A Backward Link Create a Backward Navigation link for the last page. To do this, specify the condition: “If the ‘High_Range’ is greater than or equal to the ‘Total_Record_Number,’ then a feedback page with only Backward navigation is provided.” To create the Backward Navigation for the last page 1. Highlight the “NO” statement icon for the condition “Query_1(Low_Range) = 1,” rightclick and select Add Into > Condition. The Condition icons IF–OK–NO appear. 2. 3. 4. 5. Select the “IF” statement icon and double-click. The Set Condition dialog box appears. For the left operand, click the Query tab and select “Query_1.High_Range.” For the operation, select “ > =” For the right operand, click the Query tab and select “Query_1.Total_Record_Number.” 6. Highlight the “OK” statement icon for the condition that you just created, right-click, and select Add Into > Feedback Page. A Feedback Section icon appears. 7. Double-click the Feedback Section icon. Rename it “Backward_Only” and click OK. 8. Select Dynamic Page > Insert Dynamic Element or click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. Double-click “Query_1.Backward_Navigation.” 9. Creating a Form for Use with a Dynamic Page Create a form so that a user can input some information for the query. To do this, go to Site Manager–Logical Layout and double-click on the index page. Click Show/Hide on the Standard toolbar. You will now see a display symbol whenever a paragraph ends. You will also see, after inserting a form, two lines, that designate the form area. All form fields must be within these lines. To create a form 1. From an open page in Page Editor, position the cursor where you want to insert the form. 2. 3. 4. 5. 6. 7. 8. 9. 9–12 Click Show/Hide on the Standard toolbar. Paragraph symbols appear. Select Insert > Form. Two lines designating the form area appear. Place the cursor inside the two lines and type “Please enter the name of the person you wish to find.” Press ENTER. Select Insert > Form Fields > Text Line. The Text Line Properties dialog box appears. In the Name input line, type “P_Name” Click OK. Select Insert > Form Field > Push Button. The Push Button Properties dialog box appears. ◆ ◆ ◆ Dynamic Pages Chapter 9. Creating a Query/Search Page 10. To accept all defaults, click OK. 11. Right-click somewhere in the form and select Forms. The Form Properties dialog box appears. 12. In the Action section, click Local, select “DynPage1.asp” and click OK. You have now completed all steps involved with making your query page. Save your project, upload it to your site, and test it. Note: You cannot preview the query locally on your browser. Once uploaded, access the index page by specifying the appropriate URL. Enter in the name that occurs most frequently in the database and press Submit. You will see the results displayed in the table with links on the bottom. User Guide ◆ ◆ ◆ 9–13 Chapter 10. Redirecting URLs Introduction Redirect can have many uses. Only two are examined here. The first is a redirect to a new page. The second is a redirect that lets you download resources (such as, programs, documents, files and so on) automatically. Page Redirects There are two ways to redirect to a new page. 1. Have index.asp automatically redirect you, or 2. Set up a link that redirects you. When redirecting to a new page, you can redirect to an internal or external Web page. Download Redirects Using redirect enables visitors to download resources such as programs, documents and files. It is an efficient method for you to enable downloading. However, to do this, you must ask your Web-hosting Company to modify the permission settings on your Download folder. If you intend to allow visitors to download numerous resources, do not import them directly into your WebShop Project files. Your project file will become very large and unmanageable. It is recommended that you create an external folder on your hard disk (not in your Web Project folder) called “downloads.” Have your redirects linked to this folder. Once you have completed the Web site development, upload this folder to your remote Web server using an FTP program. Visit www.boomerangsoftware.com for referrals on FTP programs. When creating a redirect, be sure to access your resources from the specified downloads folder. Requesting ISP Information and Setting Up To request ISP information 1. Upload the Downloads folder. 2. Ask the ISP Systems Administrator to open the IIS Server Manager. 3. Ask the Systems Administrator to open your Web site and highlight the Downloads folder. Chapter 10. Redirecting URLs 4. 5. Right-click and select Properties. On the Directory tab, select “None” for permissions and “Read ”for access permissions. Getting Started In this example, you will redirect index.asp to Page1.htm. Scenario: You have recently acquired a new domain name and wish it to be redirected to your new site. Once the redirect is established you must create a link to a form where you can download resources. You then must link this form to a Dynamic Page that validates user information and proceeds to download. You may also add other dynamic elements (to send email or enter data into a database). In this case, you must send an email to both the visitor and the Webmaster. Each email contains different information. Create a New Project To begin your project, open a blank template 1. Select File > New and click on a blank template. Site Manager–Physical Layout appears. 2. Delete the file “index.htm.” 3. Right-click and select Create New Dynamic Page. The file “DynPage1.asp” appears. 4. Rename this file “index.asp.” Redirecting the Page to Another Page To redirect to another page 1. Double-click index.asp. 2. Right-click the ROOT icon and select Add Into > Redirect. 3. Double-click the Redirect To icon. The Property Sheet for Redirect Action dialog box appears. (Figure 10.1) Click the External tab. In the Custom URL box, type the URL. In this case, use http:// www.yourdomainname.com/ Page1.htm. Click OK. 4. 5. 6. You have not yet redirected your clients to a new URL. They are still in the Figure 10.1 ñ Property Sheet for Redirect Action same URL. All you have done is to make your index.asp page automatically redirect a visitor without making them perform any additional work. 10–2 ◆ ◆ ◆ Dynamic Pages Chapter 10. Redirecting URLs Create a Link to a Download Form To create a link to a download form 1. From Site Manager–Physical Layout, create three new pages: two Plain Pages called Page1.htm and Page2.htm and one Dynamic Page called DynPage2.asp 2. Double-click Page1.htm. 3. Type “Download Now.” 4. Highlight “Download Now,” right-click, and select Link. The Link dialog box appears. 5. Click the To Page tab and select Page2.htm. 6. Click Assign URL. The link is created. Create a Download Form 1. From Site Manager, open Page2.htm in Page Editor, position the cursor where you want to insert the form. 2. 3. 4. 5. 6. 7. 8. 9. 10. Click Show/Hide on the Standard toolbar. Paragraph symbols appear. Select Insert > Form. Two lines designating the form area appear. Place the cursor inside the two lines. Select Table > Insert Table. The Table Properties dialog box appears. Select four rows and two columns. Click OK. Double-click on the table object. The cursor moves into a table cell. Place the cursor in the top left cell and type “Name:” Place the cursor in the top row second column and select Insert > Form Fields > Text Line. The Text Line Properties dialog box appears. Type the name “P_Name” and delete the default Value. Click OK. In the second row first column, type “Email:” In the second row second column, add a Text Line form element and name it “Email.” Delete the default Value. In the third row first column, type “Product:” In the third row second column, add a combo box form element and name it “Select_Prod.” Select Insert > Form Field > Combo Box. The Combo Box Properties dialog box appears. (Figure 10.2) Under the Items Section, highlight Item 1 and click Edit Item. The Item Properties dialog box appears. (Figure 10.3) In the Item Label, type “Prod_One” and for the Item Value, type “prod1.” Click OK. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Figure 10.2 ñ Combo Box Properties User Guide ◆ ◆ ◆ 10–3 Chapter 10. Redirecting URLs 21. Repeat Steps 18–20 for the Item 2, use the label “Prod_Two” and the value “prod2.” 22. Click OK. 23. In the fourth row first column, add a Submit button. Select Insert > Form Field > Push Button. Figure 10.3 ñ Item Properties for Prod1 24. Click OK to accept the defaults. 25. Place the cursor outside the table, but still within the two lines, and right-click. A pop-up menu appears. 26. Select Form. The Form Properties dialog box appears. 27. Select Local and highlight DynPage2.asp 28. Click OK. Creating a Dynamic Page To create the Dynamic Page that serves to redirect the data entered 1. Double-click DynPage2.asp 2. Double-click the ROOT icon. The Property Sheet for Dynamic Pages appears. 3. Select the Input Parameter tab and add the Parameters “P_Select_Prod,” “P_Name” and “P_Email.” 4. Click on the Variables tab and add the Variables “var_any_error,” “var_name,” and “var_email.” 5. Click OK. You will now create the validation of the form. In this case, all fields are required (Name and Email). Do not validate the combo box; they already have default values. The first validation is to test for Name. To do this, add a condition for the variable “P_Name.” 1. Right-click the ROOT icon and select Add Into > Condition. An “IF” statement icon appears. 2. Double-click the “IF” statement icon. The Set Conditions dialog box appears. (Figure Figure 10.4 ñ Set Condition Dialog Box 10–4 ◆ ◆ ◆ Dynamic Pages Chapter 10. Redirecting URLs 3. 4. 5. 6. 10.4) For the left operand, select the Parameter tab and select “P_Name.” For the operation, select “EQUAL.” For the right operand, select the Value tab and leave it blank. Click OK. Now that you have created the condition, you must specify the action that will occur if that condition is true. In this case, you will want to use the variables that you have created to log the errors. In addition, you will want to log that “var_name” equals the value “Name” and that “var_any_error” equals 1. You assign “var_name” this value so that you can insert this dynamic element onto a feedback page later. Remember: To know that there was an error, use “var_any_error” and assign it a value of 1. This value is arbitrary. It can be anything you want. Assign “var_name” a value 1. Highlight the “OK” icon, right-click and select Add Into > Statement. 2. Double-click the Statement icon. The Set Variable To dialog box appears. (Figure 10.5) Under Choose Variable Name, select “var_name.” For the operation, select “EQUAL.” For the right operand, select the Value tab and type “Name.” 3. 4. 5. Note: This assigns the variable with the value “Name.” Later you will use this variable in the feedback page. 6. Figure 10.5 ñ Set Variable To Dialog Box Click OK. Assign “var_any_error” a value 1. Highlight the “OK” icon, right-click and select Add Into > Statement. 2. 3. 4. 5. Double-click the Statement icon. The Set Variable To dialog box appears. Under Choose Variable Name, select “var_any_error.” For the operation, select “EQUAL” For the right operand, select the Value tab and type the number “1” Note: Later, you will test to see if this variable has a value, and if so, it will generate a feedback page. 6. Click OK. User Guide ◆ ◆ ◆ 10–5 Chapter 10. Redirecting URLs Repeat the above two procedures for the parameter “P_Email.” Creating a Feedback Page If a visitor filling out the form has not typed in a field, then the value “1” is added to “var_any_error.” If the visitor has filled out every field, then “var_any_error” has no value (that is, it remains blank). To create an error feedback page, you must test the condition IF “var_any_error = 1.” Earlier, you specified that IF “P_Name” or “P_Email” is blank then “var_any_error = 1.” 1. Right-click the ROOT icon and select Add Into > Condition. 2. 3. 4. 5. 6. Double-click the “IF” statement icon. The Set Condition dialog box appears. For the left operand, select the Variables tab and select “var_any_error.” For the operation, select “EQUAL.” For the right operand, select the Values tab and type the number “1” Click OK. 7. Highlight “OK” statement icon, right-click and select Add Into > Feedback Section. 8. 9. Double-click the Feedback Section icon. Rename it “Error_Page.” Highlight “Error_Page” and place the cursor in the section on the right. Type “You have not entered the following required fields:” and press ENTER. 10. Click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Element dialog box appears. (Figure 10.6) 11. Double-click “var_name.” A shadowed box appears. Place the cursor to the right of the shaded box and press ENTER. Repeat this procedure for the Dynamic Element “var_Email.” You are now done with the feedback page. Next condition: If the previous “IF” statement is not true, then there are no assumed errors. Here you will use the “NO” statement (from the condition “var_any_error” = “1”) to send emails to both the Webmaster and the visitor. Action: Create custom emails for both parties. Figure 10.6 ñ Dynamic Elements Dialog Box Creating Emails for the Webmaster and the Visitor For both emails 1. 2. 10–6 Right-click the “NO” condition icon and select Add Into > Send Mail. A Send Mail icon appears. Repeat Step 1 for the second email. Another Send Mail icon appears. ◆ ◆ ◆ Dynamic Pages Chapter 10. Redirecting URLs For the email to the Webmaster 1. 2. 3. 4. 5. 6. Double-click the first Send Mail icon. The Send Mail Property dialog box appears. (Figure 10.7) In the From section, select the Parameters tab and select “P_Name.” For the To section, type your email address. In the Subject section, enter a title like “Email from download customer” In the SMTP Server section, type the email server address for your Webhosting Company. For example, “mail.<yourISPname>.com.” Click OK. Figure 10.7 ñ Send Mail Property Dialog Box for Webmaster Email 7. Highlight the Send Mail icon and place the cursor in the right-hand side. 8. Click the Dynamic Element Insertion icon. The Dynamic Element dialog box appears. 9. Double-click “P_Name,” place the cursor to the right of the shaded box and press the SPACEBAR once. Type “has purchased the following product” 10. Click on the Dynamic Element box and double-click “P_Select_Prod.” For the email to the Visitor 1. 2. 3. 4. 5. 6. Double-click the second Send Mail icon. The Send Mail Property dialog box appears. In the From section, type your email address. In the To section, select the Parameters tab and select “P_Name.” In the Subject section, type the email title “Auto Response from Downloading” In the SMTP Server section, type the email server address for your Web-hosting Company. For example, “mail.<yourISPname>.com” Click OK. 7. 8. 9. Highlight the Send Mail icon and place the cursor in the right-hand side. Type “Thank you for downloading our” Click on the Dynamic Element box and double-click “P_Select_Prod.” You are to do the download redirection last because it should always be done at the end. After its execution, the script cannot perform any other actions. The download redirection should look for the product that was selected in the combo box. Earlier, you assigned these products the values prod1 and prod2, respectively. User Guide ◆ ◆ ◆ 10–7 Chapter 10. Redirecting URLs Redirect for Product 1 1. Select the “NO” icon for “var_any_error = 1,” right-click, and select Add Into > Condition. 2. 3. 4. 5. 6. Double-click the “IF” condition icon. The Set Condition dialog box appears. For the left operand, select the parameter “P_Select_Prod.” For the operation, select “EQUAL.” For the right operand, select the Values tab and type “Prod1” Click OK 7. Select the “OK” icon for that condition, right-click, and select Add Into > Redirect To. 8. Double-click the Redirect To icon. The Property Sheet for Redirect Action appears. 9. Click on the External tab. 10. In the Custom URL box, type “http://www.yourdomainname.com/downloads/ prod1.exe” Note: Prod1.exe is a fictional product or resource. 11. Click OK. Redirect for Product 2 1. Select the “NO” statement icon for “var_any_error = 1,” right-click, and select Add Into > Condition. 2. 3. 4. 5. 6. Double-click the “IF” condition icon. The Set Condition dialog box appears. For the left operand, select the parameter “P_Select_Prod.” For the operation, select “EQUAL.” For the right operand, select the Values tab and type “Prod2” Click OK. 7. Select the “OK” statement icon for that condition, right-click, and select Add Into > Redirect To. 8. Double-click the Redirect To icon. The Property Sheet for Redirect Action appears. 9. Click on the External tab. 10. In the Custom URL box, type http://www.yourdomainname.com/downloads/prod2.exe Note: Prod1.exe is a fictional product or resource. 11. Click OK. You have now completed your Page Redirect and Download Redirect. 10–8 ◆ ◆ ◆ Dynamic Pages Chapter 11. Cookies and Requesting Information Introduction Cookies are small files located on the client’s computer. These files contain persistent state information, such as user information. The server, where the Web site resides, can then request this information from the client browser to perform a task. Two tasks are required when using cookies. First, they must be sent and written to the client computer. Second they must be retrieved/requested by the server from the client computer. Each cookie should have a name and value (key). Complex cookies, like cookie dictionaries, have more than one key associated with a page. Keys can have any of the following attributes: • Domain–This makes sure that when the cookie is requested it will only go back to its own domain. • Expiration Date–This is a date that the cookie will expire and self-remove itself from the client computer • Path–This will make the cookie return itself only if requested from the page that issued it. • Secure–This feature will require a secure connection over the Internet before it is sent. It is important to note that cookies should only be used for non-sensitive or non-confidential information. Note: To achieve these tasks, the program uses Active Server Pages (ASP) technology. ASP is the standard promoted by Microsoft and it operates on Windows NT Servers running Microsoft Internet Information Servers (IIS), Windows NT Workstation running Peer Web Server, or for Windows 95 running Personal Web Server. Recently other companies have developed ASP technology running on UNIX and Solaris operating systems. Refer to www.boomerangsoftware.com for more details. This example will show how you can take some user information and send the user a cookie. Then access the cookie information and produce a dynamic feedback page. Note: Do not take information from the client. You may send them a cookie, which you will later recall. Chapter 11. Cookies and Requesting Information Creating Your Project Select File > New and select a blank template. For the following project, create two Dynamic Pages. Creating a Dynamic Page To create a Dynamic Page 1. Go to Site Manager–Physical Layout, right-click, and select Create Dynamic Page. The file DynPage1.asp appears. 2. Repeat Step 1. The file DynPage2.asp appears. Creating a Form for use with a Dynamic Page To create a form on the index page 1. From Site Manager–Physical Layout, double-click “index.htm.” The Index page opens. Position the cursor where you want to insert the form. 2. 3. 4. 5. 6. 7. Click Show/Hide on the Standard toolbar. Paragraph symbols appear. Select Insert > Form. Two lines designating the form area appear. Place the cursor inside the two lines. All form fields must be within these two lines. Place the cursor inside the two lines and type “Full Name” Select Insert > Form Fields > Text Line. The Text Line Properties dialog box appears. For Name, type “Full_Name” and click OK. After you have completed the above steps, add a Submit button in the same page and in the same form. To add a Submit button 1. Place the cursor inside the form area. 2. Select Insert > Form Field > Push Button. The Push Button Properties dialog box appears. 3. Click OK to accept Push Button defaults. The Push Button is inserted. 4. Right-click somewhere in the form (in the white space) and select Forms. The Form Properties dialog box appears. 5. In the Action section, click on Local and select “DynPage1.asp.” 6. Click OK. The Submit button is added. You have now created the form which will send the client computer a cookie. 11–2 ◆ ◆ ◆ Dynamic Pages Chapter 11. Cookies and Requesting Information Creating a Cookie In the following, DynPage1.asp will take the client information “Full_Name” and assign a cookie. To create a cookie 1. Go to Site Manager–Physical Layout and double-click DynPage1.asp. The selected page opens. 2. 3. 4. 5. 6. 7. 8. 9. Double-click the ROOT icon. The Property Sheet for the Dynamic Page appears. Click the Cookie tab. The Cookies fields appears. For Cookie Name, type “First_Cookie” and specify an Expiration Date. For New Key, type “Name” and click Add. Click the Variable tab. For New Variable, type the following variables and click Add: “v_name” and “v_full_name.” The new variables appear in the variable listing. Click the Input Parameters tab. For New Parameter, type “Full_Name.” The new parameter appears in the parameter listing. Creating a Field Validation Test In this section, create a test to make sure that the field was filled out. To do this, follow the steps below: 1. Highlight the ROOT icon, right-click, and select Add Into > Condition. An “IF” condition icon appears. 2. 3. 4. 5. 6. 7. Double-click the “IF” statement icon. The Set Condition dialog box appears. Select the Parameters tab. In the left operand, select “Full_Name” from the drop-down box. For the operation, select “EQUAL.” For the right operand, select the Value tab and enter nothing (that is, leave it blank). Click OK. Note: What is being stated is that if the parameter “Full_Name” has no value (left blank) when submitted, then note this in the variable “var_full_name.” Now assign the variable “var_full_name” a value if the above statement is true. 8. Highlight the “OK” statement icon for that condition. Right-click and select Add Into > Statement. 9. Double-click the Statement icon. The Set Variable To dialog box appears. 10. For Choose Variable Name, select “var_full_name.” 11. For the operation, select “Concatenate.” User Guide ◆ ◆ ◆ 11–3 Chapter 11. Cookies and Requesting Information Note: Concatenate means “to join to.” 12. For the right operand, select the Value tab and type “Full Name” 13. Click OK. Creating a Error Page Now create the Feedback Page that will be used to display an Error Message. 1. Highlight the ROOT icon, right-click, and select Add Into > Condition. 2. 3. 4. 5. Double-click the “IF” statement icon. The Set Condition dialog box appears. For the left operand, select the Variable tab and select the variable “var_full_name.” For the operation, select “NOT EQUAL.” For the right operand, select the Value tab and leave the value blank. This states that IF “var_full_name” contains any information (from the validation), then produce an error message (“OK”). If the condition is not true (“NO” or “ELSE”), then assume that all the fields were filled and consequently produce a success page. For the condition, you specified above, create the error page: 1. Click the “OK” statement icon, right-click, and select Add Into > Feedback Section. 2. 3. Highlight the Feedback Section icon, double-click, and rename it “Error.” Click OK. Place the cursor on the right screen and type “You have not entered the following fields:” and press ENTER. Click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. Double-click “var_full_name.” This parameter appears in Page Editor. Close the dialog box. 4. 5. 6. Writing a Cookie For the condition, “var_full_name,” use the “NO” section to write the cookie. Place this there because if “var_full_name” is empty (blank) then you assume that the field has been filled. Convert the value of the parameter to a variable “v_name.” This is because the cookie can only be assigned a value from a variable. Follow the steps below to write the cookie: 1. Right-click the “NO” statement icon for “var_full_name” and select Add Into > Statement. 11–4 2. 3. 4. 5. 6. Double-click the Statement icon. The Set Variable To dialog box appears. For the left operand, select “v_name.” For the operation, select “=” For the right operand, select the Parameter tab and select “Full_Name” Click OK. 7. Right-click the “NO” statement icon for “var_full_name” and select Add Into > Cookie. ◆ ◆ ◆ Dynamic Pages Chapter 11. Cookies and Requesting Information 8. 9. Double-click the Write Cookie icon. The Write Cookie dialog box appears. For Choose Key, select “Name.” Note: This is the Cookie key that was added to the Cookies Properties. 10. For the Choose Variable drop-down box, select “v_name.” 11. Click OK. Creating a Feedback Page 1. Click the “OK” statement icon, right-click, and select Add Into > Feedback Section. 2. 3. 4. 5. 6. 7. Highlight the Feedback Section icon, double-click, and rename it to “Success.” Click OK. Place the cursor in the Page Editor window. Type “A cookie has been written to your computer. To read a cookie click here.” Highlight “click here,” right-click, and select Insert > Link. The Link dialog box appears. Click the To Resources tab and select DynPage2.asp. Click Assign URL. Reading and Requesting Cookies Now we will set the request that the browser/client send the cookie information back to the server before it sends the Web page. In this case, create a customized Welcome page. Address the person’s name in a statement that welcomes him/her to your Web site. 1. From Site Manager–Physical Layout, double-click DynPage2.asp. 2. 3. 4. 5. 6. 7. Double-click the ROOT icon. The Property Sheet for Dynamic Page appears. Click the Cookie tab. For Cookie Name, type “First_Cookie” and specify an expiration date. Click the Variables tab. For New Variable, type “var_name.” Click OK. 8. Highlight the ROOT icon, right-click, and select Add Into > Statement. 9. 10. 11. 12. Double-click the Statement icon. The Set Variable To dialog box appears. For the left operand, select “var_name.” For the operation, select “=” For the right operand, select the Value tab and specify a name. Note: This is the key from the cookie properties. 13. When done, click OK. 14. Highlight the ROOT icon, right-click, and select Add Into > Request. The Request From User dialog box appears. 15. For the right operand, select the Cookie tab and select the variable “var_name.” User Guide ◆ ◆ ◆ 11–5 Chapter 11. Cookies and Requesting Information 16. Click OK. 17. Highlight the ROOT icon, right-click, and select Add Into > Feedback Section. 18. Highlight the Feedback Section icon, double-click, and rename it to “Hello.” Click OK. 19. Click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. 20. Select and double-click “var_name.” This parameter appears in Page Editor. 21. Close the dialog box. The blinking cursor appears in the Page Editor window. 22. Continue typing “Welcome back to our Web site.” The Welcome page is complete. Save your project, upload it to your site and test it. Note: You cannot preview locally. Once uploaded, access the index page by typing the appropriate URL. Enter data into the form fields and press Submit. Requesting Information from the Server This program enables you to request information from the server. You can specify what information you want to get and then have it called from the server. One such command is “HTTP_USER_AGENT.” This command will detect what version browser a user is using. This may be useful to provide a Web site that uses the latest technology and a basic site for visitors that have lower version browsers. To detect the browser version 1. Create a new project. 2. From Site Manager–Physical Layout, right-click and select Create a Dynamic Page. DynPage1.asp appears. 3. Double-click “index.htm.” The Index page opens. 4. Type “Click on the link to detect what version browser you are using.” 5. Select the text entered and select Insert > Link to make a link to DynPage1.asp. The Link dialog box appears. Complete the fields as necessary. 6. Navigate back to Site Manager–Physical Layout and double-click “DynPage1.asp.” 7. 8. 9. Double-click the ROOT icon. The Property Sheet for Dynamic Page appears. Click on the Variables tab. For New Variable, type “v_browser” and click Add. 10. Highlight the ROOT icon, right-click, and select Add Into > Statement. 11. 12. 13. 14. Double-click the Statement icon. The Set Variable To dialog box appears. For the left operand, select “v_browser.” For the operation select “=” For the right operand select the Value tab and type “HTTP_USER_AGENT” 15. Highlight the ROOT icon, right-click, and select Add Into > Feedback Section. 11–6 ◆ ◆ ◆ Dynamic Pages Chapter 11. Cookies and Requesting Information 16. Highlight the Feedback Section icon and position the cursor in the Page Editor window. 17. Type “You are currently using the following browser:” 18. Click Insert Dynamic Element on the Dynamic Page toolbar. The Dynamic Elements dialog box appears. 19. Select and double-click “v_browser.” This parameter appears in Page Editor. 20. Close the dialog box. You can now upload the site to your server and test it. User Guide ◆ ◆ ◆ 11–7 Chapter 12. Summary What is a Dynamic Page? A Dynamic Page lets you present information that is tailored to a specific visitor based on the interaction of your Web site and that visitor. If the server on which you are placing your Web site supports Active Server Page (ASP) functionality, then you can use Dynamic Pages. This is a very special type of Web page. Every Web page described thusfar is considered a static page. Even if you insert an animated GIF, AVI file, or Java Applet to create a dynamic appearance, the Web page designs associated with a Plain, Free, or FrameSet page, all make use a fixed format, with every element explicitly specified, either as a static file or as a static string of characters. In contrast, a Dynamic Page changes it display dynamically by enabling different sets of items or objects to appear based on specified conditions. This is especially useful when you want your site is to display specific information, tailored to a specific visitor based on the interaction of your Web site and a visitor. What is important to remember with a Dynamic Page is that the actual screen display that appears before a viewer is created by the Web-server at the time a viewer opens the page. Unlike a static HTML page, the Web-server creates the viewer’s page display “on-the-fly,” using an action listing that you specify. This action listing enables you to specify different page displays for different viewers, depending upon factors that are unique to them. These factors could include form responses, which tell the server to generate a specific display; previously generated cookie data, which identifies the viewer as someone who has previously visited the Web site and/or Web page, or other client-side data generated by the visitor’s browser, which can identify the type of browser being used. Dynamic Pages run on servers that use an NT-based operating system that is 100% compatible with ASP functionality. ASP functionality is a standard part of a Microsoft NT system. Recently, other companies have adopted the ASP functionality, but not all. In some cases, you may find ASP functionality running on a UNIX server, such as Solaris from SUN, Netscape and others. Check with your Web-hosting service provider, and verify that the server that will be hosting your Web site either is an NT-system with ASP functionality or is a Non-NT system with currently running ASP modules. Chapter 12. Summary Dynamic Page Actions and Icons A Dynamic Page is composed of actions that you specify using the Dynamic Page Manager. Every time you insert an action into the Dynamic Page action listing, an action icon appears in the Dynamic Page Manager window. You manage the dynamic page actions by clicking the action icons and altering the action specifications. The action icons displayed in the Dynamic Page Manager window are not visible to a Web site visitor. They are presented for development purposes only. Once your site is generated, the actions that you specify are compiled into ASP script. This ASP script is created by WebShop. Your action listing is organized in a hierarchical fashion. The ASP scripting generated by WebShop is compiled from the top down, with subordinate actions generating subordinate ASP script from left to right. Note: The actions you specify for your Dynamic Page are executed only when the Dynamic Page is opened by a visitor to your Web site. One of the hallmarks of an ASP page is that temporary values are created during the operation of the Dynamic Page. These temporary values can come from many sources. They can come from the Web server, if the action that obtains the data is defined as a Query. They can come from the visitor’s PC, if the defined action is a Request. They can also be internally generated by the Dynamic Page itself. Keep in mind, however, that these temporary values are just that— temporary. All of your Dynamic Page values will return to their initial settings once the Web site visitor leaves the page. The only values that are permanent are the ones uploaded to your server after generating the Dynamic Page or the ones that you write out to the server database. This concept is important particularly when creating visitor IDs or record IDs. The following actions can be executed from a Dynamic Page. Each action has a separate icon that indicates the action performed. Actions and Descriptions Query. This action queries a database and returns a result, or executes a database operation on a selected record. The four Query operations are Select, Insert, Delete, or Update. To establish database connectivity, you must add the RecordSet operation into a Query operation before specifying the type of operation to be performed. • When to Use. Use this action to obtain information from the server database; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. There are four query operations: Delete, Insert, Select, and Update. Use the Criteria tab to limit the execution of the query to specific conditions. The Criteria tab is available with Delete, Select and Update queries. When reporting Query Results back to a Web site visitor using a Feedback Section, insert a RecordSet action after the Query action and before the Feedback Section action. Send Mail. This action issues email to one or more email addresses. Specify From, To, Cc, or 12–2 ◆ ◆ ◆ Dynamic Pages Chapter 12. Summary Subject. Also, specify an SMTP server address as necessary. In the body of the email to be sent, you can design a Plain Page fragment that can include images, tables, or dynamic elements. · When to Use. Use this action to send email notification over the Internet; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. Feedback Section. This action displays feedback using a Plain Page. It is called a feedback “section,” because the final page displayed by the browser, which is seen by the user, can be composed of several Feedback Sections. Only one browser page will be generated for the viewer; however, the content of that browser page can be generated in a highly dynamic manner, depending upon the actions specified. Your placement of Feedback Sections in the action hierarchy is critical. The general rules are: 1. When placed immediately below the root icon, every viewer who opens the ASP page will see this Feedback Section. 2. When placed within an initiating action, the Feedback Section will only be generated if the initiating action is performed. 3. When placed within a RecordSet action, a Feedback Section display will be generated every recurrence of the RecordSet action. 4. When placed within a Query action, the Feedback Section display will be generated for every occurrence of feedback group as specified by the Query Feedback tab. 5. When placed below a Query action but at the next highest hierarchy level (just outside the query action “set”), the Feedback Section will be added to any Feedback Section displays generated by the Query action. It is important to keep in mind that Feedback Section displays are cumulative. This means that the browser page that a viewer sees is built cumulatively by adding Feedback Sections as the Server processes the action listing from top to bottom. Note: The only exception to the server’s top to bottom accumulation of Feedback Sections is the Query Feedback Group. This feedback display is generated, but not displayed until the viewer clicks the Previous or Next buttons. • When to Use. Use this action to display information to the Web site visitor; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. When used to report Query Results to a site visitor, insert a RecordSet action after the Query action and before the Feedback Section. When inserting Dynamic text, the Dynamic elements must be defined as a parameter, variable, or query output element using either the Property Sheet for the Dynamic Page or the Query Properties dialog boxes prior to being inserted into a Feedback Section. If used with a Condition action, the Feedback Section will only display if the initiating “OK” or “NO” action is performed. Request. This action establishes the value for a Dynamic Page variable by obtaining data from: (1) a form, which is completed by the user during the current session, User Guide ◆ ◆ ◆ 12–3 Chapter 12. Summary (2) a query string, which is an ASP-generated dynamic value, (3) a cookie, which is a generated value that is stored on the user’s computer and identifies the user, (4) client certificate, which is a server value that enables the transmission of secure communication, (5) a server variable, which is a temporary (or permanent) value stored on the server, (6) an application element, which is a value that references a .DLL file or some other application element, or (7) a session element, which is a server value that references the current session’s status. This action is used whenever you wish to request information for subsequent ASP processing. • When to Use. Use this action to retrieve and store data in a Dynamic Page; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. Variables used to initiate and store the requested data must be defined using the Property Sheet for the Dynamic Page dialog box prior to specifying the Request action. Redirect to. This action Redirects the viewer to a different URL address or HTML page within the site. A redirect action can be specified using a parameter, or by specifying the URL location directly. • When to Use. Use this action to retrieve and store data in a Dynamic Page; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. Variables used to initiate and store the requested data must be defined prior to specifying the Request actions. Condition. This action Establishes two processing alternatives based upon a true or false condition. Condition statements can be nested within each other to provide multiple processing alternatives. Each processing result must be separately specified. Each condition statement is composed of three parts: If-Then-Else. Use this action to make branching evaluations. • When to Use. Use this action to define two processing alternatives based upon a true or false condition; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. The processing alternatives specified by a condition statement are only executed when (and if) the initiating condition is evaluated; the resulting actions are subordinate to the initiating action. If a subordinating action statement (either “OK” or “NO”) is left unspecified, then the next initiating action is performed. If you wish to make multiple evaluations that specify actions for only true (or false) conditions, you can “nest” Condition actions within one another. The last subordinated action statement in the “nested” series, if left unspecified, causes the next initiating action to be performed. This enables you to chain together “one-sided” condition statements if you choose. Statement. This action sets (or resets) a variable, value, parameter, query output parameter, or cookie value as necessary. Use this action to direct the processing of a Dynamic Page by assigning values directly. • When to Use. Use this action to assign a value to a variable while a Dynamic Page is 12–4 ◆ ◆ ◆ Dynamic Pages Chapter 12. Summary completing its processing; no specific conditions or restrictions apply. This action can be inserted into a Dynamic Page at any point. To assign a value, you must specify an operation that will construct the variable’s new value, given its current value. Cookie. Writes a small text file to the user’s hard disk so that he/she can be identified later. This small text file (or cookie) can be retrieved by the server and matched to a cookie record. Use this action to create a unique identifier for visitors to your Web site. • When to Use. Use this action to assign a value to a variable and then write that value to the visitor’s PC. To assign a value, you must specify both the Cookie Key that will store the temporary value and the Variable that contains the value that you wish to write onto the visitor’s PC. No specific conditions or restrictions apply. This action cannot be inserted if a Feedback Section has already inserted. The Cookie action must be performed prior to the display of a Feedback Section. RecordSet. This action establishes database connectivity so that query results can be displayed to a Web site visitor. To initiate this operation, you must first add a Query action and then add a RecordSet action into the Query. The Query action opens the database and accesses current values, whereas the RecordSet action allows you to manipulate the values. • When to Use. Use this action to establish database connectivity so that query results can be displayed to a Web site visitor; no specific conditions or restrictions apply. This action can only be inserted once the initiating Query action has specified which database will be queried. Lock. This action initiates a script that prevents sessions/threads from executing on the server. An Internet information server executes separate applications with various threads (or “sessions”). These sessions are initiated on behalf of each user visiting the site at the same time. Every user adds an additional session/thread to total number of opened session/threads running concurrently. The Lock action prevents the server from initiating any new session/threads and prevents the existing session/thread from corrupting server database that while the user who initiates the Lock action completes maintenance on the database. • When to Use. Use this action to lock the database while database maintenance is performed from a Dynamic Page. This is a specialized action. When executed by the Web-server, this command prevents database access from any Web page except currently-running Dynamic Page. Other Internet users will be locked out of the Web site for however long the Lock action is in effect. This action should only be initiated for a specifically designed page that enables the database administrator to perform database maintenance. When completed, the Unlock command releases the database for use by other users. Unlock. This action initiates a script that allows sessions/threads to executing on the server. Unlock enables multiple session/threads to execute concurrently with the initiating session/ thread. • When to Use. Use this action to unlock the database after database maintenance has been performed from a Dynamic Page currently open in the Server. This is a specialized action. When executed by the Web-server, this command re-enables database access for use by other users. User Guide ◆ ◆ ◆ 12–5 Index A Actions and Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5 add a Cookie Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 add a parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Add a submit button . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-4 add a variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-4 add additional actions . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Add data entries to an open data . . . . . . . . . . . . . . . . . 8-4 add the first action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Advanced Web Operations dialog box . . . . . . . . . . . . 6-1 assign a default value to a listed parameter . . . . . . . . . 2-3 Assign a variable a value . . . . . . . . . . . . . . . . . . . . . . . 10-5 assign an Embedded Query Element to a link . . . . . 3-24 assign Embedded Query Elements to a Combo Box 3-22 assign Embedded Query Elements to an Image . . . . 3-23 Assign “var_name” a value . . . . . . . . . . . . . . . . . . . . . 10-5 Assigning or Inserting Embedded Query Elements . . . . 321, 6-8 C change the query element display format . . . . . 3-16, 4-5 change the query element name . . . . . . . . . . . . . . . . . . 4-5 change the query element name and display format 3-16 change the query type or the query database . . . . . . . 3-2 Choose Data Source for New Query . . . . . . . . . . . . . . 3-2 Combo Box Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22 Condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6, 5-6 Constructing Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-8 Cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 Cookie Attributes Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3, 11-1 Expiration Date . . . . . . . . . . . . . . . . . . . . . . . . 2-3, 11-1 Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3, 11-1 Secure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3, 11-1 Cookie Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Create a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 Create a Link to a Download Form . . . . . . . . . . . . . . 10-3 create a mouse-over effect . . . . . . . . . . . . . . . . . . . . . 6-12 Creating a Double-Image Effect . . . . . . . . . . . . . . . . 6-12 Creating a Dynamic Page . . . . . . . . 7-3, 8-2, 9-3, 10-4 Creating a Dynamic Page with Send Mail . . . . . . . . . . 7-4 Creating a Error Page . . . . . . . . . . . . . . . . . . . . . . . . . 11-4 Creating a Feedback Page . . . . . . . 7-6, 8-7, 10-6, 11-5 Creating a Field Validation Test . . . . . . . . 7-5, 8-6, 11-3 Creating a Form . . . . . . . . . . . . . . . 7-3, 8-3, 9-12, 11-2 Creating a RecordSet . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-6 Creating a Send Mail function . . . . . . . . . . . . . . . . . . . 7-6 Creating a Slide Show Effect . . . . . . . . . . . . . . . . . . . 6-14 Creating a Success Page . . . . . . . . . . . . . . . . . . . . . 7-6, 8-8 Creating an Error Page . . . . . . . . . . . . . . . . . . . . . 7-6, 8-7 Creating Branches off the Root Action . . . . . . . . . . . . 2-4 Frequent Uses and Associated Conditions or Restric 2-6 General Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 General Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-5 Creating Dynamic Page Elements . . . . . . . . . . . . . . . . 8-5 Creating Dynamic Text . . . . . . . . . . . . . . . . . . . . . . . . . 7-7 Creating Emails for a Visitor . . . . . . . . . . . . . . . . . . . . 10-6 Creating Emails for the Webmaster . . . . . . . . . . . . . . 10-6 Creating Navigation Links . . . . . . . . . . . . . . . . . . . . . . 9-9 Creating navigation links for a results page . . . . . . . . 9-8 Creating the Cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-3 Criteria Tab Operations . . . . . . . . . . . . . . . . . . . . . . . . . 3-4 D define a parameter assign it a query value . . . . . . . . . 9-4 Defining Parameters for a Dynamic Page . . . . . . 8-5, 9-4 Defining Parameters on a Dynamic Page . . . . . . . . . . 7-4 Defining Variables for a Dynamic Page . . . . . . . . . . . 8-5 Defining Variables on a Dynamic Page . . . . . . . . . . . . 7-5 Delete Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3, 3-9 Dialog Boxes by Action Type . . . . . . . . . . . . . . . . . . . . 2-8 display query results . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15 display query results on a Feedback Section . . . . . . . 4-5 Download Redirects . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Dynamic Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Dynamic HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Dynamic HTML Tab . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12 Dynamic Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Dynamic Object Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Dynamic Page menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4 Dynamic Page window . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 Dynamic Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-4 Dynamic Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . 6-4 E Embedded Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19 Entering Criteria Operations and Conditions . . . . . . . 3-6 Extra HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 Extra HTML Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1 F Feedback Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Figure 1.1 – Dynamic Page Window for a Single Dyna 13 Figure 1.2 – FrameSet Page Window with Multiple Dy 15 Figure 1.3 – Accessing Dynamic Page Operations . . 1-5 Figure 1.4 – Dynamic Page Icons . . . . . . . . . . . . . . . . 1-5 Figure 1.5 – Dynamic Elements Dialog Box . . . . . . . 1-7 Figure 2.1 – Property Sheet for Dynamic Page Dialo 2-3 Figure 2.2 – Property Sheet for Dynamic Page Dialo 2-2 Figure 2.3 – Property Sheet for Dynamic Page Dialo 2-2 Figure 2.4 – Three Branch Example (Before Delete) 2-5 Figure 2.5 – Three Branch Example (After Delete) . 2-5 Figure 3.1 – Choose Data Source for New Query Dial 3-2 Figure 3.10 – Add Condition Dialog Box . . . . . . . . . 3-11 Figure 3.11 – Query Properties Dialog Box(Update T . 311 Figure 3.12 – Query Properties Dialog Box(Criteria 3-13 Figure 3.13 – Query Properties Dialog Box(SelectTa 3-13 Figure 3.14 – Query Properties Dialog Box(Order Ta3-15 Figure 3.15 – Query Properties Dialog Box(Criteria 3-15 Figure 3.16 – Query Properties Dialog Box(Feedback . 317 Figure 3.17 – DynamicText Properties Dialog Box . 3-16 Index Figure 3.18 – Updating the Dynamic Element Caption 317 Figure 3.19 – Action Listing for Dynamic Navigatio 3-19 Figure 3.2 – Query Properties Dialog Box(Select Ta 3-3 Figure 3.20 – Modify/Query Dialog Box . . . . . . . . . 3-21 Figure 3.21 – Dynamic Elements Dialog Box . . . . . 3-21 Figure 3.22 – QueryWizard Menu Selection . . . . . . 3-20 Figure 3.3 – Query Properties Dialog Box(Criteria . . 3-5 Figure 3.4 –Choose Logic Operation Dialog Box (Use 3-5 Figure 3.5 – Add Condition Dialog Box . . . . . . . . . . . 3-5 Figure 3.6 – Query Properties Dialog Box(Insert Ta . 3-9 Figure 3.7 – Set Value Dialog Box . . . . . . . . . . . . . . . . 3-9 Figure 3.8 – Query Properties Dialog Box(Delete Ta 3-8 Figure 3.9 –Choose Logic Operation Dialog Box (Use 3-9 Figure 4.1 – Three Branch Example (Before Delete) 4-3 Figure 4.2 – Three Branch Example (After Delete) . 4-3 Figure 4.3 – DynamicText Properties Dialog Box . . . 4-5 Figure 4.3 – Query Properties Dialog Box(Feedback 4-5 Figure 4.4 – Updating the Dynamic Element Caption 4-5 Figure 4.5 – Image Attributes Dialog Box . . . . . . . . . 4-7 Figure 4.6 – Link Dialog Box . . . . . . . . . . . . . . . . . . . 4-7 Figure 4.7 – Modify Dialog Box . . . . . . . . . . . . . . . . . 4-7 Figure 5.1 – Send Mail Dialog Box . . . . . . . . . . . . . . . 5-3 Figure 5.2 – Request From User Dialog Box . . . . . . . 5-3 Figure 5.3 – Property Sheet for Redirect Action Di . . 5-5 Figure 5.4 – Set Condition Dialog Box . . . . . . . . . . . 5-9 Figure 5.5 – Set Variable To Dialog Box . . . . . . . . . . . 5-7 Figure 5.6 – Set Condition Dialog Box . . . . . . . . . . 5-11 Figure 6.1 – Dynamic Page Icons . . . . . . . . . . . . . . . . 7-3 Figure 7.1 – Dynamic Page Icons . . . . . . . . . . . . . . . . 8-3 Figure 8.1 – Dynamic Page Icons . . . . . . . . . . . . . . . . 9-3 Figure 8.10 – Dynamic Page Window with Dynamic Pag 9-7 Figure 8.11 – Set Condition Dialog Box . . . . . . . . . . . 9-9 Figure 8.12 – Dynamic Elements Dialog . . . . . . . . . . 9-9 Figure 8.13 – Link Dialog Box . . . . . . . . . . . . . . . . . . 9-9 Figure 8.14 – Image Attributes Dialog Box . . . . . . . 9-11 Figure 8.15 – Modify Dialog Box . . . . . . . . . . . . . . . 9-11 Figure 8.2 – Properties Dialog BoxDatabase Structu 9-3 Figure 8.3 – Dynamic Page Window in Page Editor . 9-3 Figure 8.4 – Property Sheet for Dynamic Page Dialo 9-5 Figure 8.5 – Dynamic Elements Dialog Box . . . . . . . 9-5 Figure 8.6 – Query Properties Dialog Box . . . . . . . . . 9-5 Figure 8.7 – Query Properties Dialog Box . . . . . . . . . 9-5 Figure 8.8 – Add Condition Dialog Box . . . . . . . . . . . 9-7 Figure 8.9 – Dynamic Elements Dialog . . . . . . . . . . . 9-7 Figure 9.1 – Property Sheet for Redirect Action . . . 10-3 Figure 9.2 – Combo Box Properties . . . . . . . . . . . . . 10-3 Figure 9.3 – Item Properties for Prod1 . . . . . . . . . . . 10-5 Figure 9.4 – Set Condition Dialog Box . . . . . . . . . . . 10-5 Figure 9.5 – Set Variable To Dialog Box . . . . . . . . . . 10-5 Figure 9.6 – Dynamic Elements Dialog Box . . . . . . 10-7 Figure 9.7 – Send Mail Property Dialog Box for Web 107 FrameSet Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3 I G Script Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 Script Mapping Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-2 select a display order . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 Select Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-4, 3-12 select the table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13 select the table and assign field values . . . . . . . . 3-8, 3-11 select the table associated with the record(s) . . . . . . . . 3-9 Send Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6, 5-1 Send Mail folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-1 general rules governing Feedback Section . . . . . . . . . 4-2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1 H High_Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 1–2 ◆ ◆ ◆ Image Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23 import a parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3 Importing a Database into a Project . . . . . . . . . . . 8-4, 9-2 Initiating and Terminating Actions . . . . . . . . . . . . . . . . 4-1 input parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 insert a graphic navigation control . . . . . . . . . . . . . . . 4-7 insert a text-only navigation control . . . . . . . . . . . . . . 4-6 insert an Embedded Query Element into a Table . . . 3-24 insert Navigation controls into a Feedback Section . . 4-6 Insert Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3, 3-8 Inserting a Query Action . . . . . . . . . . . . . . . . . . . . . . . . 3-1 Inserting Additional Criteria Operations . . . . . . . . . . . 3-6 L Link a form to a dynamic page . . . . . . . . . . . . . . . . . . 8-4 Linked Objects that Carry a Linked Parameter . . . . 3-24 Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7, 5-11 Low_Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18 M Modify/Query Dialog Box . . . . . . . . . . . . . . . . . . . . . 3-20 N Navigation Buttons for Custom Query Feedback . . 3-17 Navigation_Backward . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 Navigation_Forward . . . . . . . . . . . . . . . . . . . . . . . . . . 3-17 No Result on Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-8 P Page Redirects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-1 Processing branches and sub-branches . . . . . . . . . . . . 4-2 Property Sheet for Dynamic Page . . . . . . . . . . . . . . . . 2-1 Property Sheet for Redirect Action . . . . . . . . . . . . . . . 5-4 Q Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6 Query Properties Dialog Box . . . . . . . . . . . . . . . . . . . . 3-3 Query#. Forward_Navigation . . . . . . . . . . . . . . . . . . . . 4-6 R Reading Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5 RecordSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7 Redirect to . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6, 5-4 Redirecting a page to another page . . . . . . . . . . . . . . 10-2 Remove data entries from an open data . . . . . . . . . . . 8-4 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6, 5-2 Request From User Dialog Box . . . . . . . . . . . . . . . . . . 5-3 Requesting Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-5 Requesting Information from the Server . . . . . . . . . 11-6 resize a FrameSet window . . . . . . . . . . . . . . . . . . . . . . . 1-3 resize the Dynamic Page Manager window . . . . . . . . 1-3 S Dynamic Pages Index Set Condition Dialog Box . . . . . . . . . . . . . . . . . . . . . . . 5-7 set up an IF/ELSE condition . . . . . . . . . . . . . . . . . . . . . 9-9 set up your Dynamic Page properties . . . . . . . . . . . . . 2-1 Set Variable To Dialog Box . . . . . . . . . . . . . . . . . . . . . . 5-8 Setting Up A Backwards Link . . . . . . . . . . . . . . . . . . . 9-12 Setting Up a Feedback Header . . . . . . . . . . . . . . . . . . . 9-4 Setting Up a Forward Link . . . . . . . . . . . . . . . . . . . . . 9-10 Setting Up a Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-5 Setting up an OR query function . . . . . . . . . . . . . . . . . 9-6 Setting Up Forward and Backward Links . . . . . . . . . 9-10 Setting up Navigation Controls . . . . . . . . . . . . . . . . . . 4-6 Setting Up the SendMail Function . . . . . . . . . . . . . . . . 7-6 specify (or modify) the properties of any action . . . . 2-8 specify a Condition action . . . . . . . . . . . . . . . . . . . . . . . 5-8 specify a database and select a query type . . . . . . . . . 3-2 Specify a Feedback Action and Its Text Display . . . . 4-3 specify a Feedback Section action . . . . . . . . . . . . . . . . 4-3 specify a local redirect . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5 specify a new Delete Query . . . . . . . . . . . . . . . . . . . . . 3-9 specify a new Insert query . . . . . . . . . . . . . . . . . . . . . . 3-8 specify a new Query . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1 specify a new Select query . . . . . . . . . . . . . . . . . . . . . 3-12 specify a Request action . . . . . . . . . . . . . . . . . . . . . . . . 5-3 specify a Send Mail action . . . . . . . . . . . . . . . . . . . . . . 5-1 specify a Statement action . . . . . . . . . . . . . . . . . . . . . . . 5-9 specify an external redirect . . . . . . . . . . . . . . . . . . . . . . 5-5 specify an Update query . . . . . . . . . . . . . . . . . . . . . . . 3-10 specify Cookie Key attributes . . . . . . . . . . . . . . . . . . . . 2-4 specify how many records to appear . . . . . . . . . . . . . 3-15 specify how many records will appear . . . . . . . . . . . . 4-4 specify the criteria . . . . . . . . . . . . . . . . . . 3-9, 3-11, 3-14 specify the email text . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2 User Guide specify the fields to select . . . . . . . . . . . . . . . . . . . . . . 3-13 specify the text to be displayed . . . . . . . . . . . . . . . . . . 4-3 Specifying a Condition Action . . . . . . . . . . . . . . . . . . . 5-6 Specifying a Query Action . . . . . . . . . . . . . . . . . . . . . . 3-1 Specifying a Redirect to Action . . . . . . . . . . . . . . . . . . 5-4 Specifying a Request Action . . . . . . . . . . . . . . . . . . . . . 5-2 Specifying a Send Mail Action . . . . . . . . . . . . . . . . . . . 5-1 Specifying a Statement Action . . . . . . . . . . . . . . . . . . . 5-8 Specifying a Write Cookie Action . . . . . . . . . . . . . . . 5-10 Specifying ASP Operations . . . . . . . . . . . . . . . . . . . . . . 2-8 Specifying Other Dynamic Actions . . . . . . . . . . . . . . . 5-1 Specifying the Appearance of a Dynamic Element . . . . 317, 4-4 Specifying the Lock or Unlock Actions . . . . . . . . . . 5-11 Specifying Your Dynamic Page Actions . . . . . . . . . . . 2-4 Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6, 5-8 U Unlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7, 5-11 Update Query . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3, 3-10 Updating Your Database Using Dynamic Pages . . . . . 8-2 Using a Feedback Section to Display Query Results . 4-4 V variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2 View data entries for an open data . . . . . . . . . . . . . . . . 8-4 W Working with the Query Function . . . . . . . . . . . . . . . . 9-4 Write Cookie Dialog Box . . . . . . . . . . . . . . . . . . . . . . 5-10 Writing the Cookie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-4 Writing to a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-6 ◆ ◆ ◆ 1–3 Other Products and Services from Boomerang Software You may purchase new products or the upgrades for your existing product. Visit http://www.boomerangsoftware.com/ for pricing and more details, or email [email protected]. You may also visit your favorite retail store. Some products are sold direct. CORPORATE PRODUCTS Web-Development Line eXtendia (Web-Application Builder): Your complete Web application development solution. Includes: database layer management, visual ASP / JSP generator, complete web-authoring features, latest HTML support, script wizards, E-Commerce templates with integrated gateway processing and more. Supports Oracle, MS SQL, My SQL Access and other databases. eXtendia Community Builder: Includes eXtendia plus the complete online community designer. Enables you to build and launch online communities within days. Includes: administration and member provisions, bulletin boards, announcements, gateway E-Commerce back end, and other online community options. Security Line eXtendia AntiVirus Client / Server: The leading antivirus solution now comes in a Client/Server version! Let Boomerang Software provide you with advanced data protection complete with double-engine background scanning for the ultimate in antivirus protection. This solution provides your organization with the highest level of virus protection and a very easy implementation rollout. Secure Shuttle Transport Enterprise (Client/Server Solution): The leading encryption and Instant Messaging software. Send encrypted instant messages, Encrypted email attachments, file transfers, voice messages, and real-time voice conversations over the Internet, securely and privately. Includes Voice over IP, Encrypted FTP, and everything needed to secure an entire company’s network and PCs. Other Products & Services from Boomerang Software Data Safe & Secure: The leading file encryption solution using digital certificates for all kinds of files stored on individual or network storage devices. This solution enables you to work on a network with encrypted files without having to decrypt them first. This enterprise level client/server solution has one of the industry’s fastest encryption engines. Perfect for corporate users who want to protect confidential data from prying eyes. CONSUMER PRODUCTS Web-Development Line WebShop Platinum: The complete tool for the serious Web or E-Commerce site developers. Includes every software tool you need to successfully sell on the Internet, including selected Web page uploads, page-hit statistics, XML compliancy, built-in form verifications, visual ASP, Script Wizards, Site Manager, order processing, order verification by email, and more. Create stunning Web sites and successfully conduct your business online using a seamlessly integrated shopping cart. One of the most complete and affordable ECommerce and Web authoring solutions ever created! WebShop XL International: The same as WebShop XL plus special provisions to conduct business internationally in over 160 different currencies, different taxation options and more. Includes online merchant account application for settling accounts with foreign banks. Ideal for all merchants conducting business outside the US. E-Commerce Creation Kit: The E-Commerce tool for everyone. Building an online business is easy once you have the right tools. Everything you need to create an online business is included, ready-to-use store templates, powerful shopping cart creator, and online new merchant account applications. WebPage Designer GOLD: A comprehensive Web site creation, management, and publishing program for windows (no E-Commerce functions built-in). Intended for serious Web designers. Supports dynamic HTML, selected Web page uploads, page-hit statistics, XML compliancy, built-in form verifications, visual ASP, Script Wizards, Site Manager, and more. Web Page Creation Kit: The easy and complete Web design and publishing program for everyone (no E-Commerce functions built-in). Includes: wizards, templates, style sheets, latest Web site HTML features, drag-n-drop tools for easy editing. Total E-Commerce for FrontPage 2000 & 2002: The leading complete E-Commerce solution for FrontPage 2000 & FrontPage 2002. Integrates perfectly with FrontPage. Includes a powerful shopping cart, search engine, online new merchant account applications, online store administration, Access database support, order processing, order verification by email, and more. 4–2 Other Products & Services from Boomerang Software Total E-Commerce for FrontPage 2000 & 2002 International: The International of Total E-Commerce. You can conduct business internationally in over 160 different currencies. Includes online merchant account applications and settlement in foreign bank accounts. Total E-Commerce for Dreamweaver MX: The leading complete E-Commerce solution for Dreamweaver UltraDev or MX. Integrates perfectly with Dreamweaver. Includes a powerful shopping cart, search engine, Online new merchant account applications, Online Store Administration, Access database support, orders processing and verification emails, and more. Digital Photo Album: The all-in-one Internet photo album and photo storage solution. Use this to set up Web sites that will show your family and friends all the pictures that you want! Easy to use. Every digital album Web site can be uploaded FREE to dedicated Web servers. Real-Album style animated pages that turn, over 20 styles of graphic photo albums to choose from. Create links to auction sites like e-Bay to display your auction items and more. Perfect for Scanners and Digital Camera users. Security Line eXtendia AntiVirus: The most up-to-date software technology currently available on the market for combating viruses. Maximize your system protection against new viruses before they have a chance to infect your system. Now with DoubleScan technology! Using the technology, this solution will protect your computer network against computer viruses that are transmitted by email, FTP, or other shared files. This product combines over fifteen years of experience in the field of virus development with the most up-to-date software technology. eXtendia PC Safe & Secure: Your complete encryption and security program for files, emails, and any document you want to send over the Net. Excellent protection for desktop or notebook PCs. Encrypts and protects your data from prying eyes even when hackers get through a firewall. Send files and documents that only your intended recipients can read. Includes: file wipe out to make data unrecoverable, DES and triple DES encryption, Digital Certificates, and much more. Perfect for Corporate users who want to protect confidential data. Excellent for home users who use DSL, modems, and cable modems when going online. eXtendia PC Security Tools: eXtendia PC Firewall: Data file security is vital whenever you are connected to the Internet. Individuals need a simple, yet affordable, solution for ensuring that important hard drive files are protected from Internet vandals. 4–3 Other Products & Services from Boomerang Software eXtendia PC Ad Blocker: While on the Internet, you can be bombarded with unwanted advertisements that randomly “pop-up” during your Internet Session. To prevent this, you need an Ad blocker that stops the advertisements before they appear. eXtendia PC Cleanser: In today’s Internet era, your hard drive can easily be choked with unwanted files that you downloaded or received without your full awareness. These files are sometimes stored in places that you never intended. Individuals need a way to clean excess files from their hard drives and free up additional space. Pocket PC Line President’s Club Contact Manager and Wallet for Pocket PC: A Pocket PC application for storing personal information such as credit cards, bank accounts, and money accounts; the program features easy data retrieval, flexible financial data charting, easyto-use contact storage and a special feature that enabling you to create your own Pocket PC photo albums! President’s Club Business Graphics for Pocket PC: A Pocket PC application for charting personal and business financial information. Enables you to make 2D and 3D charts that can visually represent data comparisons, patterns, and trends. For example, rather than analyze several columns of worksheet data, create one data chart that will indicate at a glance whether sales are falling or rising over specific periods or how the actual sales compare to the projected sales! Games for Pocket PC and Windows CE Devices: Square Shooter, Trick Track, Twins and 5x5x5. Additional Customer Services Electronic Downloads: Many products can be purchased as program downloads from our Web site. You can also purchase from this Web site additional documentation (in printed or downloadable form). Click the Download link on the home page at http:// www.boomerangsoftware.com/. Web Hosting Services: Let us host your Web or E-Commerce site. All Boomerang servers are specifically configured to host any Web site developed using our Web and ECommerce products. Dedicated servers are available for hosting E-Commerce businesses. Several hosting plans are available. For details, visit https://www.BoomerangSoftware.com/ webhosting/webhosting.htm. Other Consulting Services: For NT/Windows 2000 environments, consulting services for Internet or enterprise application development are also available. 4–4