Internationalizing JavaScript Applications Norbert Lindenberg. Norbert Lindenberg All rights reserved.

Size: px
Start display at page:

Download "Internationalizing JavaScript Applications Norbert Lindenberg. Norbert Lindenberg 2013. All rights reserved."

Transcription

1 Internationalizing JavaScript Applications Norbert Lindenberg Norbert Lindenberg All rights reserved.

2 Agenda Unicode support Collation Number and date/time formatting Localizable resources Message construction 2

3 JavaScript is ECMAScript Language ECMAScript Internationalization API Browser: DOM, Navigator, XMLHttpRequest Server: Node.js Platforms: Firefox OS, Windows 8, Phonegap Libraries: jquery, Dojo, YUI, GWT, Node modules, etc. 3

4 ECMAScript Language Specification Developed by Ecma TC 39 Language syntax and semantics Core API: Object, String, Array, RegExp,... Edition 5.1 current Edition 6 expected December

5 ECMAScript Internationalization API Specification Developed by Ecma TC 39 + experts API: Collator, NumberFormat, DateTimeFormat Edition 1 approved December 2012 Chrome, Opera, Explorer, Windows shipped; Firefox, Node.js coming Edition 2 expected December

6 Unicode

7 Unicode support All text in UTF-16 internally UTF-8 well supported for transport Need to identify charset in <script> tags, Content-Type headers Need to use encodeuricomponent for path and query string components 7

8 Occupy Wall Street.

9 Supplementary characters Characters above U+FFFF Emoji, rare CJK, ancient scripts, musical symbols,... 2 code units in UTF-16 9

10 Today: UCS-2 or UTF-16? UCS-2: Regular expressions String comparison Case conversion UTF-16: Source text conversion URI handling 10

11 Today: UCS-2 or UTF-16? UCS-2: Regular expressions String comparison Case conversion UTF-16: Source text conversion URI handling DOM, text input, text rendering, XMLHttpRequest 11

12 ECMAScript 6: UTF-16 Case conversion for full Unicode Full Unicode in identifiers String accessors for code points But: no change to low-level string comparison Planned: New Unicode mode in regular expressions 12

13 Regular expressions RegExp in ES5 doesn t have much Unicode support No support for Unicode character properties No support for supplementary characters 13

14 Regular expressions CSet (inimino): Character classes with supplementary characters XRegExp (Steven Levithan and Mathias Bynens): Unicode categories and properties with supplementary characters 14

15 Unicode normalization Makes strings be equal that users perceive as equal (more or less) ä = a U+00E4 = U+0061 U+0308 = U+AE40 = U+1100 U+1175 U+11B7 15

16 Unicode normalization ECMAScript 5 assumes normalization happens where needed Reality: applications have to do it ECMAScript 6: String.prototype.normalize " ".normalize("nfd") "\u1100\u1175\u11b7" Libraries available, but not up to date: unorm (Matsuza) Richard Ishida s normalizer 16

17 .

18 .

19 Internationalized domain names Unicode at user interface ASCII under the hood. = xn--1lq90ic7fzpc.xn--fiqs8s Main steps: normalization (as discussed) punycode (Mathias Bynens has latest) 19

20 Collation

21 Collation (sorting) Old: String.prototype.localeCompare Only string argument New: Intl.Collator locales options Fixed: String.prototype.localeCompare With locales and options arguments 21

22 Locales BCP 47 language tags Language, script, country codes es, en-au, zh-hans-cn Unicode locale extension de-u-co-phonebk Preference lists [ mr, hi, en-in ] 22

23 Locale negotiation BCP 47 Lookup [ es-gt, es-mx ] es-gt, es, es-mx Best fit implementation defined [ es-gt, es-mx ] es-gt, es-mx, es Unicode extension handled separately 23

24 Collator extensions co: collation phonebook, pinyin,... kf: case first upper, lower kn: numeric sorting 24

25 Collator options localematcher: lookup, best fit usage: sort, search sensitivity: base, accent, case, variant ignorepunctuation numeric, casefirst 25

26 Non-ECMAScript Nothing good found (some for Latin only) Collation is hard Knowledge of full Unicode character set Big tables Send lists that need alphabetic sorting to server 26

27 Number formatting 27

28 Number formatting Old: Number.prototype.toLocaleString No arguments New: Intl.NumberFormat locales options Fixed: Number.prototype.toLocaleString With locales and options arguments 28

29 NumberFormat extensions nu: numbering system 29

30 NumberFormat options localematcher: lookup, best fit style: decimal, currency, percent currency: ISO 4217 currency code currencydisplay: symbol, code, name minimum/maximum digits usegrouping 30

31 Non-ECMAScript % ๙ #, Globalize Dojo Closure Windows s ilib : currency formatting. %: percent formatting. ๙: numbering systems. #: digit settings.,: grouping separator option. : supported locales. 31

32 Date and time formatting

33 Date and time formatting Old: Date.prototype.toLocale[ Date Time]String No arguments New: Intl.DateTimeFormat locales options Fixed: Date.prototype.toLocale[ Date Time]String With locales and options arguments 33

