Building Collaborative Apps with Wookie

Size: px
Start display at page:

Download "Building Collaborative Apps with Wookie"

Transcription

1 Building Collaborative Apps with Wookie

2 Collaborative Apps Use W3C Widgets packaging and widget object API with the Google Wave Gadgets API Runs in Wookie, no Wave server needed Requires plugins that can provide participant information using the Wookie REST API

3 Collaborative Widgets: APIs State Participants

4 State State is shared across widgets with the same IRI in the same shared context. State is propagated to related widgets using an event callback State is set by submitting deltas (as associative arrays) or single values

5 State example wave.setstatecallback(stateupdated); stateupdated = function(){ var keys = wave.getstate().getkeys(); for (var i = 0; i < keys.length; i++) { alert(wave.getstate().get(keys[i])); ; wave.getstate().submitvalue( key, value );

6 State change events State changes are automatically pushed to your widget instance, you don t need to poll or check manually So keep your state model as small as you can to reduce latency Usability tip: Consider whether to auto-refresh, or to prompt the user to refresh using a message. It can be confusing for users if the layout or order of items changes without them doing anything.

7 Participants Information about users accessing the widget Set by the plugin by calling Wookie s participants REST API Viewer is the current user object; participants is the set of users Good to have fallback as widget may be used in a guest access environment with no viewer (e.g. see Natter widget)

8 Participants Register callbacks with: wave.setparticipantcallback(myfunction); Methods*: getviewer() - get the current user getparticipants() - get map of all participants Model: getid(), getdisplayname(), getthumbnailurl() *in future releases the gethost() method will also be supported

9 Making a collaborative app This requires some more planning 1. Draw up a design 1. Draw up a design 2. Create a working test page 3. Implement models, action handlers and event handlers 4. Create the config.xml, icon.png, zip it up and run it

10 Design Start with the view - what the widget looks like Create the model - what are the objects in the state model? Add the actions - how you interact with it Wire it all up

11

12 Prototyping Make a regular html page to test out your view. Populate it with fake model, and don t wire up the actions yet You can reuse this for the real widget - just take out your fake state info sections

13 Implementing Create a Model object for your state model Create a Controller object, and a method in it for each action Register the participant and state event handlers with an update view method that populates the view when running

14 Models Models can be implemented in typical bean fashion Save/Find methods need to access wave state Can use JSON (e.g. with json.js) or just plain strings for storage function Task(id,name,status,assigned){ this.task_id = id; this.name = name; this.status = status; this.assigned_to = assigned; Task.prototype.save = function(){ wave.getstate().submitvalue(this.task_id, JSON.stringify(this));

15 Static model methods Task.create = function(json){ var obj = JSON.parse(json); var task = new Task(obj.task_id, obj.name,obj.status,obj.assigned_to); return task; Task.find = function(task_id){ var keys = wave.getstate().getkeys(); for (var i = 0; i < keys.length; i++) { var key = keys[i]; if (key == task_id){ return Task.create(task_id, wave.getstate().get(key)); return null; Task.findAll = function(){ var tasks = {; var keys = wave.getstate().getkeys(); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var task = Task.create(key, wave.getstate().get(key)); tasks[key] = task; return tasks; Typically need methods to turn state strings back into model instances Also finder methods to get a particular model object This isn t the only way to do this, but is an OK pattern

16 Controllers /** * The Controller object * This is used to wire up the view and model with actions */ var Controller = { // Action handlers // Toggle task state between completed and to-do toggletask: function(task_id){, // Create a new task newtask: function(){, // Abandon task for someone else to do abandontask: function(task_id){, // Claim a task (assign to self) claimtask: function(task_id){ Methods for each action, making changes to the model You usually don t need to do any code that interacts with HTML, as the event handlers should do that

17 Event Handlers // Update the view when state has been updated stateupdated: function(){ var tasks = Task.findAll(); if (tasks && tasks!= null){ var tasklist = ""; for (key in tasks) { var task = tasks[key]; tasklist += // the task stuff to show dwr.util.setvalue("tasklist", tasklist, { escapehtml:false ); var objdiv = document.getelementbyid("tasklist"); objdiv.scrolltop = objdiv.scrollheight;, participantsupdated: function(){ Controller.updateUser(); These fire whenever the state or participants are updated (e.g. by another instance). Event handlers need to be registered like so: wave.setstatecallback(controller.stateupdated); wave.setparticipantcallback(controller.participantsupdated); Also useful to have these methods called from onload() in an init() function to create the initial view You can import JQuery if you like for setting the view content, or do it using DOM

18 Packaging You need to add this to your config.xml to tell Wookie to include the Wave Gadget API methods: <feature name=" required="true"/>

19 Fallback behaviours

20 Viewer handling with fallback /** * Setup user information */ user: {, updateuser:function(){ if (wave.getviewer()!= null){ Controller.user.id = wave.getviewer().getid(); Controller.user.id = wave.getviewer().getid(); Controller.user.username = wave.getviewer().getdisplayname(); Controller.user.thumbnail = wave.getviewer().getthumbnailurl(); if (Controller.user.thumbnail == "" Controller.user.thumbnail == null) Controller.user.thumbnail = "anon.png"; if (Controller.user.username == null Controller.user.username == ""){ Controller.user.username = "anonymouse"; Controller.user.id = "anonymous";

21 Viewer handling with fallback: alternative approach if (wave.getviewer()!= null){ username = wave.getviewer().getdisplayname(); thumbnail = wave.getviewer().getthumbnailurl(); if (thumbnail == "" thumbnail == null) thumbnail = "Images/default_thumbnail.png"; if (username == null username == ""){ username = "natterer" + rnd_no(9999);

22 Single-user mode Could your app also work in a single-user environment with no Wave API? e.g. test for existence of wave object, and adapt if its not present - e.g. store data in preferences not state More faff, but makes your widget work in more situations (e.g. mobile) <feature name=" required="false"/>

23 Spot the (semi) deliberate mistakes! There are a few problems with the ToDo widget - can you identify possible improvements? Removing Wookie-specific code Improved usability Missing functionality

24 Uploading, debugging and testing You need a collaborative environment to test your widget properly E.g. a Moodle or an Elgg installation Its useful though to test using Wookie s built in demo mode to check it still works OK in a guest access or anonymous user setup

25 Other stuff AJAX If you want to call external sites from within the widget, call myurl = widget.proxify(url) first to call it via proxy. Also need to add the site to the server whitelist. Camera access There is experimental support for BONDI camera capture API (will be checked in soon)

Reference Guide Novell Vibe Cloud Wave Gadgets API Reference Guide

Reference Guide Novell Vibe Cloud Wave Gadgets API Reference Guide Reference Guide www.novell.com Novell Vibe Cloud Wave Gadgets API Reference Guide W a v e G a d g e t s A P I R e f e r e n c e Novell Vibe supports the Wave Gadgets API. This is the reference for the

More information

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server

Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server CIS408 Project 5 SS Chung Creating an Online Catalogue Search for CD Collection with AJAX, XML, and PHP Using a Relational Database Server on WAMP/LAMP Server The catalogue of CD Collection has millions

More information

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc.

Tooling for Ajax-Based Development. Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. Tooling for Ajax-Based Development Craig R. McClanahan Senior Staff Engineer Sun Microsystems, Inc. 1 Agenda In The Beginning Frameworks Tooling Architectural Approaches Resources 2 In The Beginning 3

More information

RailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles

RailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles http://www.madebymany.co.uk/ server push HTTP

More information

Google Docs Tipsheet. ABEL Summer Institute 2009

Google Docs Tipsheet. ABEL Summer Institute 2009 Google Docs Tipsheet ABEL Summer Institute 2009 Contents Logging in to Google Apps for CollaborativeSchools.net for the First Time... 2 Text Documents Creating a New Text Document in Google Docs... 5 Uploading

More information

Web Site Overview: Log In - select to log into your Halawai "My Meetings" space. This area will list your scheduled meetings.

Web Site Overview: Log In - select to log into your Halawai My Meetings space. This area will list your scheduled meetings. Working with Halawai (Adobe Acrobat Connect) What is Halawai? H l wai (Hawaiian for meeting), also known as Adobe Acrobat Connect is a web conferencing tool licensed by ITS (Information Technology Services)

More information

CALIFORNIA EARTHQUAKE CLEARINGHOUSE. Tools for Mobile Data Collection

CALIFORNIA EARTHQUAKE CLEARINGHOUSE. Tools for Mobile Data Collection CALIFORNIA EARTHQUAKE CLEARINGHOUSE Tools for Mobile Data Collection Need for Data Collection & Sharing 100s of engineers and scientists are expected to contribute data after a major earthquake in California

More information

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

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

More information

jquery and AJAX

jquery and AJAX jquery and AJAX http://www.flickr.com/photos/pmarkham/3165964414/ Dynamic HTML (DHTML) Manipulating the web page's structure is essential for creating a highly responsive UI Two main approaches Manipulate

More information

Feature 2. How should existing users update their Outlook plugin? 2. How do I install the latest version of the Outlook Desktop Widget?

Feature 2. How should existing users update their Outlook plugin? 2. How do I install the latest version of the Outlook Desktop Widget? Outlook plugin Installation and User Guide Access marketing and sales assets, track emails and view contact activity in Mindmatrix directly from Outlook Feature 2 How should existing users update their

More information

Integration Note. Any feature not specifically noted as supported should be assumed to be unsupported.

Integration Note. Any feature not specifically noted as supported should be assumed to be unsupported. Integration Note Manufacturer: Model Number(s): Roku All IP Controllable Roku Media Players g! Core Module Version: 8.0.278 Driver Developer: Core Programming Limited Document Revision Date: 03/01/17 Overview

More information

RESTful APIs ECS 189 WEB PROGRAMMING. Browser s view. Browser s view. Browser s view. Browser s view. Which will It be for photobooth?

RESTful APIs ECS 189 WEB PROGRAMMING. Browser s view. Browser s view. Browser s view. Browser s view. Which will It be for photobooth? RESTful APIs ECS 189 WEB PROGRAMMING 5/19! We re implementing what is called a RESTful API! ReST stands for representational state transfer! The term was coined in 2000 by Roy Fielding, who at the time

More information

Tutorials Php Y Jquery Mysql Database Without Refreshing Code

Tutorials Php Y Jquery Mysql Database Without Refreshing Code Tutorials Php Y Jquery Mysql Database Without Refreshing Code Code for Pagination using Php and JQuery. This code for pagination in PHP and MySql gets. Tutorial focused on Programming, Jquery, Ajax, PHP,

More information

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services

Contents. Demos folder: Demos\14-Ajax. 1. Overview of Ajax. 2. Using Ajax directly. 3. jquery and Ajax. 4. Consuming RESTful services Ajax Contents 1. Overview of Ajax 2. Using Ajax directly 3. jquery and Ajax 4. Consuming RESTful services Demos folder: Demos\14-Ajax 2 1. Overview of Ajax What is Ajax? Traditional Web applications Ajax

More information

Programming with the Finesse API

Programming with the Finesse API Programming with the Finesse API OpenSocial Gadgets Source: http://www.slideshare.net/wuzziwug/opensocial-intro-presentation OpenSocial Gadgets A gadget spec: Is an XML file Defines metadata about an OpenSocial

More information

Creating Organization Charts for IBM Connections using JavaScript and Google Charts

Creating Organization Charts for IBM Connections using JavaScript and Google Charts Creating Organization Charts for IBM Connections using JavaScript and Google Charts As we all know, IBM Connections has a great report-to-chain widget which shows current user reporting structure. However,

More information

Tizen Web Runtime. Ming Jin, Samsung Electronics. (May 8, 2012)

Tizen Web Runtime. Ming Jin, Samsung Electronics. (May 8, 2012) Tizen Web Runtime Ming Jin, Samsung Electronics (May 8, 2012) Contents What is Web Application & Web Runtime Tizen Web Application Packaging & Configuration Network Access Tizen Web Runtime Installer Core

More information

ThingLink User Guide. Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon

ThingLink User Guide. Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon ThingLink User Guide Yon Corp Andy Chen Eric Ouyang Giovanni Tenorio Ashton Yon Index Preface.. 2 Overview... 3 Installation. 4 Functionality. 5 Troubleshooting... 6 FAQ... 7 Contact Information. 8 Appendix...

More information

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) What is JavaScript?

8/19/2018. Web Development & Design Foundations with HTML5. Learning Objectives (1 of 2) Learning Objectives (2 of 2) What is JavaScript? Web Development & Design Foundations with HTML5 Ninth Edition Chapter 14 A Brief Look at JavaScript and jquery Slides in this presentation contain hyperlinks. JAWS users should be able to get a list of

More information

Working with Javascript Building Responsive Library apps

Working with Javascript Building Responsive Library apps Working with Javascript Building Responsive Library apps Computers in Libraries April 15, 2010 Arlington, VA Jason Clark Head of Digital Access & Web Services Montana State University Libraries Overview

More information

CIS 3308 Logon Homework

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

More information

Web Development & Design Foundations with HTML5

Web Development & Design Foundations with HTML5 1 Web Development & Design Foundations with HTML5 CHAPTER 14 A BRIEF LOOK AT JAVASCRIPT Copyright Terry Felke-Morris 2 Learning Outcomes In this chapter, you will learn how to: Describe common uses of

More information

End User Manual. December 2014 V1.0

End User Manual. December 2014 V1.0 End User Manual December 2014 V1.0 Contents Getting Started... 4 How to Log into the Web Portal... 5 How to Manage Account Settings... 6 The Web Portal... 8 How to Upload Files in the Web Portal... 9 How

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

Design Document V2 ThingLink Startup

Design Document V2 ThingLink Startup Design Document V2 ThingLink Startup Yon Corp Andy Chen Ashton Yon Eric Ouyang Giovanni Tenorio Table of Contents 1. Technology Background.. 2 2. Design Goal...3 3. Architectural Choices and Corresponding

More information

You ll find everything you need to get started with your VaaS-t conferencing account in the following pages.

You ll find everything you need to get started with your VaaS-t conferencing account in the following pages. make meeting simple You ll find everything you need to get started with your VaaS-t conferencing account in the following pages. Quick Start Guide Getting Started Making your first call Creating your Contact

More information

COURSE FILES. BLACKBOARD TUTORIAL for INSTRUCTORS

COURSE FILES. BLACKBOARD TUTORIAL for INSTRUCTORS OVERVIEW: Course Files provides file storage on the Blackboard server for a single course. Course Files within each course displays content for that specific course, not for other courses you teach. You

More information

Administrator s Guide

Administrator s Guide Administrator s Guide (January 2017) Welcome! You have been invited to manage the subscriber community who will be using this videoconferencing service within your organization. This guide will provide

More information

PyBossa.JS JavaScript library for PyBossa

PyBossa.JS JavaScript library for PyBossa PyBossa.JS JavaScript library for PyBossa Release 0.1 Citizen Cyberscience Centre and Open Knowledge Foundation Feb 26, 2018 Contents 1 User Guide 3 1.1 Useful Links...............................................

More information

Feature Comparison Checklist

Feature Comparison Checklist Feature Comparison Checklist We invite you to use this checklist to help guide your team in identifying your mobile forms requirements. This checklist also provides an easy way to compare the Formotus

More information

Creating a custom gadget using the Finesse JavaScript Library API

Creating a custom gadget using the Finesse JavaScript Library API Creating a custom gadget using the Finesse JavaScript Library API Denise Kwan, Software Engineer @ DevNet Cisco Spark How Questions? Use Cisco Spark to communicate with the speaker after the session 1.

More information

Apache Wookie (Incubating) Creating your first widget Ross Gardler

Apache Wookie (Incubating) Creating your first widget Ross Gardler Apache Wookie (Incubating) Creating your first widget Ross Gardler wookie-dev@incubator.apache.org http://incubator.apache.org/wookie Objective focussed outline Creating a widget from the template Running

More information

YOUR GUIDE TO. Skype for Business

YOUR GUIDE TO. Skype for Business YOUR GUIDE TO Skype for Business Welcome to Skype for Business This is the Skype for Business app Your profile picture, status & location (you can change these) Your options Your contacts and groups (you

More information

Step 1: Upload a video (skip to Step 2 if you ve already uploaded a video directly from your ipod, Uploading to YouTube and Posting in Blackboard

Step 1: Upload a video (skip to Step 2 if you ve already uploaded a video directly from your ipod, Uploading to YouTube and Posting in Blackboard Uploading to YouTube and Posting in Blackboard This document will explain 1. How to upload videos from your computer to YouTube 2. How to obtain the URL (web link) or embed code for your video 3. How to

More information

Integrating Pruvan and Property Pres Wizard (PPW) with the Enhanced Driver

Integrating Pruvan and Property Pres Wizard (PPW) with the Enhanced Driver Integrating Pruvan and Property Pres Wizard (PPW) with the Enhanced Driver This document is a step-by-step guide on how to integrate your Pruvan account with Property Pres Wizard using the enhanced driver.

More information

Abstract. 1. Introduction. 2. AJAX overview

Abstract. 1. Introduction. 2. AJAX overview Asynchronous JavaScript Technology and XML (AJAX) Chrisina Draganova Department of Computing, Communication Technology and Mathematics London Metropolitan University 100 Minories, London EC3 1JY c.draganova@londonmet.ac.uk

More information

One of the fundamental kinds of websites that SharePoint 2010 allows

One of the fundamental kinds of websites that SharePoint 2010 allows Chapter 1 Getting to Know Your Team Site In This Chapter Requesting a new team site and opening it in the browser Participating in a team site Changing your team site s home page One of the fundamental

More information

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error

Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error Jquery.ajax Call Returns Status Code Of 200 But Fires Jquery Error The request returns http 200 OK, but the xhr status is 0, error. jquery Ajax Request to get JSON data fires error event to make an ajax

More information

How to Use Google. Sign in to your Chromebook. Let s get started: The sign-in screen. https://www.youtube.com/watch?v=ncnswv70qgg

How to Use Google. Sign in to your Chromebook. Let s get started: The sign-in screen. https://www.youtube.com/watch?v=ncnswv70qgg How to Use Google Sign in to your Chromebook https://www.youtube.com/watch?v=ncnswv70qgg Use a Google Account to sign in to your Chromebook. A Google Account lets you access all of Google s web services

More information

Marketo Forms Integration Guide

Marketo Forms Integration Guide The SendSafely Secure Upload Widget can be easily integrated into any Marketo Form. Once integrated, users can secure attach files to any Marketo form. If you are not familiar with how SendSafely works,

More information

Creating Web Mapping Applications. Nikki Golding

Creating Web Mapping Applications. Nikki Golding Creating Web Mapping Applications Nikki Golding Agenda Web Mapping and Map Services Fundamentals ArcGIS Web Mapping Applications - ArcGIS.com Viewer - ArcGIS Explorer Online - ArcGIS Viewer for Flex -

More information

DSS User Guide. End User Guide. - i -

DSS User Guide. End User Guide. - i - DSS User Guide End User Guide - i - DSS User Guide Table of Contents End User Guide... 1 Table of Contents... 2 Part 1: Getting Started... 1 How to Log in to the Web Portal... 1 How to Manage Account Settings...

More information

Episerver CMS. Editor User Guide

Episerver CMS. Editor User Guide Episerver CMS Editor User Guide Episerver CMS Editor User Guide 17-6 Release date 2017-12-04 Table of Contents 3 Table of contents Table of contents 3 Introduction 11 Features, licenses and releases 11

More information

Level 3 XpressMeet SM Solutions

Level 3 XpressMeet SM Solutions Level 3 XpressMeet SM Solutions User Guide January 2017 1 Table of Contents Level 3 SM XpressMeet Outlook... 3 Add-In Overview... 3 Features... 3 Download and install instructions... 5 Customize your Level

More information

Expo Database Manual. Description & Instructions

Expo Database Manual. Description & Instructions 2017 Expo Database Manual Description & Instructions SEVEN HILLS FOUNDATION WORCESTER POLYTECHNIC INSTITUTE 0 Table of Contents Table of Contents... 1 Introduction... 2 Part I: Database Descriptions...

More information

Attending a Meeting. Tips for Attending a Meeting

Attending a Meeting. Tips for Attending a Meeting Attending a Meeting Tips for Attending a Meeting, page 1 Tips for Attending a Video Meeting, page 2 About the Auto-Attend Feature, page 3 Attending a Meeting from an Emailed Invitation, page 3 Attending

More information

Textwall Manual. Contents: 1. Username and password Texting to textwall 2

Textwall Manual. Contents: 1. Username and password Texting to textwall 2 Textwall Manual Contents: 1. Username and password 2 2. Texting to textwall 2 3. Overview of textwall buttons 2 - Inbox/admin - search - show today s messages only - turn auto- refresh off - show/hide

More information

Switching to Sheets from Microsoft Excel Learning Center gsuite.google.com/learning-center

Switching to Sheets from Microsoft Excel Learning Center gsuite.google.com/learning-center Switching to Sheets from Microsoft Excel 2010 Learning Center gsuite.google.com/learning-center Welcome to Sheets Now that you've switched from Microsoft Excel to G Suite, learn how to use Google Sheets

More information

THE COMPLETE VIEWER FOR MS PROJECT. Seavus Add-in for MS Project - Users Manual

THE COMPLETE VIEWER FOR MS PROJECT. Seavus Add-in for MS Project - Users Manual THE COMPLETE VIEWER FOR MS PROJECT Seavus Add-in for MS Project - Users Manual Seavus DOOEL 2010

More information

Converting Your Web App to Tizen. Cheng Luo

Converting Your Web App to Tizen. Cheng Luo Converting Your Web App to Tizen Cheng Luo Agenda Web App Overview Tizen Web App Getting practical Add live weather 2 Web App Overview 3 Web App Landscape Platforms Technologies Distribution Standards

More information

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

Session 11. Ajax. Reading & Reference

Session 11. Ajax. Reading & Reference Session 11 Ajax Reference XMLHttpRequest object Reading & Reference en.wikipedia.org/wiki/xmlhttprequest Specification developer.mozilla.org/en-us/docs/web/api/xmlhttprequest JavaScript (6th Edition) by

More information

Client Side JavaScript and AJAX

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

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

More information

UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING SOFTWARE ENGINEERING DEPARTMENT LAB 14

UNIVERSITY OF ENGINEERING AND TECHNOLOGY, TAXILA FACULTY OF TELECOMMUNICATION AND INFORMATION ENGINEERING SOFTWARE ENGINEERING DEPARTMENT LAB 14 LAB 14 Easy Interface Prototyping with BALSAMIQ Wireframing is an important part of designing applications, but current methods can be time-consuming and expensive. Balsamiq is different. Balsamiq is an

More information

Once you have obtained a username and password you must open one of the compatible web browsers and go to the following address to begin:

Once you have obtained a username and password you must open one of the compatible web browsers and go to the following address to begin: CONTENT MANAGER GUIDELINES Content Manager is a web-based application created by Scala that allows users to have the media they upload be sent out to individual players in many locations. It includes many

More information

USER MANUAL. Infoshare Web Conferencing

USER MANUAL. Infoshare Web Conferencing USER MANUAL Infoshare Web Conferencing Table of Contents Contents Table of Contents... 1 What is Infoshare?... 3 Infoshare Control Panel and Key Functions... 3 1. Launching Infoshare... 4 2. Meeting Types...

More information

The Andersen Company s Mobile Application User Guide

The Andersen Company s Mobile Application User Guide The Andersen Company s Mobile Application User Guide Mobile App User Guide Page 2 Introduction The Andersen Company Mobile App provides an easy way for users to search and view existing mat designs as

More information

Wowway Version 2.0. This is a complete guide to help you understand version 2.0 of Wowway

Wowway Version 2.0. This is a complete guide to help you understand version 2.0 of Wowway Wowway Version 2.0 This is a complete guide to help you understand version 2.0 of Wowway Wowway version 2.0 was launched from the desire to reboot a great theme which was once the best grid portfolio theme

More information

SAS Mobile BI 8.15 for Android: Help

SAS Mobile BI 8.15 for Android: Help SAS Mobile BI 8.15 for Android: Help Welcome Getting Started How Do I Use the App? Check out the new features. View the videos: SAS Mobile BI for Android playlist on YouTube Use TalkBack? Learn the specialized

More information

Introduction. Part I: jquery API 1. Chapter 1: Introduction to jquery 3

Introduction. Part I: jquery API 1. Chapter 1: Introduction to jquery 3 Introduction xix Part I: jquery API 1 Chapter 1: Introduction to jquery 3 What Does jquery Do for Me? 4 Who Develops jquery? 5 Obtaining jquery 5 Installing jquery 5 Programming Conventions 8 XHTML and

More information

JQuery and Javascript

JQuery and Javascript JQuery and Javascript Javascript - a programming language to perform calculations/ manipulate HTML and CSS/ make a web page interactive JQuery - a javascript framework to help manipulate HTML and CSS JQuery

More information

Integration Note. Any feature not specifically noted as supported should be assumed to be unsupported.

Integration Note. Any feature not specifically noted as supported should be assumed to be unsupported. Integration Note Manufacturer: Model Number(s): Apple 4 th Generation Apple TV g! Core Module Version: 8.1.164 Driver Developer: Core Programming Limited Document Revision Date: 28 th Dec 2016 Overview

More information

Awesome Table - Documentation

Awesome Table - Documentation Awesome Table - Documentation Short link to this documentation: http://goo.gl/2f0bx Awesome Table can be used to create a table from a spreadsheet and add interactive controls to manipulate the data it

More information

Blackboard Collaborate Ultra 2018 UT DALLAS USER MANUAL

Blackboard Collaborate Ultra 2018 UT DALLAS USER MANUAL Blackboard Collaborate Ultra 208 UT DALLAS USER MANUAL UT Dallas elearning ELEARNING@UTDALLAS.EDU SPRING 208 Table of Contents Introduction... 3 Browser Support... 3 Blackboard Collaborate Ultra inside

More information

Templates and Forms A Complete Overview for Connect Users

Templates and Forms A Complete Overview for Connect Users Templates and Forms A Complete Overview for Connect Users Chapter 1: Introduction... 3 Chapter 2: Microsoft Online Templates... 3 Word Templates... 3 Template Details... 4 Create a Template... 4 Update

More information

After signing in, click on the grid icon and then click on Drive from the Google app menu.

After signing in, click on the grid icon and then click on Drive from the Google app menu. !!! A quick way to access Google Drive is to go to https://gmail.maine.edu and sign in using your!!! MaineStreet username and password. After signing in, click on the grid icon and then click on Drive

More information

jquery UI Widget Factory

jquery UI Widget Factory jquery UI Widget Factory Scott González jquery UI development lead http://nemikor.com @scott_gonzalez $(λ); The widget factory - What is it? - Why do we need it? - How do we use it? $.widget(); Why we

More information

Backend Development. SWE 432, Fall Web Application Development

Backend Development. SWE 432, Fall Web Application Development Backend Development SWE 432, Fall 2018 Web Application Development Review: Async Programming Example 1 second each Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy bar Go get a candy

More information

Build the realtime web with XMPP and Wave

Build the realtime web with XMPP and Wave Build the realtime web with XMPP and Wave ollaborating in realtime on the web 2010-03-26 - Erlang Factory Mickaël Rémond Building the real time web: Initial problem Realtime web:

More information

Learning vrealize Orchestrator in action V M U G L A B

Learning vrealize Orchestrator in action V M U G L A B Learning vrealize Orchestrator in action V M U G L A B Lab Learning vrealize Orchestrator in action Code examples If you don t feel like typing the code you can download it from the webserver running on

More information

jquery Cookbook jquery Community Experts O'REILLY8 Tokyo Taipei Sebastopol Beijing Cambridge Farnham Koln

jquery Cookbook jquery Community Experts O'REILLY8 Tokyo Taipei Sebastopol Beijing Cambridge Farnham Koln jquery Cookbook jquery Community Experts O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Taipei Tokyo Foreword xi Contributors xiii Preface xvii 1. jquery Basics 1 1.1 Including the jquery Library

More information

My Book is a website that will allow families and close groups of friends to

My Book is a website that will allow families and close groups of friends to OBJECTIVE My Book is a website that will allow families and close groups of friends to connect to each other through an integrated calendar, gallery, and organized place to pin notes. Currently people

More information

The Connector Version 2.0 Microsoft Project to Atlassian JIRA Connectivity

The Connector Version 2.0 Microsoft Project to Atlassian JIRA Connectivity The Connector Version 2.0 Microsoft Project to Atlassian JIRA Connectivity User Manual Ecliptic Technologies, Inc. Copyright 2011 Page 1 of 99 What is The Connector? The Connector is a Microsoft Project

More information

Unifer Documentation. Release V1.0. Matthew S

Unifer Documentation. Release V1.0. Matthew S Unifer Documentation Release V1.0 Matthew S July 28, 2014 Contents 1 Unifer Tutorial - Notes Web App 3 1.1 Setting up................................................. 3 1.2 Getting the Template...........................................

More information

Overview

Overview HTML4 & HTML5 Overview Basic Tags Elements Attributes Formatting Phrase Tags Meta Tags Comments Examples / Demos : Text Examples Headings Examples Links Examples Images Examples Lists Examples Tables Examples

More information

Getting Started Guide

Getting Started Guide Getting Started Guide User Guide Chapters 1. Scheduling Meetings Configuring Meeting Details Advanced Options Invitation Email, received by the Participants Invitation Email, sent to the Moderator (scheduler)

More information

IBM WebSphere Lombardi Edition 7.2 Business Process Management Workshop

IBM WebSphere Lombardi Edition 7.2 Business Process Management Workshop IBM IBM WebSphere Lombardi Edition 7.2 Business Process Management Workshop Lab Exercises Contents LAB 1 BUILD-FROM-SCRATCH LAB - PART 1... 4 1.1 START LOMBARDI AUTHORING ENVIRONMENT... 4 1.1.1 START THE

More information

Controller/server communication

Controller/server communication Controller/server communication Mendel Rosenblum Controller's role in Model, View, Controller Controller's job to fetch model for the view May have other server communication needs as well (e.g. authentication

More information

Installing and Configuring the Voice UPB Bridge updated 22-Jan-2018

Installing and Configuring the Voice UPB Bridge updated 22-Jan-2018 Installing and Configuring the Voice UPB Bridge updated 22-Jan-2018 Before starting these instructions, you should already have your Voice assistant installed and working. These instructions can be used

More information

What s a module? Some modules. it s so simple to make your page unique

What s a module? Some modules. it s so simple to make your page unique How to guide What s a module? To create a functioning network without knowing about code, you need to be fluent in drag and drop. Webjam is made up of scores of modules. Modules are the tools that Webjam

More information

owncloud Android App Manual

owncloud Android App Manual owncloud Android App Manual Release 2.7.0 The owncloud developers October 30, 2018 CONTENTS 1 Release Notes 1 1.1 Changes in 2.7.0............................................. 1 1.2 Changes in 2.6.0.............................................

More information

Harmony Claims Submission Process

Harmony Claims Submission Process Vendor data prerequisites (completed by DSP Vendor Manager) Required fields in provider record: Vendor No., taxpayer ID, & claims identifier Provider open to fund code Services attached to provider Participant

More information

Software Requirements Specification. for WAVED. Version 3.0. Prepared By:

Software Requirements Specification. for WAVED. Version 3.0. Prepared By: Software Requirements Specification for WAVED Version 3.0 Prepared By: Sean Bluestein, Kristian Calhoun, Keith Horrocks, Steven Nguyen, Hannah Pinkos Advisor: Kurt Schmidt Stakeholder: Climate Central

More information

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise

Lab 3: Using Worklight Server and Environment Optimization Lab Exercise Lab 3: Using Worklight Server and Environment Optimization Lab Exercise Table of Contents Lab 3 Using the Worklight Server and Environment Optimizations... 3-4 3.1 Building and Testing on the Android Platform...3-4

More information

Workspace ios Content Locker. UBC Workspace 2.0: VMware Content Locker v4.12 for ios. User Guide

Workspace ios Content Locker. UBC Workspace 2.0: VMware Content Locker v4.12 for ios. User Guide UBC Workspace 2.0: VMware Content Locker v4.12 for ios User Guide Navigating Content Locker Content Locker centralizes all your enterprise data in a single container and integrates existing content repositories

More information

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new

More information

Nintex Forms 2010 Help

Nintex Forms 2010 Help Nintex Forms 2010 Help Last updated: Monday, April 20, 2015 1 Administration and Configuration 1.1 Licensing settings 1.2 Activating Nintex Forms 1.3 Web Application activation settings 1.4 Manage device

More information

django-xross Documentation

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

More information

Migrating from the Standard to the Enhanced PPW Driver

Migrating from the Standard to the Enhanced PPW Driver New Driver Announcement! The Property Pres Wizard (PPW) Enhanced Integration is now live in Pruvan. We recommend that you use the new driver over the original one. If you are already using the current

More information

VIC: Video Integrated Content

VIC: Video Integrated Content VIC: Video Integrated Content VIC is a video storage library that allows you to easily connect and share your videos with your students. Loading videos directly into courses can cause a number of issues,

More information

Magento Survey Extension User Guide

Magento Survey Extension User Guide Magento Survey Extension User Guide Page 1 Table of Contents To Access Plugin, Activate API Key... 3 Create Questions... 5 Manage Survey... 6 Assign Question to Survey... 7 Reveal Survey In Three Ways...

More information

Basics of Web Technologies

Basics of Web Technologies Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for Web Designing Given below is the brief description for the course you are looking for: Introduction to Web Technologies

More information

Pages are static content, generally linked in your navigation. They are used for things like your about page and contact page.

Pages are static content, generally linked in your navigation. They are used for things like your about page and contact page. North Star Marketing Client : The Guthrie Group Deliverable : Website Training +++ LOGGING IN AND OUT +++++++++ 1. Go to http://tgg.northstarmarketing.com/wp admin/. This is the address for the staging

More information

How To Add/Modify Your Website Content

How To Add/Modify Your Website Content How To Add/Modify Your Website Content Table of Contents Log In to your Website & Admin Area... 1 WordPress Dashboard... 2 WordPress Posts & Pages... 3 Add a Post or Page... 4 Edit a Post or Page... 5

More information

Adobe Connect - Quick Reference Guide

Adobe Connect - Quick Reference Guide 1. Accessing Adobe Connect Events: URL (provided by host): http://events.wiley.com/roomname Host and Wiley Colleagues will Enter via SSO. Non-Wiley Participants: type their Name, City and State at center

More information

AJAX: Introduction CISC 282 November 27, 2018

AJAX: Introduction CISC 282 November 27, 2018 AJAX: Introduction CISC 282 November 27, 2018 Synchronous Communication User and server take turns waiting User requests pages while browsing Waits for server to respond Waits for the page to load in the

More information

Ten Things You ve Gotta Try in LogMeIn Rescue

Ten Things You ve Gotta Try in LogMeIn Rescue Ten Things You ve Gotta Try in LogMeIn Rescue Ten Things You ve Gotta Try New to LogMeIn Rescue? This guide will get you started. Tip: Complete how-to reference is available at help.logmein.com. Do this

More information

AngularJS Intro Homework

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

More information

Google Sites 101. Mrs. Wilson

Google Sites 101. Mrs. Wilson Google Sites 101 Mrs. Wilson Google Sites 101 Create a site 1. Go to http://sites.google.com/ 2. Login with your Google Account [or Google Apps account] email address and password You can create a Google

More information