Developing Ajax Applications using EWD and Python. Tutorial: Part 2

Size: px
Start display at page:

Download "Developing Ajax Applications using EWD and Python. Tutorial: Part 2"

Transcription

1 Developing Ajax Applications using EWD and Python Tutorial: Part 2 Chapter 1: A Logon Form Introduction This second part of our tutorial on developing Ajax applications using EWD and Python will carry on from where the first part left off. If you haven't read part one, you should do so first before attempting this part of the tutorial, as it will assume you already understand the key EWD concepts that were introduced in part 1. A Simple Ajax Login Form Many EWD applications are secure ones where users must identify themselves by logging on, so this part of the tutorial focuses on building a simple logon form using EWD's Ajax techniques. This will introduce several important EWD concepts, in particular how data is passed from the browser to the Python back-end where it can be validated, and how EWD's Session is automatically linked to HTML forms. We'll start by first designing a Container Page for this exercise. As you'll discover, a Container Page can be an almost empty shell that gets progressively built up over time into as complex a page as you like. Create a file named logondemo.ewd containing the following text and save it in the tutorial directory: <ewd:config isfirstpage="true"> <html> <head> <title>ewd Python Tutorial: Logon Demo</title> <script language="javascript"> PYDEMO = {} ; PYDEMO.getLogonForm = function(){ ewd.ajaxrequest("logonform","content"); }; </script> </head> <body onload="pydemo.getlogonform()"> <div id="header"> <h3>ewd Python Tutorial: Logon Demo</h3> </div> <div id="content" /> </body> </html> 1

2 Now create a file named logonform.ewd containing the following text and again save it in the tutorial directory: <ewd:config isfirstpage="false" pagetype="ajax"> <div> <form method="post" action="ewd"> <table border="0"> <tr> <td>username: </td> <td> <input type="text" name="username" value="*" /> </td> </tr> <tr> <td>password: </td> <td> <input type="password" name="password" /> </td> </tr> <tr> <td colspan="2"> <input type="submit" name="submit" value="logon" ajax="true" action="py:tutorial.testlogon" nextpage="loggedon" targetid="content"/> </td> </tr> </table> </form> </div> Finally create a file named loggedon.ewd containing the following text and again save it in the tutorial directory: <ewd:config isfirstpage="false" pagetype="ajax"> <div> Welcome <?= #username?>! You have successfully logged on. </div> Now compile these pages. For example, using the GT.M shell: ewd@mdb:/$ cd /usr/local/gtm/ewd ewd@mdb:/usr/local/gtm/ewd$ $gtm GTM>d compileall^%zewdapi("tutorial") /usr/ewdapps/tutorial/ewdajaxerror.ewd /usr/ewdapps/tutorial/ewdajaxerrorredirect.ewd /usr/ewdapps/tutorial/ewderrorredirect.ewd /usr/ewdapps/tutorial/loggedon.ewd /usr/ewdapps/tutorial/logondemo.ewd /usr/ewdapps/tutorial/logonform.ewd GTM> 2

3 Next we'll add a Python function to the tutorial.py module that we created in Part 1: def testlogon(sessid): username = ewd.getsessionvalue("username",sessid) password = ewd.getsessionvalue("password",sessid) if username <> "demouser": return "Invalid username" if password <> "secret": return "Invalid password" return "" Remember, this module should be saved in the /usr/local/gtm/ewd directory and should have the following line at the top: import ewd OK we should now be ready to try out this application using the URL: where [ipaddress] is the IP address or domain name allocated to your M/DB Appliance. You should see the logon form in the browser: Try clicking the Logon button without entering anything in the Username and Password fields. You should get an alert: 3

4 Click OK on the alert window and now enter the correct username (demouser) and click the Logon button (ie leaving the password blank). You should get a different alert: Finally put in the correct password (secret) into the Password field and click the Logon button and you should see the following: The form has disappeared and had been replaced by a greeting showing the username. Let's now take a look in more detail at how this worked. 4

5 Chapter 2: Anatomy of the Logon Example EWD URLs First let's take a look at that URL that we used to run the application: In order to start any EWD application, you use a URL with the following structure: The application name is the same as the name of the directory in which the EWD pages reside, in this case tutorial. You can have as many EWD applications as you want, and each one is represented by a subdirectory of what is termed the Application Root Directory. In the M/DB Appliance, the Application Root Directory is pre-defined for you as /usr/ewdapps. The page name must be the name of an EWD page that is defined in its <ewd:config> tag as a FirstPage. Only FirstPages can be accessed by an untokenised URL, and when invoked, a new EWD session will start. The Container Page We asked to start the tutorial application using the logondemo page which is the Container page for this application. As such it's a complete HTML page with an <html>, <head> and <body> tag. If you look at the source EWD logondemo.ewd page, you'll see a number of features: in the <body> section there are two <div> placeholder tags with id's of header and content respectively. The header div contains a bold text title, but the content div is empty. The <body> tag includes an onload event handler. This will fire when this Container Page is fully loaded into the browser The onload event handler is described in the <script> tag in the <head> section. Throughout this tutorial I'll be defining event handlers and other Javascript function as methods belonging to a Javascript object named PYDEMO. This is recommended practice as it ensures that your Javascript functions are uniquely namespaced and are unlikely to clash with any other third-party ones that you might use. At the top of the <script> tag is the declaration that instantiates PYDEMO as a new, empty object: PYDEMO = {} ; Once instantiated, we can add methods and properties to this object whenever we want. The onload Event Handler PYDEMO.getLogonForm() makes an asynchronous request via the browser's XMLHttpRequest object (XHR) to fetch a fragment named logonform that 5