34 DateTimeFormat extensions ca: calendar nu: numbering system 34

35 DateTimeFormat options localematcher: lookup, best fit timezone: UTC hour12 weekday, era, year, month, day, hour, minute, second, timezonename: components formatmatcher: basic, best fit 35

36 Non-ECMAScript ca tz ๙ Globalize Dojo Closure Windows 8? -?? Moment YUI ca: calendars. tz: time zones. ๙: numbering systems. : supported locales. 36

37 Resources

38 Localizable resources ECMAScript doesn t have an I/O system, therefore no standard resource loading Developers have invented many different mechanisms 38

39 Representation At runtime, use object as key-value map JSON good for transfer; not as source Localizers need comments Existing source formats have problems Java properties files are not UTF-8 gettext.po files encoding is unspecified YUI uses its own YRB format 39

40 How dynamic would you like it? Making resources available to application Inject strings/objects into JavaScript code Bundle resources with JavaScript code Load resource bundles at runtime 40

41 Injecting strings into JavaScript Server knows locale when generating JavaScript and HTML Inject strings or objects directly where needed E.g., JavaServer Pages Standard Tag Library: <fmt:bundle basename="messages > <script> alert("<fmt:message key='hello'/>"); </script> </fmt:bundle> 41

42 Injecting strings into JavaScript Problems: Mixes multiple programming languages Can introduce syntax errors through localization 42

43 Bundling resources with JavaScript Server knows locale when serving JS Bundles resources with JavaScript Convert to JavaScript/JSON Concatenate with other JavaScript Resources: var MyResources = {HELLO: " "}; Code: alert(myresources.hello); 43

44 Loading resources at runtime Locale not known until runtime Request resources at runtime Using XMLHttpRequest By creating script tag Resources in JSON or module format 44

45 Loading resources at runtime Cross-domain support? Not with XMLHttpRequest Possible with script tag Synchronous access? More convenient programming model Can lock up browser BCP 47 support? Many loaders assume aa-aa format 45

46 Access to resources in libraries Dojo Loading at runtime, synchronous GWT Injecting resources (Constant) Bundling resources (with HTML, Dictionary) YUI Bundling resources via module loader 46

47 Message construction Photo Den Widhana

48 Message construction Substitution {user} went to {city}. {user} {city} 48

49 Message construction Plurals {user} est allé à {city}. {user1} et {user2} sont allés à {city}. 1-6 forms depending on language {number, plural {one {...} few {...} many {...}}} 49

50 Message construction Gender {user} est allé à {city}. {user} est allée à {city}. 1-4 forms depending on language {gender, select {female {...} male {...} unknown {...}}} 50

51 Message construction {gender, select { female {num, plural { one {{user1} est allée à {city}.} other {{user1} et {user2} sont allées à {city}.}}} male {num, plural { one {{user1} est allé à {city}.} other {{user1} et {user2} sont allés à {city}.}}} }} 51

52 Message construction Google has MessageFormat for Closure environment Alex Sexton provided standalone version Mozilla has even more ambitious L20n library 52

53 Summary ECMAScript Internationalization API provides core functionality ecmascript-internationalization-api/ Libraries provide more internationalization support than you may think javascript-internationalization/ 53

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010 Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache

More information

QML and JavaScript for Native App Development

QML and JavaScript for Native App Development Esri Developer Summit March 8 11, 2016 Palm Springs, CA QML and JavaScript for Native App Development Michael Tims Lucas Danzinger Agenda Native apps. Why? Overview of Qt and QML How to use JavaScript

More information

XML Processing and Web Services. Chapter 17

XML Processing and Web Services. Chapter 17 XML Processing and Web Services Chapter 17 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of http://www.funwebdev.com Web Development Objectives 1 XML Overview 2 XML Processing

More information

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Rational Application Developer, Version 8.0, contains

More information

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013

NoSQL web apps. w/ MongoDB, Node.js, AngularJS. Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 NoSQL web apps w/ MongoDB, Node.js, AngularJS Dr. Gerd Jungbluth, NoSQL UG Cologne, 4.9.2013 About us Passionate (web) dev. since fallen in love with Sinclair ZX Spectrum Academic background in natural

More information

Citrix StoreFront. Customizing the Receiver for Web User Interface. 2012 Citrix. All rights reserved.

Citrix StoreFront. Customizing the Receiver for Web User Interface. 2012 Citrix. All rights reserved. Citrix StoreFront Customizing the Receiver for Web User Interface 2012 Citrix. All rights reserved. Customizing the Receiver for Web User Interface Introduction Receiver for Web provides a simple mechanism

More information

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com

Progressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com Progressive Enhancement With GQuery and GWT Ray Cromwell ray@timefire.com Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads

More information

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev

AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev International Journal "Information Technologies & Knowledge" Vol.5 / 2011 319 AUTOMATED CONFERENCE CD-ROM BUILDER AN OPEN SOURCE APPROACH Stefan Karastanev Abstract: This paper presents a new approach

