WIRIS quizzes web services Getting started with PHP and Java

Size: px
Start display at page:

Download "WIRIS quizzes web services Getting started with PHP and Java"

Transcription

1 WIRIS quizzes web services Getting started with PHP and Java Document Release: december, Maths for More Summary This document provides client examples for PHP and Java. Contents WIRIS quizzes web services. Getting started with PHP and Java...2 Getting started with PHP...2 Random question example...5 Getting started using Java and Axis2...7 Building a simple client...7

2 2010, Maths for More WIRIS quizzes in your assessment system. V1 2 WIRIS quizzes web services. Getting started with PHP and Java The WIRIS quizzes services have two invocation protocols: SOAP and REST. The invocation of the REST service is exemplified with two PHP scripts. The SOAP version is explained using Java and the Axis 2 library. The examples of this appendix explain how to call the WIRIS quizzes Web services. The first PHP example and the Java example compare whether two expressions are equivalent. This is the common scenario when the input of the student has to be tested against a valid response in a quiz. The second PHP script uses a WIRIS CAS to exemplify the generation of random questions. Getting started with PHP In the following example, we will make a sample client in PHP for the WIRIS quizzes API web service. The example is written to not use any extension library. This demonstration example can be downloaded from It is a zip file labeled PHP examples. It consists in two PHP files. Just take them and copy the file to some place accessible from your PHP interpreter. They will output an HTML file with the result of the test. Now we are interested in the first and simpler one, quizzes-api-client.php. This script uses the service to check whether two MathML strings are the same mathematical value or not. Let s see the code and how it works: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " <html xmlns=" <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>wiris quizzes API PHP test</title> </head> <body> <?php //define the hypotetic correct answer and the student's answer. $mathml1 = '<mrow><mfrac><msqrt><mn>2</mn></msqrt><mn>2</mn></mfrac></mrow>'; $mathml2 = '<mrow><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac></mrow>'; //build the input message $message = getequivsymbolicassertionmessage($mathml1, $mathml2); //call the service $result = callwirisapi($message); //get the interesting return value $value = getreturnvalue($result); //print the result echo '<h1>wiris quizzes API test</h1>'; echo 'mathml1 = '.htmlentities($mathml1).'<br />'; echo 'mathml2 = '.htmlentities($mathml2).'<br />'; echo '<strong>'; echo intval($value) == 1?'Are equivalent':'are not equivalent'; echo '</strong>';