6 will be targetted into the tag whose id is content. So, when this Container Page is loaded into the browser, it immediately fetches the fragment containing the logon form and it appears inside the content div. If you look at the browser's URL location field, it is still pointing at the one we used to fetch the Container page. As far as the browser is concerned, the page in the browser is still the same one it started with, but its contents have been dynamically changed by EWD's Ajax functionality. The Logon Form Fragment Now let's look at the Fragment that contains our logon form: logonform.ewd, in particular the following features: apart from the <ewd:config> tag, the entire fragment contents are wrapped in a single outer <div> tag. A fragment's contents should always be contained within a single outer tag. <div> or <span> tags are good benign ones to use. In our example, we could have actually used the <form>..</form> tag as the outer wrapper. The <form> tag has two attributes: method= post and action= ewd. You should always include these two attributes. The action attribute tells EWD's compiler to process the form contents and apply its built-in form automation functionality. The Username <input> tag includes a special value of *. The purpose of this will described later. The two <input> tags in our form each have a name attribute. Each form element in an EWD form must have either a name or id attribute. It is not recommended that you define both an id and a name: just define one or the other. EWD's compiler will add the missing one using the value you defined for the other. So EWD will automatically add an id attribute to our two <input> tags with a value of username and attribute respectively. The submit button includes several special EWD-specific attributes: ajax= true tells the compiler to process the submission of this form through the XHR and return a fragment rather than swapping the Container Page out action= py:tutorial.testlogon instructs EWD to invoke the named Action Script, in this case a Python function testlogon() from the tutorial.py module, when the submit button is clicked. nextpage= loggedon instructs EWD to fetch the fragment named loggedon.ewd if the Action Script above completes without error targetid= content instructs EWD to replace the innerhtml of the tag whose id is content with the contents of the fragment loggedon.ewd. This submit button syntax with the action and nextpage attributes is unique to EWD and provides an intuitive and quick mechanism of describing the key steps that apply to every HTML form used anywhere in web applications: what back-end method to invoke to process the submitted form what page or fragment to return if the method runs to completion without error The compiler converts these attributes to the run-time code and syntax needed to make these steps work. This is a great example of how EWD allows you to forget the complexities of how form 6

7 processing actually works and just focus on what you want to do instead. It also makes it dead easy to make a form with multiple submit buttons, with each button running a different back-end method (action) and returning a different fragment (nextpage). Every other web development technology makes the task of form handling a tedious, error-prone, non-intuitive and complex process, yet form submission is something you need to do numerous times throughout your web applications. So when this form fragment gets fetched into the container page, the form is rendered and the user can now enter his/her logon details. Now let's examine what happens when they click that Submit button. EWD Form/Session Mapping and The Action Script Our form had two <input> tags, each with a name (and an automatically added id) attribute with values of username and password respectively. When you click the submit button, EWD automatically saves these form field values in the EWD Session, so in our example it will automatically create two EWD Session variables, named username and password respectfully, ie it uses the value of the name/id attribute as the name of the EWD Session variable. The productivity that this simple piece of Session automation adds to EWD is quite surprising: yet again when you start using EWD you'll wonder why all other frameworks make such a meal of form field processing. By the time EWD invokes your Action Script, it will already have saved the submitted form values into the EWD Session, so the first thing your Action Script will usually do is get hold of those Session values. That's exactly what our Python function does: username = ewd.getsessionvalue("username",sessid) password = ewd.getsessionvalue("password",sessid) Note that the name of the EWD Session variables is case-sensitive, based on the name as specified in the name/id attributes of the form field tags. Now that we've got the username and password, the Action Script's task of validating the logon credentials can be carried out. In this simple initial example Action Script, we've just hard-coded a single valid username/password pair of demouser/secret. In a real-world example, we'd check the values against some kind of user authentication file or database. However, this simple example clearly demonstrates the next piece of automation that is built-in to EWD: if the function returns a non-null value, it signifies to EWD that a validation error has occurred, and the returned string is used as the text within a Javascript alert window. So if the username isn't demouser, an alert will pop up saying Invalid username ; if the username is OK but the password isn't secret, an alert will pop up saying Invalid password. Only if the correct username/password combination is entered will the Python function return a null value. Note that this alert behaviour is fixed behaviour in EWD. If you want to control error/warning alerting in some other way, you can easily do it, but you'll have to write/design the mechanism yourself: your Python function would always return a null value in this case to prevent the automatic generation of a Javascript alert. 7