More information

Product Internationalization of a Document Management System

Product Internationalization of a Document Management System Case Study Product Internationalization of a ì THE CUSTOMER A US-based provider of proprietary Legal s and Archiving solutions, with a customizable document management framework. The customer s DMS was

More information

Types of Cloud Computing

Types of Cloud Computing Types of Cloud Computing (SaaS)Software as a Service XaaS (PaaS) Platform as a Service (IaaS) Infrastructure as a Service Access to Cloud computing Service Web URL (standard HTTP methods) web brower HTTP

More information

Client-side Web Engineering From HTML to AJAX

Client-side Web Engineering From HTML to AJAX Client-side Web Engineering From HTML to AJAX SWE 642, Spring 2008 Nick Duan 1 What is Client-side Engineering? The concepts, tools and techniques for creating standard web browser and browser extensions

More information

XSS Lightsabre techniques. using Hackvertor

XSS Lightsabre techniques. using Hackvertor XSS Lightsabre techniques using Hackvertor What is Hackvertor? Tag based conversion tool Javascript property checker Javascript/HTML execution DOM browser Saves you writing code Free and no ads! Whoo hoo!

More information

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN

MO 25. Aug. 2008, 17:00 UHR RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN 082 MO 25. Aug. 2008, 17:00 UHR 0 RICH INTERNET APPLICATIONS MEHR BISS FÜR WEBANWENDUNGEN 1 Rich Internet Applications - Definition «Rich Internet Applications (RIAs) are web applications that have the

More information

Facebook Twitter YouTube Google Plus Website Email

Facebook Twitter YouTube Google Plus Website Email PHP MySQL COURSE WITH OOP COURSE COVERS: PHP MySQL OBJECT ORIENTED PROGRAMMING WITH PHP SYLLABUS PHP 1. Writing PHP scripts- Writing PHP scripts, learn about PHP code structure, how to write and execute

More information

How To Write A Web Server In Javascript

How To Write A Web Server In Javascript LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client

More information

Unicode Security. Software Vulnerability Testing Guide. July 2009 Casaba Security, LLC www.casabasecurity.com

Unicode Security. Software Vulnerability Testing Guide. July 2009 Casaba Security, LLC www.casabasecurity.com Unicode Security Software Vulnerability Testing Guide (DRAFT DOCUMENT this document is currently a preview in DRAFT form. Please contact me with corrections or feedback.) Software Globalization provides

More information

MASTERTAG DEVELOPER GUIDE

MASTERTAG DEVELOPER GUIDE MASTERTAG DEVELOPER GUIDE TABLE OF CONTENTS 1 Introduction... 4 1.1 What is the zanox MasterTag?... 4 1.2 What is the zanox page type?... 4 2 Create a MasterTag application in the zanox Application Store...

More information

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007 WWW World Wide Web Aka The Internet dr. C. P. J. Koymans Informatics Institute Universiteit van Amsterdam November 30, 2007 dr. C. P. J. Koymans (UvA) WWW November 30, 2007 1 / 36 WWW history (1) 1968

More information

Example. Represent this as XML

Example. Represent this as XML Example INF 221 program class INF 133 quiz Assignment Represent this as XML JSON There is not an absolutely correct answer to how to interpret this tree in the respective languages. There are multiple

More information

Overview. In the beginning. Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript

Overview. In the beginning. Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript Overview In the beginning Static vs. Dynamic Content Issues with Client Side Scripting What is JavaScript? Syntax and the Document Object Model Moving forward with JavaScript AJAX Libraries and Frameworks

More information

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue

Mobile Web Applications. Gary Dubuque IT Research Architect Department of Revenue Mobile Web Applications Gary Dubuque IT Research Architect Department of Revenue Summary Times are approximate 10:15am 10:25am 10:35am 10:45am Evolution of Web Applications How they got replaced by native

More information

Internationalizing the Domain Name System. Šimon Hochla, Anisa Azis, Fara Nabilla

Internationalizing the Domain Name System. Šimon Hochla, Anisa Azis, Fara Nabilla Internationalizing the Domain Name System Šimon Hochla, Anisa Azis, Fara Nabilla Internationalize Internet Master in Innovation and Research in Informatics problematic of using non-ascii characters ease

More information

EOP ASSIST: A Software Application for K 12 Schools and School Districts Installation Manual

EOP ASSIST: A Software Application for K 12 Schools and School Districts Installation Manual EOP ASSIST: A Software Application for K 12 Schools and School Districts Installation Manual Released January 2015 Updated March 2015 Table of Contents Overview...2 General Installation Considerations...2

More information

The Unicode Standard Version 8.0 Core Specification

The Unicode Standard Version 8.0 Core Specification The Unicode Standard Version 8.0 Core Specification To learn about the latest version of the Unicode Standard, see http://www.unicode.org/versions/latest/. Many of the designations used by manufacturers

More information

Homework 3: Component & Interface Design