3 2010, Maths for More WIRIS quizzes in your assessment system. V1 3 This is the entry point of the example. After defining the HTML headers, we define a pair of MathML strings. Then we call getequivsymbolicassertionmessage in order to build the XML input message. With that input message, we call the service (callwirisapi), and get the result also as an XML string. We use another function to get the interesting value from the result string (getreturnvalue). Finally, we output some html depending on the result. function getequivsymbolicassertionmessage($mathml1, $mathml2){ $assertion_name = 'equiv_symbolic'; $operation_name = 'getcheckassertions'; $mathml1 = wrapincdata($mathml1); $mathml2 = wrapincdata($mathml2); $xml = '<doprocessquestions>'. '<processquestions>'. '<processquestion>'. '<question>'. '<correctanswers>'. '<correctanswer type="mathml">'. $mathml1. '</correctanswer>'. '</correctanswers>'. '<assertions>'. '<assertion name="'.$assertion_name.'" />'. '</assertions>'. '</question>'. '<userdata>'. '<answers>'. '<answer type="mathml">'. $mathml2. '</answer>'. '</answers>'. '</userdata>'. '<processes>'. '<'.$operation_name.'/>'. '</processes>'. '</processquestion>'. '</processquestions>'. '</doprocessquestions>'; return $xml; This function builds the input message. We set the first MathML string to be the correct answer, the second MathML to be the user s answer and we define an assertion of type equiv_symbolic. This assertion compares the symbolical (mathematic) equivalence between the correct and the user s answers. Finally, we add the operation getcheckassertions that will output the result of the evaluation of the assertion.

4 2010, Maths for More WIRIS quizzes in your assessment system. V1 4 function callwirisapi($xml) { $url = ' $opts = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: text/xml; charset=utf-8'."\n". 'Content-Length: '.strlen($xml)."\n", 'content'=> $xml ) ); $context = stream_context_create($opts); $result = file_get_contents($url, false, $context); return $result; This function calls the service via http and the POST method. function wrapincdata($str) { return '<![CDATA['.$str.']]>'; function getreturnvalue($xml){ //in a more general purpose client the xml should be completely parsed, //here we go directly to the result. $pattern = '/<check[^>]*>(\d+)<\/check>/'; $matches = array(); preg_match($pattern, $xml, $matches); return $matches[1];?> </body> </html> This last function uses a regular expression to get the result. It will be the string 0 or 1. In a real scenario, is fully recommended to parse the whole XML message, but here it is enough to do it in this way. Of course this example doesn t cover the full potential of WIRIS quizzes API, and for a real application there will be needed to deal with XML not as a string but as a complex structure. Furthermore, such functions will be enclosed in a class or a file, and never embedded in an HTML. However, the important concepts are here and one can use that to start the development of the first prototype. For a more detailed specification of the service, see the reference and the formal specification in the WSDL file

5 2010, Maths for More WIRIS quizzes in your assessment system. V1 5 Random question example So far we have merely test the service. Now we make a complete example of the integration of WIRIS quizzes to make a random question. In order to make random questions, is necessary to have an algorithm to produce these random elements. The following is the simplest meaningful and complete example of a random question. Consider the other script quizzes-api-demo.php. The source will not be printed here, because of his length, and because is very close to the previous one. Thus, open it with a text / PHP editor and follow the workflow explained here in the code. Get it in your browser from your web server or from and it will display: This is a minimal editing page for a random short answer question. In the first field we define the question statement. The variables are referenced with the sharp symbol # and the name This is a choice of the question engine. The second field is where we put the name of the variable holding the correct answer. Finally, we define the algorithm that produces the random items. Note that the program is enclosed in a library box. In order to embed a WIRIS CAS applet in a web page it is necessary to write an applet tag in the HTML. It admits a parameter for the initial session. There must be a pair of JavaScript lines to obtain the applet content. See the source code for more details. Clicking the submit button, the service will be called to get the value of the variables in order to compile the question text.

6 2010, Maths for More WIRIS quizzes in your assessment system. V1 6 By filling the answer field and clicking the submit button, the service is called again. Now we ask for the equivalence between the user s response and the correct answer. There are a few comments concerning these two calls: The question section in the input message is exactly the same. Indeed, it has been designed to have all the static data of the question, so it will be the same in all calls related to the same question. The randomseed element in the userdata section must be the same in the first and the second call, in order to have the same values when displaying the question and when grading. It should be different between attempts. Finally, we will get the result: Although this is a more complete example than the first, there also remain some features of the service that should be used in a real question engine: There are other and more powerful ways to grade the answer: one alternative way is to use function defined by the author in the WIRIS CAS applet (See the reference document). It is also possible to use other assertions than equiv_symbolic, and they can be combined (See for an updated list). So far we have used only plain text, but the interface can be much more powerful adding a WIRIS Editor in the answer field and displaying MathML formulas in the question text using the WIRIS Image Service. When this is done, it is worth to handle the syntax errors of the students when they write formulas. (See the Error section of the reference document).

7 2010, Maths for More WIRIS quizzes in your assessment system. V1 7 Getting started using Java and Axis2 In this document we will quickly build a simple SOAP client in the Java programming language for the WIRIS quizzes web services. This example gives the same functionality than the first. A compiled version of this example can be found at It is a zip file labeled Java Examples. This example requires Java and that the Axis2 library is installed (see below). To run the example, unzip the file and execute in the command line of the system: java -classpath ".;%AXIS2_HOME%/lib/*" com.wiris.services.quizzes.wsdl.client Axis 2 is a helper library that will do all the dirty work of serializing the messages, connecting to the server, etc. Information about Axis 2 can be found at Building a simple client This section explains how to implement a Java client using the Axis 2 library. The first step is to download ( and install Axis2. For our purposes it is enough to unzip the file in any folder and define the environment variable AXIS2_HOME. Now, we are going to use the axis2 tool at bin/wsdl2java to build the so called stubs. These are the classes representing all the elements in the protocol: there will be a class for each different element in the specification of the protocol. The source is a WSDL file, located at The command is: wsdl2java S src uri The first option is the folder where the java files have to be created. The second is the URI of the WSDL file. It should create a pair of files. The important one is the WirisQuizzesStub.java. This file contains as nested classes all the mentioned stubs, and also has two methods corresponding to the two operations provided by the service. Now let s write the client. Create a class called Client from where we will use WirisQuizzesStub in order to access the service with a concrete input. Consider the following commented code to understand how it works:

8 2010, Maths for More WIRIS quizzes in your assessment system. V1 8 package com.wiris.services.quizzes.wsdl; import java.rmi.remoteexception; import org.apache.axis2.axisfault; public class Client { /** * Test the "processquestions" remote method with an * assertion check. **/ public static void main(string[] argv){ Client c = new Client(); c.testserverinfo(); String mathml1 = "<mrow><mfrac><msqrt><mn>2</mn></msqrt><mn>2</mn></mfrac></mrow>"; String mathml2 = "<mrow><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac></mrow>"; c.testequivsymbolic(mathml1,mathml2); This main method calls the two example functions. The first uses the dogetserverinfo operation to get some information about the server. It can be used to test the connectivity with the server. Then, it calls a second function that will test whether two MathML fragments represents the same value. /** * Test the "getserverinformation()" remote method **/ public void testserverinfo(){ try { WirisQuizzesStub wqs = new WirisQuizzesStub(); WirisQuizzesStub.DoGetServerInformationResponse response = wqs.dogetserverinformation(new WirisQuizzesStub.DoGetServerInformation()); System.out.println("Server info: "+response.getservername()+ " "+response.getversion()); catch (AxisFault e) { e.printstacktrace(); catch (RemoteException e) { e.printstacktrace(); Forgetting about the exception handling, this function is very simple. It calls the dogetserverinformation function of the service, with almost empty input. The returning object has two properties: servername and version. Now there is the second function commented below. public void testequivsymbolic(string mathml1, String mathml2) { try { WirisQuizzesStub.DoProcessQuestions dpq = new WirisQuizzesStub.DoProcessQuestions(); WirisQuizzesStub.ProcessQuestions pqs = new WirisQuizzesStub.ProcessQuestions(); dpq.setprocessquestions(pqs); WirisQuizzesStub.ProcessQuestion pq = new WirisQuizzesStub.ProcessQuestion();

9 2010, Maths for More WIRIS quizzes in your assessment system. V1 9 pqs.addprocessquestion(pq); WirisQuizzesStub.Question q = new WirisQuizzesStub.Question(); pq.setquestion(q); WirisQuizzesStub.CorrectAnswers cas = new WirisQuizzesStub.CorrectAnswers(); q.setcorrectanswers(cas); WirisQuizzesStub.CorrectAnswer ca = new WirisQuizzesStub.CorrectAnswer(); ca.setstring(mathml1); //1 ca.settype(wirisquizzesstub.mathtype.mathml); cas.addcorrectanswer(ca); WirisQuizzesStub.Assertions as = new WirisQuizzesStub.Assertions(); q.setassertions(as); WirisQuizzesStub.Assertion a = new WirisQuizzesStub.Assertion(); a.setname(wirisquizzesstub.assertionname.equiv_symbolic); //2 as.addassertion(a); WirisQuizzesStub.UserData u = new WirisQuizzesStub.UserData(); pq.setuserdata(u); WirisQuizzesStub.Answers ans = new WirisQuizzesStub.Answers(); u.setanswers(ans); WirisQuizzesStub.Answer an = new WirisQuizzesStub.Answer(); an.setstring(mathml2); //3 an.settype(wirisquizzesstub.mathtype.mathml); ans.addanswer(an); WirisQuizzesStub.Processes ps = new WirisQuizzesStub.Processes(); pq.setprocesses(ps); WirisQuizzesStub.ProcessesChoice pc = new WirisQuizzesStub.ProcessesChoice(); ps.addprocesseschoice(pc); pc.setgetcheckassertions(new WirisQuizzesStub.GetCheckAssertions()); //4 WirisQuizzesStub wqs = new WirisQuizzesStub(); //call process operation WirisQuizzesStub.DoProcessQuestionsResponse response = wqs.doprocessquestions(dpq); //5 WirisQuizzesStub.ProcessQuestionsResult pqsr = response.getprocessquestionsresult(); WirisQuizzesStub.ProcessQuestionResult pqr = pqsr.getprocessquestionresult()[0]; WirisQuizzesStub.GetCheckAssertionsResult gcar = pqr.getprocessquestionresultchoice()[0].getgetcheckassertionsresult(); WirisQuizzesStub.Check c = gcar.getcheck()[0]; //6 System.out.println("The result is: "+c.get_boolean()); catch (AxisFault e) { e.printstacktrace(); catch (RemoteException e) { e.printstacktrace(); We have to build the input message, constructing all the needed objects. The numbered lines are the interesting ones. 1. Set the first MathML string to be the correct answer.

10 2010, Maths for More WIRIS quizzes in your assessment system. V Define an assertion to be of type equiv_symbolic. This assertion checks whether the correct answer and the student s answer are mathematically equivalent. 3. Set the second MathML string to be the student s answer. 4. Add the operation getcheckassertions, i.e., evaluate the defined assertions. 5. Call the service. 6. Get the interesting return value. In these examples, we have seen that it is relatively easy to use this service. We only have used a very small part of the features of the service, so this is intended only to be a place where to start the not so trivial work of making a service client behind a question engine. For a more detailed specification of the service, see the reference and the formal specification in the WSDL file

WIRIS quizzes 2. Integration guide

WIRIS quizzes 2. Integration guide WIRIS quizzes 2. Integration guide Document Release: 1.2 2016 may, Maths for More www.wiris.com Contact: support@wiris.com Summary. This guide explains a set of scenarios solved with WIRIS quizzes 2. It

More information

Exercise SBPM Session-4 : Web Services

Exercise SBPM Session-4 : Web Services Arbeitsgruppe Exercise SBPM Session-4 : Web Services Kia Teymourian Corporate Semantic Web (AG-CSW) Institute for Computer Science, Freie Universität Berlin kia@inf.fu-berlin.de Agenda Presentation of

More information

Vebra Search Integration Guide

Vebra Search Integration Guide Guide Introduction... 2 Requirements... 2 How a Vebra search is added to your site... 2 Integration Guide... 3 HTML Wrappers... 4 Page HEAD Content... 4 CSS Styling... 4 BODY tag CSS... 5 DIV#s-container

More information

Implementing a chat button on TECHNICAL PAPER

Implementing a chat button on TECHNICAL PAPER Implementing a chat button on TECHNICAL PAPER Contents 1 Adding a Live Guide chat button to your Facebook page... 3 1.1 Make the chat button code accessible from your web server... 3 1.2 Create a Facebook

More information

introduction to XHTML

introduction to XHTML introduction to XHTML XHTML stands for Extensible HyperText Markup Language and is based on HTML 4.0, incorporating XML. Due to this fusion the mark up language will remain compatible with existing browsers

More information

Introduction to HTML5

Introduction to HTML5 Introduction to HTML5 History of HTML 1991 HTML first published 1995 1997 1999 2000 HTML 2.0 HTML 3.2 HTML 4.01 XHTML 1.0 After HTML 4.01 was released, focus shifted to XHTML and its stricter standards.

More information

HTML Overview. With an emphasis on XHTML

HTML Overview. With an emphasis on XHTML HTML Overview With an emphasis on XHTML What is HTML? Stands for HyperText Markup Language A client-side technology (i.e. runs on a user s computer) HTML has a specific set of tags that allow: the structure

More information

How browsers talk to servers. What does this do?

How browsers talk to servers. What does this do? HTTP HEADERS How browsers talk to servers This is more of an outline than a tutorial. I wanted to give our web team a quick overview of what headers are and what they mean for client-server communication.

More information

Lesson 12: JavaScript and AJAX

Lesson 12: JavaScript and AJAX Lesson 12: JavaScript and AJAX Objectives Define fundamental AJAX elements and procedures Diagram common interactions among JavaScript, XML and XHTML Identify key XML structures and restrictions in relation

More information

Introduction Add Item Add Folder Add External Link Add Course Link Add Test Add Selection Text Editing...

Introduction Add Item Add Folder Add External Link Add Course Link Add Test Add Selection Text Editing... Table of Contents Introduction... 2 Add Item... 3 Add Folder... 3 Add External Link... 4 Add Course Link... 4 Add Test... 4 Add Selection... 5 Text Editing... 8 Manage... 9 Instructional Media and Design

More information

GIMP WEB 2.0 MENUS. Before we begin this tutorial let s visually compare a standard navigation bar and a web 2.0 navigation bar.

GIMP WEB 2.0 MENUS. Before we begin this tutorial let s visually compare a standard navigation bar and a web 2.0 navigation bar. GIMP WEB 2.0 MENUS Before we begin this tutorial let s visually compare a standard navigation bar and a web 2.0 navigation bar. Standard Navigation Bar Web 2.0 Navigation Bar Now the all-important question

More information

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space.

HTML Summary. All of the following are containers. Structure. Italics Bold. Line Break. Horizontal Rule. Non-break (hard) space. HTML Summary Structure All of the following are containers. Structure Contains the entire web page. Contains information

More information

Notes. IS 651: Distributed Systems 1

Notes. IS 651: Distributed Systems 1 Notes Case study grading rubric: http://userpages.umbc.edu/~jianwu/is651/case-study-presentation- Rubric.pdf Each group will grade for other groups presentation No extra assignments besides the ones in

More information

Part A Short Answer (50 marks)

Part A Short Answer (50 marks) Part A Short Answer (50 marks) NOTE: Answers for Part A should be no more than 3-4 sentences long. 1. (5 marks) What is the purpose of HTML? What is the purpose of a DTD? How do HTML and DTDs relate to

More information

OpenScape Voice V8 Application Developers Manual. Programming Guide A31003-H8080-R

OpenScape Voice V8 Application Developers Manual. Programming Guide A31003-H8080-R OpenScape Voice V8 Application Developers Manual Programming Guide A31003-H8080-R100-4-7620 Our Quality and Environmental Management Systems are implemented according to the requirements of the ISO9001

More information

Tutorial on text transformation with pure::variants

Tutorial on text transformation with pure::variants Table of Contents 1. Overview... 1 2. About this tutorial... 1 3. Setting up the project... 2 3.1. Source Files... 4 3.2. Documentation Files... 5 3.3. Build Files... 6 4. Setting up the feature model...

More information

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology Java Applets, etc. Instructor: Dmitri A. Gusev Fall 2007 CS 502: Computers and Communications Technology Lecture 25, December 5, 2007 CGI (Common Gateway Interface) CGI is a standard for handling forms'

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

Composer Help. Web Request Common Block

Composer Help. Web Request Common Block Composer Help Web Request Common Block 7/4/2018 Web Request Common Block Contents 1 Web Request Common Block 1.1 Name Property 1.2 Block Notes Property 1.3 Exceptions Property 1.4 Request Method Property

More information

Alpha College of Engineering and Technology. Question Bank

Alpha College of Engineering and Technology. Question Bank Alpha College of Engineering and Technology Department of Information Technology and Computer Engineering Chapter 1 WEB Technology (2160708) Question Bank 1. Give the full name of the following acronyms.

More information

IT350 Web & Internet Programming. Fall 2012

IT350 Web & Internet Programming. Fall 2012 IT350 Web & Internet Programming Fall 2012 Asst. Prof. Adina Crăiniceanu http://www.usna.edu/users/cs/adina/teaching/it350/fall2012/ 2 Outline Class Survey / Role Call What is: - the web/internet? - web

More information

History of the Internet. The Internet - A Huge Virtual Network. Global Information Infrastructure. Client Server Network Connectivity

History of the Internet. The Internet - A Huge Virtual Network. Global Information Infrastructure. Client Server Network Connectivity History of the Internet It is desired to have a single network Interconnect LANs using WAN Technology Access any computer on a LAN remotely via WAN technology Department of Defense sponsors research ARPA

More information

Announcements. Paper due this Wednesday

Announcements. Paper due this Wednesday Announcements Paper due this Wednesday 1 Client and Server Client and server are two terms frequently used Client/Server Model Client/Server model when talking about software Client/Server model when talking

More information

Shankersinh Vaghela Bapu Institue of Technology

Shankersinh Vaghela Bapu Institue of Technology Branch: - 6th Sem IT Year/Sem : - 3rd /2014 Subject & Subject Code : Faculty Name : - Nitin Padariya Pre Upload Date: 31/12/2013 Submission Date: 9/1/2014 [1] Explain the need of web server and web browser

More information

Client-side Web Engineering 2 From XML to Client-side Mashups. SWE 642, Spring 2008 Nick Duan. February 6, What is XML?

Client-side Web Engineering 2 From XML to Client-side Mashups. SWE 642, Spring 2008 Nick Duan. February 6, What is XML? Client-side Web Engineering 2 From XML to Client-side Mashups SWE 642, Spring 2008 Nick Duan February 6, 2008 1 What is XML? XML extensible Markup Language Definition: XML is a markup language for documents

More information

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0

CSI 3140 WWW Structures, Techniques and Standards. Markup Languages: XHTML 1.0 CSI 3140 WWW Structures, Techniques and Standards Markup Languages: XHTML 1.0 HTML Hello World! Document Type Declaration Document Instance Guy-Vincent Jourdan :: CSI 3140 :: based on Jeffrey C. Jackson

More information

IT6503 WEB PROGRAMMING. Unit-I

IT6503 WEB PROGRAMMING. Unit-I Department of Information Technology Question Bank- Odd Semester 2015-2016 IT6503 WEB PROGRAMMING Unit-I SCRIPTING 1. What is HTML? Write the format of HTML program. 2. Differentiate HTML and XHTML. 3.

More information

Design Project. i385f Special Topics in Information Architecture Instructor: Don Turnbull. Elias Tzoc

Design Project. i385f Special Topics in Information Architecture Instructor: Don Turnbull. Elias Tzoc Design Project Site: News from Latin America Design Project i385f Special Topics in Information Architecture Instructor: Don Turnbull Elias Tzoc April 3, 2007 Design Project - 1 I. Planning [ Upper case:

More information

:38:00 1 / 14

:38:00 1 / 14 In this course you will be using XML Editor version 12.3 (oxygen for short from now on) for XML related work. The work includes writing XML Schema files with corresponding XML files, writing

More information

CSCI 5333 DBMS Spring 2018 Final Examination. Last Name: First Name: Student Id:

CSCI 5333 DBMS Spring 2018 Final Examination. Last Name: First Name: Student Id: CSCI 5333 DBMS Spring 2018 Final Examination Last Name: First Name: Student Id: Number: Time allowed: two hours. Total score: 100 points. This is a closed book examination but you can bring a cheat sheet.

More information

extensible Markup Language (XML) Basic Concepts

extensible Markup Language (XML) Basic Concepts (XML) Basic Concepts Giuseppe Della Penna Università degli Studi di L Aquila dellapenna@univaq.it http://www.di.univaq.it/gdellape This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

More information

CSCI 1100L: Topics in Computing Spring 2018 Web Page Project 50 points

CSCI 1100L: Topics in Computing Spring 2018 Web Page Project 50 points CSCI 1100L: Topics in Computing Spring 2018 Web Page Project 50 points Project Due (All lab sections): Check on elc Assignment Objectives: Lookup and correctly use HTML tags. Lookup and correctly use CSS

More information

Bookmarks to the headings on this page:

Bookmarks to the headings on this page: Squiz Matrix User Manual Library The Squiz Matrix User Manual Library is a prime resource for all up-to-date manuals about Squiz's flagship CMS Easy Edit Suite Current for Version 4.8.1 Installation Guide

More information

REST Easy with Infrared360

REST Easy with Infrared360 REST Easy with Infrared360 A discussion on HTTP-based RESTful Web Services and how to use them in Infrared360 What is REST? REST stands for Representational State Transfer, which is an architectural style

More information

A designers guide to creating & editing templates in EzPz

A designers guide to creating & editing templates in EzPz A designers guide to creating & editing templates in EzPz Introduction...2 Getting started...2 Actions...2 File Upload...3 Tokens...3 Menu...3 Head Tokens...4 CSS and JavaScript included files...4 Page

More information

Lecture 6: Web Security CS /17/2017

Lecture 6: Web Security CS /17/2017 Lecture 6: Web Security CS5431 03/17/2017 2015 Security Incidents Web Vulnerabilities by Year 2500 2000 1500 1000 500 0 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015

More information

MODULE 2 HTML 5 FUNDAMENTALS. HyperText. > Douglas Engelbart ( )

MODULE 2 HTML 5 FUNDAMENTALS. HyperText. > Douglas Engelbart ( ) MODULE 2 HTML 5 FUNDAMENTALS HyperText > Douglas Engelbart (1925-2013) Tim Berners-Lee's proposal In March 1989, Tim Berners- Lee submitted a proposal for an information management system to his boss,

More information

Javascript. UNIVERSITY OF MASSACHUSETTS AMHERST CMPSCI 120 Fall 2010

Javascript. UNIVERSITY OF MASSACHUSETTS AMHERST CMPSCI 120 Fall 2010 Lecture 14 Javascript Announcements Project #2 New website Exam#2 No. Class Date Subject and Handout(s) 17 11/4/10 Examination Review Practice Exam PDF 18 11/9/10 Search, Safety, Security Slides PDF UMass

More information

Interfaces to tools: applications, libraries, Web applications, and Web services

Interfaces to tools: applications, libraries, Web applications, and Web services Interfaces to tools: applications, libraries, Web applications, and Web services Matúš Kalaš The Bioinformatics Lab SS 2013 14 th May 2013 Plurality of interfaces for accessible bioinformatics: Applications

More information

Ajax Simplified Nicholas Petreley Abstract Ajax can become complex as far as implementation, but the concept is quite simple. This is a simple tutorial on Ajax that I hope will ease the fears of those

More information

Internet publishing HTML (XHTML) language. Petr Zámostný room: A-72a phone.:

Internet publishing HTML (XHTML) language. Petr Zámostný room: A-72a phone.: Internet publishing HTML (XHTML) language Petr Zámostný room: A-72a phone.: 4222 e-mail: petr.zamostny@vscht.cz Essential HTML components Element element example Start tag Element content End tag

More information

WME MathEdit. An initial report on the WME tool for creating & editing mathematics. by K. Cem Karadeniz

WME MathEdit. An initial report on the WME tool for creating & editing mathematics. by K. Cem Karadeniz 00 000 00 0 000 000 0 WME MathEdit An initial report on the WME tool for creating & editing mathematics by K. Cem Karadeniz 00 000 00 0 000 000 0 Outline MathML WME MathEdit Tool Selection for Implementation

More information

Web Development & Design Foundations with XHTML. Chapter 2 Key Concepts

Web Development & Design Foundations with XHTML. Chapter 2 Key Concepts Web Development & Design Foundations with XHTML Chapter 2 Key Concepts Learning Outcomes In this chapter, you will learn about: XHTML syntax, tags, and document type definitions The anatomy of a web page

More information

UPS Web Services Sample Code Documentation

UPS Web Services Sample Code Documentation UPS Web Services Sample Code Documentation Version: 3.00 NOTICE The use, disclosure, reproduction, modification, transfer, or transmittal of this work for any purpose in any form or by any means without

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Install Komodo Edit on your computer right away. 3. Bring laptops to next class

More information

Why HTML5? Why not XHTML2? Learning from history how to drive the future of the Web

Why HTML5? Why not XHTML2? Learning from history how to drive the future of the Web Why HTML5? Why not XHTML2? Learning from history how to drive the future of the Web Michael(tm) Smith mike@w3.org http://people.w3.org/mike sideshowbarker on Twitter, GitHub, &c W3C Interaction domain

More information

Unit Notes. ICAWEB411A Produce basic client-side script for dynamic web pages Topic 1 Introduction to JavaScript

Unit Notes. ICAWEB411A Produce basic client-side script for dynamic web pages Topic 1 Introduction to JavaScript Unit Notes ICAWEB411A Produce basic client-side script for dynamic web pages Topic 1 Introduction to JavaScript Copyright, 2013 by TAFE NSW - North Coast Institute Date last saved: 18 September 2013 by

More information

Agenda. My Introduction. CIS 154 Javascript Programming

Agenda. My Introduction. CIS 154 Javascript Programming CIS 154 Javascript Programming Brad Rippe brippe@fullcoll.edu Agenda Brief Javascript Introduction Course Requirements Brief HTML review On to JavaScript Assignment 1 Due Next week Helpful Tools Questions/Comments

More information

Aim behind client server architecture Characteristics of client and server Types of architectures

Aim behind client server architecture Characteristics of client and server Types of architectures QA Automation - API Automation - All in one course Course Summary: In detailed, easy, step by step, real time, practical and well organized Course Not required to have any prior programming knowledge,

More information

From administrivia to what really matters

From administrivia to what really matters From administrivia to what really matters Questions about the syllabus? Logistics Daily lectures, quizzes and labs Two exams and one long project My teaching philosophy...... is informed by my passion

More information

HTML HTML. Chris Seddon CRS Enterprises Ltd 1

HTML HTML. Chris Seddon CRS Enterprises Ltd 1 Chris Seddon seddon-software@keme.co.uk 2000-12 CRS Enterprises Ltd 1 2000-12 CRS Enterprises Ltd 2 Reference Sites W3C W3C w3schools DevGuru Aptana GotAPI Dog http://www.w3.org/ http://www.w3schools.com

More information

CSC309 Midterm Exam Summer 2007

CSC309 Midterm Exam Summer 2007 UNIVERSITY OF TORONTO Faculty of Arts and Science Midterm Exam July 2007 CSC 309 H1 F Instructor Dr. Radu Negulescu Duration 1 hour Examination Aids: One single-sided page containing notes NAME STUDENT

More information

For live Java EE training, please see training courses at

For live Java EE training, please see training courses at Java with Eclipse: Setup & Getting Started Originals of Slides and Source Code for Examples: http://courses.coreservlets.com/course-materials/java.html For live Java EE training, please see training courses

More information

Lesson 11: JavaScript Libraries

Lesson 11: JavaScript Libraries Lesson 11: JavaScript Libraries Objectives Identify and evaluate the benefits and drawbacks of using predefined libraries and plug-ins, such as jquery, Spry, Dojo, MooTools and Prototype Identify steps

More information

CS134 Web Site Design & Development. Quiz1

CS134 Web Site Design & Development. Quiz1 CS134 Web Site Design & Development Quiz1 Name: Score: Email: I Multiple Choice Questions (2 points each, total 20 points) 1. Which of the following is an example of an IP address? a. www.whitehouse.gov

More information

LA TROBE UNIVERSITY SEMESTER ONE EXAMINATION PERIOD CAMPUS AW BE BU MI SH ALLOWABLE MATERIALS

LA TROBE UNIVERSITY SEMESTER ONE EXAMINATION PERIOD CAMPUS AW BE BU MI SH ALLOWABLE MATERIALS LIBRARY USE LA TROBE UNIVERSITY SEMESTER ONE EXAMINATION PERIOD 2013 Student ID: Seat Number: Unit Code: CSE2WD Paper No: 1 Unit Name: Paper Name: Reading Time: Writing Time: Web Development Final 15 minutes

More information

INSTITUTE OF TECHNOLOGY AND ADVANCED LEARNING SCHOOL OF APPLIED TECHNOLOGY COURSE OUTLINE ACADEMIC YEAR 2012/2013

INSTITUTE OF TECHNOLOGY AND ADVANCED LEARNING SCHOOL OF APPLIED TECHNOLOGY COURSE OUTLINE ACADEMIC YEAR 2012/2013 INSTITUTE OF TECHNOLOGY AND ADVANCED LEARNING SCHOOL OF APPLIED TECHNOLOGY COURSE OUTLINE ACADEMIC YEAR 2012/2013 COMPUTER AND NETWORK SUPPORT TECHNICIAN COURSE NUMBER: NEST 401 COURSE NAME: INTERNET SCRIPT

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign

More information

CIS 228 (Fall 2011) Exam 1, 9/27/11

CIS 228 (Fall 2011) Exam 1, 9/27/11 CIS 228 (Fall 2011) Exam 1, 9/27/11 Name (sign) Name (print) email Question Score 1 12 2 12 3 12 4 12 5 12 6 12 7 12 8 16 TOTAL 100 CIS 228, exam 1 1 09/27/11 Question 1 True or false: _F_ A Cascading

More information

A Web-Based Introduction

A Web-Based Introduction A Web-Based Introduction to Programming Essential Algorithms, Syntax, and Control Structures Using PHP, HTML, and MySQL Third Edition Mike O'Kane Carolina Academic Press Durham, North Carolina Contents

More information

Course Overview. Week 1

Course Overview. Week 1 Course Overview Week 1 AGENDA WEBD101 Introduction Course Requirements Attendance Assignment Submissions This week 2 I live in Ohio Introduction I have worked for Franklin University as an adjunct / employee

More information

MP3 (W7,8,&9): HTML Validation (Debugging) Instruction

MP3 (W7,8,&9): HTML Validation (Debugging) Instruction MP3 (W7,8,&9): HTML Validation (Debugging) Instruction Objectives Required Readings Supplemental Reading Assignment In this project, you will learn about: - Explore accessibility issues and consider implications

More information

CS 10: Problem solving via Object Oriented Programming. Web Services

CS 10: Problem solving via Object Oriented Programming. Web Services CS 10: Problem solving via Object Oriented Programming Web Services Big picture: query online photo database Flickr and display results Overview Give me pictures of cats Your computer Flickr photo database

More information

Web Publishing Basics I

Web Publishing Basics I Web Publishing Basics I Jeff Pankin Information Services and Technology Contents Course Objectives... 2 Creating a Web Page with HTML... 3 What is Dreamweaver?... 3 What is HTML?... 3 What are the basic

More information

Getting Started with the Bullhorn SOAP API and Java

Getting Started with the Bullhorn SOAP API and Java Getting Started with the Bullhorn SOAP API and Java Introduction This article is targeted at developers who want to do custom development using the Bullhorn SOAP API and Java. You will create a sample

More information

SELENIUM - REMOTE CONTROL

SELENIUM - REMOTE CONTROL http://www.tutorialspoint.com/selenium/selenium_rc.htm SELENIUM - REMOTE CONTROL Copyright tutorialspoint.com Selenium Remote Control RC was the main Selenium project that sustained for a long time before

More information

Project 3 CIS 408 Internet Computing

Project 3 CIS 408 Internet Computing Problem 1: Project 3 CIS 408 Internet Computing Simple Table Template Processing with Java Script and DOM This project has you run code in your browser. Create a file TableTemplate.js that implements a

More information

Author: Irena Holubová Lecturer: Martin Svoboda

Author: Irena Holubová Lecturer: Martin Svoboda NPRG036 XML Technologies Lecture 1 Introduction, XML, DTD 19. 2. 2018 Author: Irena Holubová Lecturer: Martin Svoboda http://www.ksi.mff.cuni.cz/~svoboda/courses/172-nprg036/ Lecture Outline Introduction

More information

HTML. HTML Evolution

HTML. HTML Evolution Overview stands for HyperText Markup Language. Structured text with explicit markup denoted within < and > delimiters. Not what-you-see-is-what-you-get (WYSIWYG) like MS word. Similar to other text markup

More information

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted

Announcements. 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted Announcements 1. Class webpage: Have you been reading the announcements? Lecture slides and coding examples will be posted 2. Campus is closed on Monday. 3. Install Komodo Edit on your computer this weekend.

More information

Schenker AB. Interface documentation Map integration

Schenker AB. Interface documentation Map integration Schenker AB Interface documentation Map integration Index 1 General information... 1 1.1 Getting started...1 1.2 Authentication...1 2 Website Map... 2 2.1 Information...2 2.2 Methods...2 2.3 Parameters...2

More information

UR what? ! URI: Uniform Resource Identifier. " Uniquely identifies a data entity " Obeys a specific syntax " schemename:specificstuff

UR what? ! URI: Uniform Resource Identifier.  Uniquely identifies a data entity  Obeys a specific syntax  schemename:specificstuff CS314-29 Web Protocols URI, URN, URL Internationalisation Role of HTML and XML HTTP and HTTPS interacting via the Web UR what? URI: Uniform Resource Identifier Uniquely identifies a data entity Obeys a

More information

GRAPHIC WEB DESIGNER PROGRAM

GRAPHIC WEB DESIGNER PROGRAM NH128 HTML Level 1 24 Total Hours COURSE TITLE: HTML Level 1 COURSE OVERVIEW: This course introduces web designers to the nuts and bolts of HTML (HyperText Markup Language), the programming language used

More information

02267: Software Development of Web Services

02267: Software Development of Web Services 02267: Software Development of Web Services Week 2 Hubert Baumeister huba@dtu.dk Department of Applied Mathematics and Computer Science Technical University of Denmark Fall 2016 1 Recap Distributed IT

More information

Apache Axis. Dr. Kanda Runapongsa Department of Computer Engineering Khon Kaen University. Overview

Apache Axis. Dr. Kanda Runapongsa Department of Computer Engineering Khon Kaen University. Overview Apache Axis Dr. Kanda Runapongsa Department of Computer Engineering Khon Kaen University 1 What is Apache Axis Overview What Apache Axis Provides Axis Installation.jws Extension Web Service Deployment

More information

Building Desktop RIAs with PHP, HTML & Javascript in AIR. Ed Finkler, ZendCon08, September 17, 2008 funkatron.com /

Building Desktop RIAs with PHP, HTML & Javascript in AIR. Ed Finkler, ZendCon08, September 17, 2008 funkatron.com / Building Desktop RIAs with PHP, HTML & Javascript in AIR Ed Finkler, ZendCon08, September 17, 2008 funkatron.com / funkatron@gmail.com What is AIR? For the desktop Not a browser plugin Build desktop apps

More information

Setup and Getting Startedt Customized Java EE Training:

Setup and Getting Startedt Customized Java EE Training: 2011 Marty Hall Java a with Eclipse: Setup and Getting Startedt Customized Java EE Training: http://courses.coreservlets.com/ 2011 Marty Hall For live Java EE training, please see training courses at http://courses.coreservlets.com/.

More information

<tr><td>last Name </td><td><input type="text" name="shippingaddress-last-name"

<tr><td>last Name </td><td><input type=text name=shippingaddress-last-name // API Setup Parameters $gatewayurl = 'https://secure.payscout.com/api/v2/three-step'; $APIKey = '2F822Rw39fx762MaV7Yy86jXGTC7sCDy'; // If there is no POST data or a token-id, print the initial Customer

More information

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4

More information

Using htmlarea & a Database to Maintain Content on a Website

Using htmlarea & a Database to Maintain Content on a Website Using htmlarea & a Database to Maintain Content on a Website by Peter Lavin December 30, 2003 Overview If you wish to develop a website that others can contribute to one option is to have text files sent

More information

Session 8. Introduction to Servlets. Semester Project

Session 8. Introduction to Servlets. Semester Project Session 8 Introduction to Servlets 1 Semester Project Reverse engineer a version of the Oracle site You will be validating form fields with Ajax calls to a server You will use multiple formats for the

More information

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4.

IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. IT2353 WEB TECHNOLOGY Question Bank UNIT I 1. What is the difference between node and host? 2. What is the purpose of routers? 3. Define protocol. 4. Why are the protocols layered? 5. Define encapsulation.

More information

Building Your Blog Audience. Elise Bauer & Vanessa Fox BlogHer Conference Chicago July 27, 2007

Building Your Blog Audience. Elise Bauer & Vanessa Fox BlogHer Conference Chicago July 27, 2007 Building Your Blog Audience Elise Bauer & Vanessa Fox BlogHer Conference Chicago July 27, 2007 1 Content Community Technology 2 Content Be. Useful Entertaining Timely 3 Community The difference between

More information

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes CMPT 165 INTRODUCTION TO THE INTERNET AND THE WORLD WIDE WEB By Hassan S. Shavarani UNIT2: MARKUP AND HTML 1 IN THIS UNIT YOU WILL LEARN THE FOLLOWING Create web pages in HTML with a text editor, following

More information

Introducing live graphics gems to educational material

Introducing live graphics gems to educational material Introducing live graphics gems to educational material Johannes Görke, Frank Hanisch, Wolfgang Straíer WSI/GRIS University of Tübingen, Sand 14, 72076 Tübingen, Germany Thiruvarangan Ramaraj CS525 Graphics

More information

Assignment 2. Start: 15 October 2010 End: 29 October 2010 VSWOT. Server. Spot1 Spot2 Spot3 Spot4. WS-* Spots

Assignment 2. Start: 15 October 2010 End: 29 October 2010 VSWOT. Server. Spot1 Spot2 Spot3 Spot4. WS-* Spots Assignment 2 Start: 15 October 2010 End: 29 October 2010 In this assignment you will learn to develop distributed Web applications, called Web Services 1, using two different paradigms: REST and WS-*.

More information

User Interaction: jquery

User Interaction: jquery User Interaction: jquery Assoc. Professor Donald J. Patterson INF 133 Fall 2012 1 jquery A JavaScript Library Cross-browser Free (beer & speech) It supports manipulating HTML elements (DOM) animations

More information

Invoking Web Services. with Axis. Web Languages Course 2009 University of Trento

Invoking Web Services. with Axis. Web Languages Course 2009 University of Trento Invoking Web Services with Axis Web Languages Course 2009 University of Trento Lab Objective Refresh the Axis Functionalities Invoke Web Services (client-side) 3/16/2009 Gaia Trecarichi - Web Languages

More information

Ch04 JavaServer Pages (JSP)

Ch04 JavaServer Pages (JSP) Ch04 JavaServer Pages (JSP) Introduce concepts of JSP Web components Compare JSP with Servlets Discuss JSP syntax, EL (expression language) Discuss the integrations with JSP Discuss the Standard Tag Library,

More information

Recall: Document Object Model (DOM)

Recall: Document Object Model (DOM) Page 1 Document Object Model (DOM) CSE 190 M (Web Programming), Spring 2007 University of Washington References: Forbes/Steele, Chipman (much of this content was stolen from them) Recall: Document Object

More information

Qualys Cloud Platform v2.x API Release Notes

Qualys Cloud Platform v2.x API Release Notes API Release Notes Version 2.35.1.0 January 2, 2019 Qualys Cloud Suite API gives you many ways to integrate your programs and API calls with Qualys capabilities. You ll find all the details in our user

More information

Documents and computation. Introduction to JavaScript. JavaScript vs. Java Applet. Myths. JavaScript. Standard

Documents and computation. Introduction to JavaScript. JavaScript vs. Java Applet. Myths. JavaScript. Standard Introduction to Prof. Ing. Andrea Omicini II Facoltà di Ingegneria, Cesena Alma Mater Studiorum, Università di Bologna andrea.omicini@unibo.it Documents and computation HTML Language for the description

More information

Web Standards Mastering HTML5, CSS3, and XML

Web Standards Mastering HTML5, CSS3, and XML Web Standards Mastering HTML5, CSS3, and XML Leslie F. Sikos, Ph.D. orders-ny@springer-sbm.com www.springeronline.com rights@apress.com www.apress.com www.apress.com/bulk-sales www.apress.com Contents

More information

Shane Gellerman 10/17/11 LIS488 Assignment 3

Shane Gellerman 10/17/11 LIS488 Assignment 3 Shane Gellerman 10/17/11 LIS488 Assignment 3 Background to Understanding CSS CSS really stands for Cascading Style Sheets. It functions within an HTML document, so it is necessary to understand the basics

More information

JSP - ACTIONS. There is only one syntax for the Action element, as it conforms to the XML standard:

JSP - ACTIONS. There is only one syntax for the Action element, as it conforms to the XML standard: http://www.tutorialspoint.com/jsp/jsp_actions.htm JSP - ACTIONS Copyright tutorialspoint.com JSP actions use constructs in XML syntax to control the behavior of the servlet engine. You can dynamically

More information

CSCI-1680 WWW Rodrigo Fonseca

CSCI-1680 WWW Rodrigo Fonseca CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and

More information

Copyright 2011 Sakun Sharma

Copyright 2011 Sakun Sharma Maintaining Sessions in JSP We need sessions for security purpose and multiuser support. Here we are going to use sessions for security in the following manner: 1. Restrict user to open admin panel. 2.

More information

Chapter 15 Plug-ins, ActiveX, and Applets

Chapter 15 Plug-ins, ActiveX, and Applets Chapter 15 Plug-ins, ActiveX, and Applets Presented by Thomas Powell Slides adopted from HTML & XHTML: The Complete Reference, 4th Edition 2003 Thomas A. Powell Web Programming Toolbox Redux Java Applets

More information

E-Business Systems 1 INTE2047 Lab Exercises. Lab 5 Valid HTML, Home Page & Editor Tables

E-Business Systems 1 INTE2047 Lab Exercises. Lab 5 Valid HTML, Home Page & Editor Tables Lab 5 Valid HTML, Home Page & Editor Tables Navigation Topics Covered Server Side Includes (SSI) PHP Scripts menu.php.htaccess assessment.html labtasks.html Software Used: HTML Editor Background Reading:

More information

Simple SCORM LMS Adapter Full Documentation

Simple SCORM LMS Adapter Full Documentation Simple SCORM LMS Adapter Full Documentation Version 3.1.0 Table of Contents Introduction What is the Simple SCORM LMS Adapter? How the Simple SCORM LMS Adapter Works Technical Details Figure A. On Load

More information