8 Note also that when a non-null value was returned by the Action Script, the nextpage attribute was ignored. EWD will only fetch the nextpage fragment if the Action Script returns a null value. Note also that the action attribute is optional: a submit button does not need to have an Action Script associated with it. If an Action Script is not defined, then EWD will always fetch the fragment indicated by the nextpage attribute. The NextPage Fragment If the Action Script returns a null value, EWD will now fetch the nextpage fragment and target its contents as defined by the targetid attribute. In our example, the targetid is content which was the same tag into which the form fragment was targetted. The result is that the form disappears and is replaced by the contents of the fragment named loggedon.ewd. Notice one last thing: loggedon.ewd included the following markup: Welcome <?= #username?>! You have successfully logged on. #username is a reference to an EWD Session variable named username. What this example is demonstrating is that once created, an EWD Session variable is available for use in any subsequent page in the user's session. The EWD Session variable username was created automatically by EWD when the logon form was submitted, so we can now use it in this fragment using the syntax shown. If you were to use the EWD portal application ewdmgr, you'd be able to examine the EWD Session contents for our demo example. You'll be able to see the submitted values of username and password: 8

9 The value= * Attribute Just one last thing to cover in this part of the tutorial: what was that value= * attribute in the username field all about? ie: <input type="text" name="username" value="*" /> It's actually a short-hand for: <input type="text" name="username" value="<?= #username?>" /> In our example it's somewhat superfluous, but in many Ajax applications you'll want to bring back an instance of a form into the container page and pre-populate it with the same values that the user submitted in the original instance. There's nothing more annoying for a user to get a form back and be forced to re-enter all the values again. Pre-populating forms is another thing that most other web application frameworks manage to turn into a surprisingly complex and non-intuitive process, yet it's one of the commonest things you'll need to do. In EWD, because the previously submitted values are sitting in the Session, they can be redisplayed very simply, and if it's a text field, just use the value= * attribute and if a value is available in the EWD Session, EWD will automatically display it. Simple as that! Conclusions This concludes Part 2 of our EWD Python tutorial. You've now seen how EWD automates and simplifies the task of defining forms and linking them to a Python back-end when the contents can be evaluated. You've also seen how EWD automatically saves the contents of your forms into the EWD Session where the values will persist for the lifetime of the user's session. In our logon form we just used a text and password field, but HTML includes other form field types including radio buttons, checkboxes, select tags and textarea fields. In the next part we'll examine how EWD handles these other form field types and simplifies and automates their use. We'll also look at the other role of an Action Script: saving data back into a database. 9

extc Web Developer Rapid Web Application Development and Ajax Framework Using Ajax

extc Web Developer Rapid Web Application Development and Ajax Framework Using Ajax extc Web Developer Rapid Web Application Development and Ajax Framework Version 3.0.546 Using Ajax Background extc Web Developer (EWD) is a rapid application development environment for building and maintaining

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

Hyper- Any time any where go to any web pages. Text- Simple Text. Markup- What will you do

Hyper- Any time any where go to any web pages. Text- Simple Text. Markup- What will you do HTML Interview Questions and Answers What is HTML? Answer1: HTML, or HyperText Markup Language, is a Universal language which allows an individual using special code to create web pages to be viewed on

More information

The core of Tapestry's form support is the Form component. The Form component encloses (wraps around) all the other field components such

The core of Tapestry's form support is the Form component. The Form component encloses (wraps around) all the other field components such Forms and Validation Forms are the traditional way for most web applications to gather significant information from the user. Whether it's a search form, a login screen or a multi-page registration wizard,

More information

OU EDUCATE TRAINING MANUAL

OU EDUCATE TRAINING MANUAL OU EDUCATE TRAINING MANUAL OmniUpdate Web Content Management System El Camino College Staff Development 310-660-3868 Course Topics: Section 1: OU Educate Overview and Login Section 2: The OmniUpdate Interface

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

CIS 3308 Logon Homework

CIS 3308 Logon Homework CIS 3308 Logon Homework Lab Overview In this lab, you shall enhance your web application so that it provides logon and logoff functionality and a profile page that is only available to logged-on users.

More information

JAVASCRIPT - CREATING A TOC

JAVASCRIPT - CREATING A TOC JAVASCRIPT - CREATING A TOC Problem specification - Adding a Table of Contents. The aim is to be able to show a complete novice to HTML, how to add a Table of Contents (TOC) to a page inside a pair of

More information

Pemrograman Jaringan Web Client Access PTIIK

Pemrograman Jaringan Web Client Access PTIIK Pemrograman Jaringan Web Client Access PTIIK - 2012 In This Chapter You'll learn how to : Download web pages Authenticate to a remote HTTP server Submit form data Handle errors Communicate with protocols

More information

Ruby on Rails Welcome. Using the exercise files

Ruby on Rails Welcome. Using the exercise files Ruby on Rails Welcome Welcome to Ruby on Rails Essential Training. In this course, we're going to learn the popular open source web development framework. We will walk through each part of the framework,

More information

Javascript in the Corvid Servlet Runtime Templates

Javascript in the Corvid Servlet Runtime Templates Javascript in the Corvid Servlet Runtime Templates A system demonstrating this How To can be run under the Javascript in the Corvid Servlet Runtime Templates section of: http://www.exsys.com/support/howto

More information

ABSOLUTE FORM PROCESSOR ADMINISTRATION OPTIONS

ABSOLUTE FORM PROCESSOR ADMINISTRATION OPTIONS ABSOLUTE FORM PROCESSOR ADMINISTRATION OPTIONS The Absolute Form Processor is very easy to use. In order to operate the system, you just need the menu at the top of the screen. There, you ll find all the

More information

COMS 359: Interactive Media