Homework 3: Component & Interface Design 1 Leah Staniorski 11/1/14 Homework 3: Component & Interface Design Introduction: Flexible Fitness will be a mobile application that allows users to create a personal profile. Through this personal profile,

More information

Learning HTML5 Game Programming

Learning HTML5 Game Programming Learning HTML5 Game Programming A Hands-on Guide to Building Online Games Using Canvas, SVG, and WebGL James L. Williams AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York

More information

Server-Side JavaScript Injection Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team July 2011

Server-Side JavaScript Injection Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team July 2011 Server-Side JavaScript Injection Bryan Sullivan, Senior Security Researcher, Adobe Secure Software Engineering Team July 2011 Abstract This whitepaper is presented in support of the BlackHat USA 2011 talk,

More information

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive

More information

Development and Evaluation of Localization Training Software

Development and Evaluation of Localization Training Software Development and Evaluation of Localization Training Software Ryutaro Nishino and Kayoko Nohara Tokyo Institute of Technology While software localization and internationalization are inseparable

More information

If you want to skip straight to the technical details of localizing Xamarin apps, start with one of these platform-specific how-to articles:

If you want to skip straight to the technical details of localizing Xamarin apps, start with one of these platform-specific how-to articles: Localization This guide introduces the concepts behind internationalization and localization and links to instructions on how to produce Xamarin mobile applications using those concepts. If you want to

More information

Lecture 9 Chrome Extensions

Lecture 9 Chrome Extensions Lecture 9 Chrome Extensions 1 / 22 Agenda 1. Chrome Extensions 1. Manifest files 2. Content Scripts 3. Background Pages 4. Page Actions 5. Browser Actions 2 / 22 Chrome Extensions 3 / 22 What are browser

More information

Internationalization of Domain Names

Internationalization of Domain Names Internationalization of Domain Names Marc Blanchet (Marc.Blanchet@viagenie.qc.ca) Co-chair of the IETF idn working group Viagénie (http://www.viagenie.qc.ca) Do You Like Quoted Printable? If yes, then

More information

Modern Web Development with Dart. Alan Knight Google

Modern Web Development with Dart. Alan Knight Google Modern Web Development with Dart Alan Knight Google Smalltalk Industry Conference 2013 The Web As an application platform We want... Large, extensible widget set Simple, clean APIs Model/View separation

More information

DeltaPAY v2 Merchant Integration Specifications (HTML - v1.9)

DeltaPAY v2 Merchant Integration Specifications (HTML - v1.9) DeltaPAY v2 Merchant Integration Specifications (HTML - v1.9) Overview This document provides integration and usage instructions for using DeltaPAY card processing system as a payment mechanism in e-commerce

More information

Session D15 Simple Visualization of your TimeSeries Data. Shawn Moe IBM

Session D15 Simple Visualization of your TimeSeries Data. Shawn Moe IBM Session D15 Simple Visualization of your TimeSeries Data Shawn Moe IBM 1 Agenda IoT & Gateways Moving sensor data around jquery and Ajax Data Access Options Open Source Visualization packages 2 Acknowledgements

More information

Performance Testing Web 2.0

Performance Testing Web 2.0 Performance Testing Web 2.0 David Chadwick Rational Testing Evangelist dchadwick@us.ibm.com Dawn Peters Systems Engineer, IBM Rational petersda@us.ibm.com 2009 IBM Corporation WEB 2.0 What is it? 2 Web

More information

The Past, Present and Future of XSS Defense Jim Manico. HITB 2011 Amsterdam

The Past, Present and Future of XSS Defense Jim Manico. HITB 2011 Amsterdam The Past, Present and Future of XSS Defense Jim Manico HITB 2011 Amsterdam 0 Jim Manico Managing Partner, Infrared Security Web Developer, 15+ Years OWASP Connections Committee Chair OWASP ESAPI Project

More information

Rich User Interfaces for Web-Based Corporate Applications

Rich User Interfaces for Web-Based Corporate Applications Rich User Interfaces for Web-Based Corporate Applications Ivan Zapevalov, Software Engineer 1 Outline RIA technologies AJAX technology Widgets Demo application in JavaScript Demo application in GWT Web-catalog

More information

Unraveling Unicode: A Bag of Tricks for Bug Hunting

Unraveling Unicode: A Bag of Tricks for Bug Hunting Unraveling Unicode: A Bag of Tricks for Bug Hunting Black Hat USA July 2009 Chris Weber www.lookout.net chris@casabasecurity.com Casaba Security Can you tell the difference? How about now? The Transformers

More information

10CS73:Web Programming

10CS73:Web Programming 10CS73:Web Programming Question Bank Fundamentals of Web: 1.What is WWW? 2. What are domain names? Explain domain name conversion with diagram 3.What are the difference between web browser and web server

More information

Critical Values for I18n Testing. Tex Texin Chief Globalization Architect XenCraft

Critical Values for I18n Testing. Tex Texin Chief Globalization Architect XenCraft Critical Values for I18n Testing Tex Texin Chief Globalization Architect XenCraft Abstract In this session, we recommend specific data values that are likely to identify internationalization problems in

More information

Instructor: Betty O Neil

Instructor: Betty O Neil Introduction to Web Application Development, for CS437/637 Instructor: Betty O Neil 1 Introduction: Internet vs. World Wide Web Internet is an interconnected network of thousands of networks and millions

More information

Whitepapers at Amikelive.com

Whitepapers at Amikelive.com Brief Overview view on Web Scripting Languages A. Web Scripting Languages This document will review popular web scripting languages[1,2,12] by evaluating its history and current trends. Scripting languages

More information

Web Development with R

Web Development with R Web Development with R UCLA Statistics Seminar Jeroen Ooms jeroenooms@gmail.com November 2009, Los Angeles What is a Web Application Some examples: yeroon.net/ggplot2 [video] yeroon.net/lme4 [video] Pubertyplot

More information

Using NXLog with Elasticsearch and Kibana. Using NXLog with Elasticsearch and Kibana

Using NXLog with Elasticsearch and Kibana. Using NXLog with Elasticsearch and Kibana Using NXLog with Elasticsearch and Kibana i Using NXLog with Elasticsearch and Kibana Using NXLog with Elasticsearch and Kibana ii Contents 1 Setting up Elasticsearch and Kibana 1 1.1 Installing Elasticsearch................................................

More information

JavaScript Client Guide

JavaScript Client Guide JavaScript Client Guide Target API: Lightstreamer JavaScript Client v. 6.2 Last updated: 28/01/2015 Table of contents 1 INTRODUCTION...3 2 JAVASCRIPT CLIENT DEVELOPMENT...4 2.1 Deployment Architecture...4

More information

Web Development with R

Web Development with R Web Development with R Bay Area user Group Jeroen Ooms jeroenooms@gmail.com January 2010, San Francisco R and Javascript: A match made in heaven? R and Javascript have a lot in common: Both accessible,

More information

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application

Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application Google Web Toolkit (GWT) Architectural Impact on Enterprise Web Application First Generation HTTP request (URL or Form posting) W HTTP response (HTML Document) W Client Tier Server Tier Data Tier Web CGI-Scripts

More information

Finding XSS in Real World

Finding XSS in Real World Finding XSS in Real World by Alexander Korznikov nopernik@gmail.com 1 April 2015 Hi there, in this tutorial, I will try to explain how to find XSS in real world, using some interesting techniques. All

More information

HtmlUnit: An Efficient Approach to Testing Web Applications

HtmlUnit: An Efficient Approach to Testing Web Applications HtmlUnit: An Efficient Approach to Testing Web Applications Marc Guillemot Independent Consultant mguillemot@yahoo.fr Daniel Gredler Sr. Software Developer DHL Global Mail daniel.gredler@gmail.com Your

More information

Documentation to use the Elia Infeed web services

Documentation to use the Elia Infeed web services Documentation to use the Elia Infeed web services Elia Version 1.0 2013-10-03 Printed on 3/10/13 10:22 Page 1 of 20 Table of Contents Chapter 1. Introduction... 4 1.1. Elia Infeed web page... 4 1.2. Elia

More information

Benjamin Carlson Node.js SQL Server for Data Analytics and Multiplayer Games Excerpt from upcoming MQP-1404 Project Report Advisor: Brian Moriarty

Benjamin Carlson Node.js SQL Server for Data Analytics and Multiplayer Games Excerpt from upcoming MQP-1404 Project Report Advisor: Brian Moriarty Benjamin Carlson Node.js SQL Server for Data Analytics and Multiplayer Games Excerpt from upcoming MQP-1404 Project Report Advisor: Brian Moriarty Abstract Knecht is a Node.js client/server architecture

More information

Software Design April 26, 2013

Software Design April 26, 2013 Software Design April 26, 2013 1. Introduction 1.1.1. Purpose of This Document This document provides a high level description of the design and implementation of Cypress, an open source certification

More information

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel

Enable Your Automated Web App Testing by WebDriver. Yugang Fan Intel Enable Your Automated Web App Testing by WebDriver Yugang Fan Intel Agenda Background Challenges WebDriver BDD Behavior Driven Test Architecture Example WebDriver Based Behavior Driven Test Summary Reference

More information

Part I: The Road to Single Page Application Development... 1

Part I: The Road to Single Page Application Development... 1 www.allitebooks.com For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.allitebooks.com

More information

Bypassing Internet Explorer s XSS Filter

Bypassing Internet Explorer s XSS Filter Bypassing Internet Explorer s XSS Filter Or: Oops, that s not supposed to happen. Carlos @RTWaysea About Me Mechanical Drafting Background Engine parts, Architectural fixtures, etc. Friend said Try This

More information

Google Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella

Google Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella Google Web Toolkit Progetto di Applicazioni Software a.a. 2011/12 Massimo Mecella Introduction Ajax (Asynchronous JavaScript and XML) refers to a broad range of techniques Beyond the technical jargon,

More information

CommonSpot Content Server Version 6.2 Release Notes

CommonSpot Content Server Version 6.2 Release Notes CommonSpot Content Server Version 6.2 Release Notes Copyright 1998-2011 PaperThin, Inc. All rights reserved. About this Document CommonSpot version 6.2 updates the recent 6.1 release with: Enhancements

More information

Articles 742b: Networks & Transactions Spring 2014 Green Hall, Room 209/210 Tuesdays 1:30 5:30

Articles 742b: Networks & Transactions Spring 2014 Green Hall, Room 209/210 Tuesdays 1:30 5:30 Articles 742b: Networks & Transactions Spring 2014 Green Hall, Room 209/210 Tuesdays 1:30 5:30 Class website: http://art.yale.edu/art742b Class email list: networks1@panlists.yale.edu Dan Michaelson: dan.michaelson@yale.edu

More information

List of some usual things to test in an application

List of some usual things to test in an application Matti Vuori List of some usual things to test in an application Contents 1. Background... 2 2. Purpose of the list... 2 3. Taking it into use... 4 3.1 Check the delivered package... 4 3.2 Installing the

More information

Unlocking the Java EE Platform with HTML 5

Unlocking the Java EE Platform with HTML 5 1 2 Unlocking the Java EE Platform with HTML 5 Unlocking the Java EE Platform with HTML 5 Overview HTML5 has suddenly become a hot item, even in the Java ecosystem. How do the 'old' technologies of HTML,

More information

Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2

Dashboard Skin Tutorial. For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard Skin Tutorial For ETS2 HTML5 Mobile Dashboard v3.0.2 Dashboard engine overview Dashboard menu Skin file structure config.json Available telemetry properties dashboard.html dashboard.css Telemetry

More information

Tidspunkt 18-08-2015 11:58 01-07-2015 00:00-18-08-2015 23:59 (49 dag(e)) Operativsystem (OS) fordelt på browsere Total: 267852. Safari9 ios 7921 100%

Tidspunkt 18-08-2015 11:58 01-07-2015 00:00-18-08-2015 23:59 (49 dag(e)) Operativsystem (OS) fordelt på browsere Total: 267852. Safari9 ios 7921 100% Indstillinger Tidspunkt 18-08-2015 11:58 Periode 01-07-2015 00:00-18-08-2015 23:59 (49 dag(e)) Operativsystem (OS) fordelt på browsere Total: 267852 Safari9 ios 7921 100% MAC OS X 1 0% Safari8 ios 572

More information

Ecma/TC39/2013/NN. 4 th Draft ECMA-XXX. 1 st Edition / July 2013. The JSON Data Interchange Format. Reference number ECMA-123:2009

Ecma/TC39/2013/NN. 4 th Draft ECMA-XXX. 1 st Edition / July 2013. The JSON Data Interchange Format. Reference number ECMA-123:2009 Ecma/TC39/2013/NN 4 th Draft ECMA-XXX 1 st Edition / July 2013 The JSON Data Interchange Format Reference number ECMA-123:2009 Ecma International 2009 COPYRIGHT PROTECTED DOCUMENT Ecma International 2013

More information

CA Performance Center

CA Performance Center CA Performance Center Release Notes Release 2.3.3 This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter referred to as the Documentation ) is for