COMS 359: Interactive Media COMS 359: Interactive Media Agenda Project #3 Review Forms (con t) CGI Validation Design Preview Project #3 report Who is your client? What is the project? Project Three action= http://...cgi method=

More information

UNIT-VI CREATING AND USING FORMS

UNIT-VI CREATING AND USING FORMS UNIT-VI CREATING AND USING FORMS To create a fully functional web application, you need to be able to interact with your users. The common way to receive information from web users is through a form. Forms

More information

Manual Html A Href Onclick Submit Form

Manual Html A Href Onclick Submit Form Manual Html A Href Onclick Submit Form JS HTML DOM. DOM Intro DOM Methods HTML form validation can be done by a JavaScript. If a form field _input type="submit" value="submit" /form_. As shown in a previous

More information

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB

CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB Unit 8 HTML Forms and Basic CGI Slides based on course material SFU Icons their respective owners 1 Learning Objectives In this unit you will

More information

Dreamweaver: Web Forms

Dreamweaver: Web Forms Dreamweaver: Web Forms Introduction Web forms allow your users to type information into form fields on a web page and send it to you. Dreamweaver makes it easy to create them. This workshop is a follow-up

More information

Controlled Assessment Task. Question 1 - Describe how this HTML code produces the form displayed in the browser.

Controlled Assessment Task. Question 1 - Describe how this HTML code produces the form displayed in the browser. Controlled Assessment Task Question 1 - Describe how this HTML code produces the form displayed in the browser. The form s code is displayed in the tags; this creates the object which is the visible

More information

XML Services Troubleshooting

XML Services Troubleshooting XML Services Troubleshooting This chapter contains the following topics: Overview, page 27 Architecture, page 28 Troubleshooting Tools, page 30 Troubleshooting Checklist, page 31 Error Reporting, page

More information

The Domino Designer QuickStart Tutorial

The Domino Designer QuickStart Tutorial The Domino Designer QuickStart Tutorial 1. Welcome The Domino Designer QuickStart Tutorial You've installed Domino Designer, you've taken the Designer Guided Tour, and maybe you've even read some of the

More information

Master Syndication Gateway V2. User's Manual. Copyright Bontrager Connection LLC

Master Syndication Gateway V2. User's Manual. Copyright Bontrager Connection LLC Master Syndication Gateway V2 User's Manual Copyright 2005-2006 Bontrager Connection LLC 1 Introduction This document is formatted for A4 printer paper. A version formatted for letter size printer paper

More information

USQ/CSC2406 Web Publishing

USQ/CSC2406 Web Publishing USQ/CSC2406 Web Publishing Lecture 4: HTML Forms, Server & CGI Scripts Tralvex (Rex) Yeap 19 December 2002 Outline Quick Review on Lecture 3 Topic 7: HTML Forms Topic 8: Server & CGI Scripts Class Activity

More information

COM1004 Web and Internet Technology

COM1004 Web and Internet Technology COM1004 Web and Internet Technology When a user submits a web form, how do we save the information to a database? How do we retrieve that data later? ID NAME EMAIL MESSAGE TIMESTAMP 1 Mike mike@dcs Hi

More information

At the Forge Beginning Ajax Reuven M. Lerner Abstract How to put the A (asynchronous) in Ajax. Many programmers, myself included, have long seen JavaScript as a way to change the appearance of a page of

More information

Client-side Development using HTML, Javascript and CSS

Client-side Development using HTML, Javascript and CSS Lab 1 Client-side Development using HTML, Javascript and CSS Authors: Sahand Sdjadee Alexander Kazen Gustav Bylund Per Jonsson Tobias Jansson Spring 2015 TDDD97 Web Programming http://www.ida.liu.se/~tddd97/

More information

Using Development Tools to Examine Webpages

Using Development Tools to Examine Webpages Chapter 9 Using Development Tools to Examine Webpages Skills you will learn: For this tutorial, we will use the developer tools in Firefox. However, these are quite similar to the developer tools found

More information

HTML Forms. By Jaroslav Mohapl

HTML Forms. By Jaroslav Mohapl HTML Forms By Jaroslav Mohapl Abstract How to write an HTML form, create control buttons, a text input and a text area. How to input data from a list of items, a drop down list, and a list box. Simply

More information

CS Final Exam Review Suggestions - Spring 2018

CS Final Exam Review Suggestions - Spring 2018 CS 328 - Final Exam Review Suggestions p. 1 CS 328 - Final Exam Review Suggestions - Spring 2018 last modified: 2018-05-03 Based on suggestions from Prof. Deb Pires from UCLA: Because of the research-supported

More information

User authentication, passwords

User authentication, passwords User authentication, passwords User Authentication Nowadays most internet applications are available only for registered (paying) users How do we restrict access to our website only to privileged users?

More information

CSE 115. Introduction to Computer Science I

CSE 115. Introduction to Computer Science I CSE 115 Introduction to Computer Science I Road map Review Limitations of front-end sites Web servers Examples Review

More information

Form Processing in PHP

Form Processing in PHP Form Processing in PHP Forms Forms are special components which allow your site visitors to supply various information on the HTML page. We have previously talked about creating HTML forms. Forms typically

More information

As we design and build out our HTML pages, there are some basics that we may follow for each page, site, and application.