More information

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011

Cross Site Scripting (XSS) and PHP Security. Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 Cross Site Scripting (XSS) and PHP Security Anthony Ferrara NYPHP and OWASP Security Series June 30, 2011 What Is Cross Site Scripting? Injecting Scripts Into Otherwise Benign and Trusted Browser Rendered

More information

Bangla Localization of OpenOffice.org. Asif Iqbal Sarkar Research Programmer BRAC University Bangladesh

Bangla Localization of OpenOffice.org. Asif Iqbal Sarkar Research Programmer BRAC University Bangladesh Bangla Localization of OpenOffice.org Asif Iqbal Sarkar Research Programmer BRAC University Bangladesh Localization L10n is the process of adapting the text and applications of a product or service to

More information

Web application development landscape: technologies and models

Web application development landscape: technologies and models Web application development landscape: technologies and models by Andrea Nicchi Relatore: Prof. Antonio CISTERNINO Controrelatore: Prof. Giuseppe ATTARDI WEB APPLICATION an Information System providing

More information

DEVELOPING NFC APPS for BLACKBERRY

DEVELOPING NFC APPS for BLACKBERRY 1 DEVELOPING NFC APPS for BLACKBERRY NFC Forum, Developers Showcase March 21 st, 2014 Larry McDonough, Principal Evangelist @LMCDUNNA 2 CONTENTS Development on BlackBerry BlackBerry NFC Support 5 most

More information

Carlos Muñoz Application Security Engineer WhiteHat Security @RTWaysea

Carlos Muñoz Application Security Engineer WhiteHat Security @RTWaysea Carlos Muñoz Application Security Engineer WhiteHat Security @RTWaysea Bypass: History Explanation: What Is Going On Process: Things To Look For Demos: alert(1) Done Live (hopefully) CSP: Content Security

More information

SPELL Tabs Evaluation Version

SPELL Tabs Evaluation Version SPELL Tabs Evaluation Version Inline Navigation for SharePoint Pages SPELL Tabs v 0.9.2 Evaluation Version May 2013 Author: Christophe HUMBERT User Managed Solutions LLC Table of Contents About the SPELL

More information

MEGA Web Application Architecture Overview MEGA 2009 SP4

MEGA Web Application Architecture Overview MEGA 2009 SP4 Revised: September 2, 2010 Created: March 31, 2010 Author: Jérôme Horber CONTENTS Summary This document describes the system requirements and possible deployment architectures for MEGA Web Application.

More information

Phishing by data URI

Phishing by data URI Phishing by data URI Henning Klevjer henning@klevjers.com October 22, 2012 1 Abstract Historically, phishing web pages have been hosted by web servers that are either compromised or owned by the attacker.

More information

1. User Guide... 2 2. API overview... 4 2.1 addon - xml Definition... 4 2.1.1 addon.background... 5 2.1.1.1 addon.background.script... 5 2.1.

1. User Guide... 2 2. API overview... 4 2.1 addon - xml Definition... 4 2.1.1 addon.background... 5 2.1.1.1 addon.background.script... 5 2.1. User Guide............................................................................................. 2 API overview...........................................................................................

More information

RadioVIS Technical Specification RVIS01 V1.1.0 (2012-04)

RadioVIS Technical Specification RVIS01 V1.1.0 (2012-04) RadioVIS Technical Specification RVIS01 V1.1.0 (2012-04) An application to enhance broadcast audio services The RadioDNS Project http://radiodns.org/ feedback@radiodns.org Important notice Individual copies

More information

Portals and Hosted Files

Portals and Hosted Files 12 Portals and Hosted Files This chapter introduces Progress Rollbase Portals, portal pages, portal visitors setup and management, portal access control and login/authentication and recommended guidelines

More information

Art of Code Front-end Web Development Training Program

Art of Code Front-end Web Development Training Program Art of Code Front-end Web Development Training Program Pre-work (5 weeks) Codecademy HTML5/CSS3 and JavaScript tracks HTML/CSS (7 hours): http://www.codecademy.com/en/tracks/web JavaScript (10 hours):

More information

COS 333: Advanced Programming Techniques

COS 333: Advanced Programming Techniques COS 333: Advanced Programming Techniques How to find me bwk@cs, www.cs.princeton.edu/~bwk 311 CS Building 609-258-2089 (but email is always better) TA's: Stephen Beard, Chris Monsanto, Srinivas Narayana,

More information

Creating Modern CICS Web Applications by Exploiting Open Source Javascript Libraries

Creating Modern CICS Web Applications by Exploiting Open Source Javascript Libraries Stephen Mitchell Creating Modern CICS Web Applications by Exploiting Open Source Javascript Libraries September 2013 stephen.mitchell@matteroffactsoftware.com Disclaimer The standard disclaimers apply.

More information

Contents. 2 Alfresco API Version 1.0

Contents. 2 Alfresco API Version 1.0 The Alfresco API Contents The Alfresco API... 3 How does an application do work on behalf of a user?... 4 Registering your application... 4 Authorization... 4 Refreshing an access token...7 Alfresco CMIS

More information

Web Application Worms & Browser Insecurity

Web Application Worms & Browser Insecurity Web Application Worms & Browser Insecurity Mike Shema Welcome Background Hacking Exposed: Web Applications The Anti-Hacker Toolkit Hack Notes: Web Security Currently working at Qualys

More information

Data Visualization in Ext Js 3.4

Data Visualization in Ext Js 3.4 White Paper Data Visualization in Ext Js 3.4 Ext JS is a client-side javascript framework for rapid development of cross-browser interactive Web applications using techniques such as Ajax, DHTML and DOM

More information

Visualizing an OrientDB Graph Database with KeyLines

Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines Visualizing an OrientDB Graph Database with KeyLines 1! Introduction 2! What is a graph database? 2! What is OrientDB? 2! Why visualize OrientDB? 3!

More information

Detect and Sanitise Encoded Cross-Site Scripting and SQL Injection Attack Strings Using a Hash Map

Detect and Sanitise Encoded Cross-Site Scripting and SQL Injection Attack Strings Using a Hash Map Detect and Sanitise Encoded Cross-Site Scripting and SQL Injection Attack Strings Using a Hash Map Erwin Adi and Irene Salomo School of Computer Science BINUS International BINUS University, Indonesia

More information

Visualizing Software Projects in JavaScript

Visualizing Software Projects in JavaScript Visualizing Software Projects in JavaScript Tim Disney Abstract Visualization techniques have been used to help programmers deepen their understanding of large software projects. However the existing visualization

More information

<Insert Picture Here> Oracle Policy Automation 10.3.1 System Requirements