As we design and build out our HTML pages, there are some basics that we may follow for each page, site, and application. Extra notes - Client-side Design and Development Dr Nick Hayward HTML - Basics A brief introduction to some of the basics of HTML. Contents Intro element add some metadata define a base address

More information

HTML Tables and Forms. Outline. Review. Review. Example Demo/ Walkthrough. CS 418/518 Web Programming Spring Tables to Display Data"

HTML Tables and Forms. Outline. Review. Review. Example Demo/ Walkthrough. CS 418/518 Web Programming Spring Tables to Display Data CS 418/518 Web Programming Spring 2014 HTML Tables and Forms Dr. Michele Weigle http://www.cs.odu.edu/~mweigle/cs418-s14/ Outline! Assigned Reading! Chapter 4 "Using Tables to Display Data"! Chapter 5

More information

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab.

Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM Advanced Internet Technology Lab. Islamic University of Gaza Faculty of Engineering Department of Computer Engineering ECOM 5049 Advanced Internet Technology Lab Lab # 1 Eng. Haneen El-masry February, 2015 Objective To be familiar with

More information

Introducing ASP.NET Web Pages Updating Database Data

Introducing ASP.NET Web Pages Updating Database Data Introducing ASP.NET Web Pages Updating Database Data By Tom FitzMacken last updated May 28, 2015 This tutorial shows you how to update change an existing database entry when you use ASP.NET Web Pages Razor.

More information

Starting. Read: Chapter 1, Appendix B from textbook.