<Insert Picture Here> Oracle Policy Automation 10.3.1 System Requirements Oracle Policy Automation 10.3.1 System Requirements December 2011 Version 1.01 Oracle Policy Automation Products Version 10.3.1 Overview Product Oracle Policy Modeling Oracle Policy

More information

Course Outline Basic Web Development

Course Outline Basic Web Development Course Outline Basic Web Development For Professionals Who Can Participate? Anyone can join who has the interest to get into the creative web development profession. Prerequisite: Technical Skill: Must

More information

Unicode Enabling Java Web Applications

Unicode Enabling Java Web Applications Internationalization Report: Unicode Enabling Java Web Applications From Browser to DB Provided by: LingoPort, Inc. 1734 Sumac Avenue Boulder, Colorado 80304 Tel: +1.303.444.8020 Fax: +1.303.484.2447 http://www.lingoport.com

More information

INSTALLATION AND CONFIGURATION MANUAL EMAILENCODER

INSTALLATION AND CONFIGURATION MANUAL EMAILENCODER INSTALLATION AND CONFIGURATION MANUAL EMAILENCODER P R O F E S S I O N A L S O F T W A R E E N G I N E E R I N G Meridium AB 1 (19) 1(19) CONTENTS 1 INTRODUCTION... 4 1.1 How does it work?... 4 1.2 Browser

More information

603: Enhancing mobile device experience with NetScaler MobileStream Hands-on Lab Exercise Guide

603: Enhancing mobile device experience with NetScaler MobileStream Hands-on Lab Exercise Guide 603: Enhancing mobile device experience with NetScaler MobileStream Hands-on Lab Exercise Guide Christopher Rudolph January 2015 1 Table of Contents Contents... 2 Overview... 3 Scenario... 6 Lab Preparation...

More information

Avaya Inventory Management System

Avaya Inventory Management System Avaya Inventory Management System June 15, 2015 Jordan Moser Jin Oh Erik Ponder Gokul Natesan Table of Contents 1. Introduction 1 2. Requirements 2-3 3. System Architecture 4 4. Technical Design 5-6 5.

More information

[MS-SPACSOM]: Intellectual Property Rights Notice for Open Specifications Documentation

[MS-SPACSOM]: Intellectual Property Rights Notice for Open Specifications Documentation [MS-SPACSOM]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation for protocols, file formats, languages,

More information

Usable Crypto: Introducing minilock. Nadim Kobeissi HOPE X, NYC, 2014

Usable Crypto: Introducing minilock. Nadim Kobeissi HOPE X, NYC, 2014 Usable Crypto: Introducing minilock Nadim Kobeissi HOPE X, NYC, 2014 2012 Browsers are an environment that is hostile to cryptography Malleability of the JavaScript runtime. The lack of low-level (system-level)

More information

This guide specifies the required and supported system elements for the application.

This guide specifies the required and supported system elements for the application. System Requirements Contents System Requirements... 2 Supported Operating Systems and Databases...2 Features with Additional Software Requirements... 2 Hardware Requirements... 4 Database Prerequisites...

More information

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms

Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Using Database Metadata and its Semantics to Generate Automatic and Dynamic Web Entry Forms Mohammed M. Elsheh and Mick J. Ridley Abstract Automatic and dynamic generation of Web applications is the future

More information

FileMaker Server 9. Custom Web Publishing with PHP

FileMaker Server 9. Custom Web Publishing with PHP FileMaker Server 9 Custom Web Publishing with PHP 2007 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker,

More information

XML. CIS-3152, Spring 2013 Peter C. Chapin

XML. CIS-3152, Spring 2013 Peter C. Chapin XML CIS-3152, Spring 2013 Peter C. Chapin Markup Languages Plain text documents with special commands PRO Plays well with version control and other program development tools. Easy to manipulate with scripts

More information

Translating QueueMetrics into a new language

Translating QueueMetrics into a new language Translating QueueMetrics into a new language Translator s manual AUTORE: LOWAY RESEARCH VERSIONE: 1.3 DATA: NOV 11, 2006 STATO: Loway Research di Lorenzo Emilitri Via Fermi 5 21100 Varese Tel 0332 320550

More information

World Wide Web Aka The Internet. Karst Koymans. Friday, October 2, 2015

World Wide Web Aka The Internet. Karst Koymans. Friday, October 2, 2015 . WWW World Wide Web. Aka The Internet Karst Koymans Informatics Institute University of Amsterdam (version 15.6, 2015/10/08 11:21:17 UTC) Friday, October 2, 2015 Karst Koymans (UvA) WWW Friday, October

More information

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek (cjjarabe@ucalgary.ca)

Bug Report. Date: March 19, 2011 Reporter: Chris Jarabek (cjjarabe@ucalgary.ca) Bug Report Date: March 19, 2011 Reporter: Chris Jarabek (cjjarabe@ucalgary.ca) Software: Kimai Version: 0.9.1.1205 Website: http://www.kimai.org Description: Kimai is a web based time-tracking application.

More information