Starting. Read: Chapter 1, Appendix B from textbook. Read: Chapter 1, Appendix B from textbook. Starting There are two ways to run your Python program using the interpreter 1 : from the command line or by using IDLE (which also comes with a text editor;

More information

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly,

Session 18. jquery - Ajax. Reference. Tutorials. jquery Methods. Session 18 jquery and Ajax 10/31/ Robert Kelly, Session 18 jquery - Ajax 1 Tutorials Reference http://learn.jquery.com/ajax/ http://www.w3schools.com/jquery/jquery_ajax_intro.asp jquery Methods http://www.w3schools.com/jquery/jquery_ref_ajax.asp 2 10/31/2018

More information

Lesson 3. Form By Raymond Tsang. Certificate Programme in Cyber Security

Lesson 3. Form By Raymond Tsang. Certificate Programme in Cyber Security Lesson 3 Form By Raymond Tsang Certificate Programme in Cyber Security What is a form How to create a form Getting input from users Generate a result It s a section of a document containing normal content,

More information

Enterprise Knowledge Platform Adding the Login Form to Any Web Page

Enterprise Knowledge Platform Adding the Login Form to Any Web Page Enterprise Knowledge Platform Adding the Login Form to Any Web Page EKP Adding the Login Form to Any Web Page 21JAN03 2 Table of Contents 1. Introduction...4 Overview... 4 Requirements... 4 2. A Simple

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016

Serverless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 Serverless Single Page Web Apps, Part Four CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 1 Goals Cover Chapter 4 of Serverless Single Page Web Apps by Ben Rady Present the issues

More information

how to manually install your Livebox

how to manually install your Livebox how to manually install your Livebox Article ID: kb14497 If you've lost your Livebox set-up CD, or are having problems using the CD, you can connect your Livebox to the Internet manually. We suggest that

More information

Slide 1 CS 170 Java Programming 1 Testing Karel

Slide 1 CS 170 Java Programming 1 Testing Karel CS 170 Java Programming 1 Testing Karel Introducing Unit Tests to Karel's World Slide 1 CS 170 Java Programming 1 Testing Karel Hi Everybody. This is the CS 170, Java Programming 1 lecture, Testing Karel.

More information

django-xross Documentation

django-xross Documentation django-xross Documentation Release 0.6.0 Igor idle sign Starikov Jan 14, 2018 Contents 1 Description 3 2 Requirements 5 3 Table of Contents 7 3.1 Quickstart................................................

More information

First Simple Interactive JSP example

First Simple Interactive JSP example Let s look at our first simple interactive JSP example named hellojsp.jsp. In his Hello User example, the HTML page takes a user name from a HTML form and sends a request to a JSP page, and JSP page generates

More information

CSI 3140 WWW Structures, Techniques and Standards. Browsers and the DOM

CSI 3140 WWW Structures, Techniques and Standards. Browsers and the DOM CSI 3140 WWW Structures, Techniques and Standards Browsers and the DOM Overview The Document Object Model (DOM) is an API that allows programs to interact with HTML (or XML) documents In typical browsers,

More information

Things to note: Each week Xampp will need to be installed. Xampp is Windows software, similar software is available for Mac, called Mamp.

Things to note: Each week Xampp will need to be installed. Xampp is Windows software, similar software is available for Mac, called Mamp. Tutorial 8 Editor Brackets Goals Introduction to PHP and MySql. - Set up and configuration of Xampp - Learning Data flow Things to note: Each week Xampp will need to be installed. Xampp is Windows software,

More information

HTML 5 and CSS 3, Illustrated Complete. Unit L: Programming Web Pages with JavaScript

HTML 5 and CSS 3, Illustrated Complete. Unit L: Programming Web Pages with JavaScript HTML 5 and CSS 3, Illustrated Complete Unit L: Programming Web Pages with JavaScript Objectives Explore the Document Object Model Add content using a script Trigger a script using an event handler Create

More information

1. Launch the Seaside One-Click Experience (see Chapter 1 for details) and open a web browser on

1. Launch the Seaside One-Click Experience (see Chapter 1 for details) and open a web browser on In this chapter we will explore some of the Seaside from the web browser s point of view, including examples available with the default installation of Seaside. 1. Launch the Seaside One-Click Experience

More information

Lab 1 - Introduction to Angular

Lab 1 - Introduction to Angular Lab 1 - Introduction to Angular In this lab we will build a Hello World style Angular component. The key focus is to learn how to install all the required code and use them from the browser. We wont get

More information

At the Forge RJS Templates Reuven M. Lerner Abstract The power of Ajax to fetch and run JavaScript generated by your server-side language. The past few months, I've written a number of articles in this

More information

Siteforce Pilot: Best Practices

Siteforce Pilot: Best Practices Siteforce Pilot: Best Practices Getting Started with Siteforce Setup your users as Publishers and Contributors. Siteforce has two distinct types of users First, is your Web Publishers. These are the front

More information

Assignment Dropbox. Overview

Assignment Dropbox. Overview Assignment Dropbox Overview This system aims to replace the Computer Science EC dropbox with one that saves to SONAS and is linked to Cecil. It is not specific to Computer Science and can be made more

More information

PHP for PL/SQL Developers. Lewis Cunningham JP Morgan Chase

PHP for PL/SQL Developers. Lewis Cunningham JP Morgan Chase PHP for PL/SQL Developers Lewis Cunningham JP Morgan Chase 1 What is PHP? PHP is a HTML pre-processor PHP allows you to generate HTML dynamically PHP is a scripting language usable on the web, the server

More information

Spring 2014 Interim. HTML forms

Spring 2014 Interim. HTML forms HTML forms Forms are used very often when the user needs to provide information to the web server: Entering keywords in a search box Placing an order Subscribing to a mailing list Posting a comment Filling

More information

AngularJS Intro Homework

AngularJS Intro Homework AngularJS Intro Homework Contents 1. Overview... 2 2. Database Requirements... 2 3. Navigation Requirements... 3 4. Styling Requirements... 4 5. Project Organization Specs (for the Routing Part of this

More information

Power School Parent Portal User Guide

Power School Parent Portal User Guide Power School Parent Portal User Guide Preface Use this guide to assist you while navigating the PowerSchool Parent Portal. This guide is based on the PowerSchool Parent Portal online help, which you can

More information

1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document.

1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document. 1. Please, please, please look at the style sheets job aid that I sent to you some time ago in conjunction with this document. 2. W3Schools has a lovely html tutorial here (it s worth the time): http://www.w3schools.com/html/default.asp

More information

Jquery Ajax Json Php Mysql Data Entry Example

Jquery Ajax Json Php Mysql Data Entry Example Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.

More information

Django urls Django Girls Tutorial

Django urls Django Girls Tutorial Django urls Django Girls Tutorial about:reader?url=https://tutorial.djangogirls.org/en/django_urls/ 1 di 6 13/11/2017, 20:01 tutorial.djangogirls.org Django urls Django Girls Tutorial DjangoGirls 6-8 minuti

More information

Lecture 5. Defining Functions

Lecture 5. Defining Functions Lecture 5 Defining Functions Announcements for this Lecture Last Call Quiz: About the Course Take it by tomorrow Also remember the survey Readings Sections 3.5 3.3 today Also 6.-6.4 See online readings

More information

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett

2/6/2012. Rich Internet Applications. What is Ajax? Defining AJAX. Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett What is Ajax? Asynchronous JavaScript and XML Term coined in 2005 by Jesse James Garrett http://www.adaptivepath.com/ideas/essays/archives /000385.php Ajax isn t really new, and isn t a single technology

More information

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment.

web.py Tutorial Tom Kelliher, CS 317 This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. web.py Tutorial Tom Kelliher, CS 317 1 Acknowledgment This tutorial is the tutorial from the web.py web site, with a few revisions for our local environment. 2 Starting So you know Python and want to make

More information

CNIT 129S: Securing Web Applications. Ch 12: Attacking Users: Cross-Site Scripting (XSS) Part 2

CNIT 129S: Securing Web Applications. Ch 12: Attacking Users: Cross-Site Scripting (XSS) Part 2 CNIT 129S: Securing Web Applications Ch 12: Attacking Users: Cross-Site Scripting (XSS) Part 2 Finding and Exploiting XSS Vunerabilities Basic Approach Inject this string into every parameter on every

More information

AGENT123. Full Q&A and Tutorials Table of Contents. Website IDX Agent Gallery Step-by-Step Tutorials

AGENT123. Full Q&A and Tutorials Table of Contents. Website IDX Agent Gallery Step-by-Step Tutorials AGENT123 Full Q&A and Tutorials Table of Contents Website IDX Agent Gallery Step-by-Step Tutorials WEBSITE General 1. How do I log into my website? 2. How do I change the Meta Tags on my website? 3. How

More information

Café Soylent Green Chapter 12

Café Soylent Green Chapter 12 Café Soylent Green Chapter 12 This version is for those students who are using Dreamweaver CS6. You will be completing the Forms Tutorial from your textbook, Chapter 12 however, you will be skipping quite

More information

Logging in. Below this is a series of links to the course structure documentation for each unit in the Level 3 Diploma in Castings Technology.

Logging in. Below this is a series of links to the course structure documentation for each unit in the Level 3 Diploma in Castings Technology. Logging in Before 'Logging in' Make sure you have navigated to www.foundrytrainingonline.com using your browser address window (not Google search window). Occasionally, the location of the site will move

More information

CSCU9B2 Practical 1: Introduction to HTML 5

CSCU9B2 Practical 1: Introduction to HTML 5 CSCU9B2 Practical 1: Introduction to HTML 5 Aim: To learn the basics of creating web pages with HTML5. Please register your practical attendance: Go to the GROUPS\CSCU9B2 folder in your Computer folder

More information

Screen Scraping. Screen Scraping Defintions ( Web Scraping (

Screen Scraping. Screen Scraping Defintions (  Web Scraping ( Screen Scraping Screen Scraping Defintions (http://www.wikipedia.org/) Originally, it referred to the practice of reading text data from a computer display terminal's screen. This was generally done by

More information

BIG-IP DataSafe Configuration. Version 13.1

BIG-IP DataSafe Configuration. Version 13.1 BIG-IP DataSafe Configuration Version 13.1 Table of Contents Table of Contents Adding BIG-IP DataSafe to the BIG-IP System...5 Overview: Adding BIG-IP DataSafe to the BIG-IP system... 5 Provisioning Fraud

More information

Creating your first website Part 4: Formatting your page with CSS

Creating your first website Part 4: Formatting your page with CSS Adobe - Developer Center : Creating your first website Part 4: Formatting your page... Page 1 of 23 Dreamweaver Article Creating your first website Part 4: Formatting your page with CSS Jon Varese Adobe

More information

Web Site Development with HTML/JavaScrip

Web Site Development with HTML/JavaScrip Hands-On Web Site Development with HTML/JavaScrip Course Description This Hands-On Web programming course provides a thorough introduction to implementing a full-featured Web site on the Internet or corporate

More information

HTML 5 Form Processing

HTML 5 Form Processing HTML 5 Form Processing In this session we will explore the way that data is passed from an HTML 5 form to a form processor and back again. We are going to start by looking at the functionality of part

More information

CAL 9-2: Café Soylent Green Chapter 12

CAL 9-2: Café Soylent Green Chapter 12 CAL 9-2: Café Soylent Green Chapter 12 This version is for those students who are using Dreamweaver CC. You will be completing the Forms Tutorial from your textbook, Chapter 12 however, you will be skipping

More information

Web Focused Programming With PHP

Web Focused Programming With PHP Web Focused Programming With PHP May 20 2014 Thomas Beebe Advanced DataTools Corp (tom@advancedatatools.com) Tom Beebe Tom is a Senior Database Consultant and has been with Advanced DataTools for over

More information

University of Washington, CSE 190 M Homework Assignment 9: Remember the Cow (To-Do List)

University of Washington, CSE 190 M Homework Assignment 9: Remember the Cow (To-Do List) University of Washington, CSE 190 M Homework Assignment 9: Remember the Cow (To-Do List) In this assignment you will write a small yet complete "Web 2.0" application that includes user login sessions,

More information

BrightWork Team Member Training Guide

BrightWork Team Member Training Guide BrightWork Team Member Training Guide Contents 1 Training Introduction... 5 1.1 Who is this Guide For?... 5 1.2 Training Introduction... 5 1.3 Prerequisites... 5 1.4 Suggested Exercises... 6 1.5 System

More information

Wholesale Lockbox User Guide

Wholesale Lockbox User Guide Wholesale Lockbox User Guide August 2017 Copyright 2017 City National Bank City National Bank Member FDIC For Client Use Only Table of Contents Introduction... 3 Getting Started... 4 System Requirements...

More information

CS Exam 1 Review Suggestions - Spring 2017

CS Exam 1 Review Suggestions - Spring 2017 CS 328 - Exam 1 Review Suggestions p. 1 CS 328 - Exam 1 Review Suggestions - Spring 2017 last modified: 2017-02-16 You are responsible for material covered in class sessions and homeworks; but, here's

More information

Web API Lab. The next two deliverables you shall write yourself.

Web API Lab. The next two deliverables you shall write yourself. Web API Lab In this lab, you shall produce four deliverables in folder 07_webAPIs. The first two deliverables should be pretty much done for you in the sample code. 1. A server side Web API (named listusersapi.jsp)

More information

NetMotion Integration with GreenRADIUS - Quick Start Guide

NetMotion Integration with GreenRADIUS - Quick Start Guide NetMotion Integration with GreenRADIUS - Quick Start Guide March 15, 2016 2016 GreenRADIUS. All rights reserved. Page 1 of 16 2016 GreenRADIUS. All rights reserved. Page 2 of 16 Contents 1 GreenRADIUS

More information

At the Forge Prototype Reuven M. Lerner Abstract Prototype eases the burden of using JavaScript in Ajax. During the last few months, we have looked at ways to use JavaScript, a version of which is included

More information

We are assuming you have node installed!

We are assuming you have node installed! Node.js Hosting We are assuming you have node installed! This lesson assumes you've installed and are a bit familiar with JavaScript and node.js. If you do not have node, you can download and install it

More information

Chapter4: HTML Table and Script page, HTML5 new forms. Asst. Prof. Dr. Supakit Nootyaskool Information Technology, KMITL

Chapter4: HTML Table and Script page, HTML5 new forms. Asst. Prof. Dr. Supakit Nootyaskool Information Technology, KMITL Chapter4: HTML Table and Script page, HTML5 new forms Asst. Prof. Dr. Supakit Nootyaskool Information Technology, KMITL Objective To know HTML5 creating a new style form. To understand HTML table benefits

More information

JavaScript Programming

JavaScript Programming JavaScript Programming Course ISI-1337B - 5 Days - Instructor-led, Hands on Introduction Today, JavaScript is used in almost 90% of all websites, including the most heavilytrafficked sites like Google,

More information

TM-800/1000 and TS-700/900 Administrator Manual

TM-800/1000 and TS-700/900 Administrator Manual TM-800/1000 and TS-700/900 Administrator Manual Version 4.0 The RHUB web conferencing and remote support appliance RHUB Communications, Inc. 4340 Stevens Creek Blvd. Suite 282 San Jose, CA 95129 support@rhubcom.com

More information

Building a Django Twilio Programmable Chat Application

Building a Django Twilio Programmable Chat Application Building a Django Twilio Programmable Chat Application twilio.com/blog/08/0/python-django-twilio-programmable-chat-application.html March 7, 08 As a developer, I ve always wanted to include chat capabilities

More information

USING DRUPAL. Hampshire College Website Editors Guide https://drupal.hampshire.edu

USING DRUPAL. Hampshire College Website Editors Guide https://drupal.hampshire.edu USING DRUPAL Hampshire College Website Editors Guide 2014 https://drupal.hampshire.edu Asha Kinney Hampshire College Information Technology - 2014 HOW TO GET HELP Your best bet is ALWAYS going to be to

More information

CMS Enterprise Portal User Manual

CMS Enterprise Portal User Manual Centers for Medicare & Medicaid Services CMS expedited Life Cycle (XLC) 11/13/2017 Document Number: Enterprise_Portal_User_Manual_v6 Table of Contents Table of Contents 1. Introduction... 1 2. Overview...

More information

Lesson 1 using Dreamweaver CS3. To get started on your web page select the link below and copy (Save Picture As) the images to your image folder.

Lesson 1 using Dreamweaver CS3. To get started on your web page select the link below and copy (Save Picture As) the images to your image folder. Lesson 1 using Dreamweaver CS3 To get started on your web page select the link below and copy (Save Picture As) the images to your image folder. Click here to get images for your web page project. (Note:

More information

By the end of this section of the practical, the students should be able to:

By the end of this section of the practical, the students should be able to: By the end of this section of the practical, the students should be able to: Learn about the Document Object Model and the Document Object Model hierarchy Create and use the properties, methods and event

More information

Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management

Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management Contents Best Practices for Implementing Adobe Target using Dynamic Tag Management.3 Dynamic Tag Management Implementation...4

More information

Accessing Test Web Portal of the CTBTO

Accessing Test Web Portal of the CTBTO Accessing Test Web Portal of the CTBTO As announced in WGB sessions 34 and 36 the PTS is introducing a new Identity Management and Single Sign-On (IDM & SSO) infrastructure which will enable users of its

More information

Web Development and HTML. Shan-Hung Wu CS, NTHU

Web Development and HTML. Shan-Hung Wu CS, NTHU Web Development and HTML Shan-Hung Wu CS, NTHU Outline How does Internet Work? Web Development HTML Block vs. Inline elements Lists Links and Attributes Tables Forms 2 Outline How does Internet Work? Web

More information

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0

CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 WEB TECHNOLOGIES A COMPUTER SCIENCE PERSPECTIVE CHAPTER 2 MARKUP LANGUAGES: XHTML 1.0 Modified by Ahmed Sallam Based on original slides by Jeffrey C. Jackson reserved. 0-13-185603-0 HTML HELLO WORLD! Document

More information

Module 5: Javascript, Cookies COM 420

Module 5: Javascript, Cookies COM 420 Module 5: Javascript, Cookies COM 420 What is the real Internet Lab 1 Review Many Nesting Problems How to check your code Why is nesting Important Recap how grades work in the class Re-Submitting and updating

More information

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 08 Tutorial 2, Part 2, Facebook API (Refer Slide Time: 00:12)

More information

Administrative Training Mura CMS Version 5.6

Administrative Training Mura CMS Version 5.6 Administrative Training Mura CMS Version 5.6 Published: March 9, 2012 Table of Contents Mura CMS Overview! 6 Dashboard!... 6 Site Manager!... 6 Drafts!... 6 Components!... 6 Categories!... 6 Content Collections:

More information

Remote Support 19.1 Web Rep Console

Remote Support 19.1 Web Rep Console Remote Support 19.1 Web Rep Console 2003-2019 BeyondTrust Corporation. All Rights Reserved. BEYONDTRUST, its logo, and JUMP are trademarks of BeyondTrust Corporation. Other trademarks are the property

More information

Build a Subfile with PHP

Build a Subfile with PHP Build a Subfile with PHP Workshop: Build a Subfile with PHP Module 2: Formatting Customer Records in an HTML Table, and Adding a Search Form Contents Formatting Customer Records in an HTML Table, and Adding

More information