AG Retreat 2006 – Hands-On Session Developing Shared Applications Susanne Lefvert University of Chicago.

Slides:



Advertisements
Similar presentations
Advanced Access Grid Operation. What we Know How to use Auto-AG –A basic setup procedure –Commonly used Virtual Venues –No additional interactivity But.
Advertisements

Presenter: James Huang Date: Sept. 29,  HTTP and WWW  Bottle Web Framework  Request Routing  Sending Static Files  Handling HTML  HTTP Errors.
DSL-2730B, DSL-2740B, DSL-2750B.
Extending JIRA Rachel Wright July 15, 2014 See slide “Notes” section for commentary and talking points.
Student Getting Started Guide Updated June Ensure that you are connected to the Internet. 2. Launch your web browser (Internet Explorer, Firefox,
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
NetOp School Your Interactive Classroom Help instructors optimize, manage and control their teaching environment. Consists of two modules: o the teacher.
Exploring Office Grauer and Barber 1 Tables and Forms: Properties, Views, and Wizards(Wk3)
Integrating Access with the Web and with Other Programs.
1 Networks and Internet Objectives Understand basic concepts in Networking Network Types Understand basic concepts in Internet Internet Services Become.
How Clients and Servers Work Together. Objectives Learn about the interaction of clients and servers Explore the features and functions of Web servers.
My Workspace Profile. Using the course menu, click on Profile.
Browser and Basics Tutorial 1. Learn about Web browser software and Web pages The Web is a collection of files that reside on computers, called.
Product Retrieval Statistics Canada / Statistique Canada Chuck Humphrey ACCOLEDS/DLI Training December, 2001.
Guide to MCSE , Enhanced 1 Activity 10-1: Restarting Windows Server 2003 Objective: to restart Windows Server 2003 Start  Shut Down  Restart Configure.
Inti Online Login Page (Lecturer/Student/Administrator View)
PBdox by Mike Motley A comparison of methods for document distribution.
Session 5: Working with MySQL iNET Academy Open Source Web Development.
Classroom User Training June 29, 2005 Presented by:
User Guide Ascend SMS User Guide.
DATA COMMUNICATION DONE BY: ALVIN SAMPATH CARLVIN SAMPATH.
Lab How to Use WANem Last Update Copyright 2011 Kenneth M. Chipps Ph.D. 1.
Introducing Dreamweaver MX 2004
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Home Media Network Hard Drive Training for Update to 2.0 By Erik Collett Revised for Firmware Update.
 SAP AG SAP R/3 Getting Started Fall  SAP AG SAP R/3 Getting Started Using Sap R/3 SAP R/3 Help Demonstration Exercises.
© 2003 By Default! A Free sample background from Slide 1 Week 2  Free PHP Hosting Setup  PHP Backend  Backend Security 
OBJECTIVES  What is HTML  What tools are needed  Creating a Web drive on campus (done only once)  HTML file layout  Some HTML tags  Creating and.
Lead Management Tool Partner User Guide March 15, 2013
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
IIS Security Sridurga Mavram. Contents -Introduction -Security Consideration -Creating a web page -Drawbacks -Security Tools -Conclusion -References.
1. Profile settings 2. Messaging system 3. Downloading files 4. Uploading files 5. Creating groups 6. Calendar events.
Good IOS MDM (continue) – Testing and Troubleshooting Presented by: Jerry Wen 03/14/2012.
Creating a backup file Downloading a backup file Uploading a backup file Resetting or restoring your course from a backup file.
Access Grid Workshop – APAC ‘05 Introduction to Access Grid Development.
Database Handling, Sessions, and AJAX. Post Back ASP.NET Functionality The IsPostBack method in ASP.NET is similar to the BlackBerry.refresh method –IsPostBack.
Access Grid Workshop – APAC ‘05 Access Grid Overview Access Grid Workshop APAC 05
My Workspace ELearning in Sakai Randy Graff, PhD HSC Training.
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
Field Trip #28 Securing a VNC Connection with Java By Keith Lynn.
NOTICE OF REMOVAL Example B: 1 Select Notice of Removal from the Available Events menu. Clicking on the event name places it in the Selected Event box.
CSC350: Learning Management Systems COMSATS Institute of Information Technology (Virtual Campus)
1.Launch from PeopleSoft (7 or 8) Panels Plug-and-play Perfect fit for PeopleSoft 8.X No modification needed 2.Launch from CS Link Anywhere, anytime Good.
Introduction to FrontPage and Web Page Design. Topics Logging in to your site Creating a webpage Text formatting Page backgrounds Linking webpages Links.
Introduction to Taverna Online and Interaction service Aleksandra Pawlik University of Manchester.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Saturday, January 23, 2016 Towards an easy use of CIRCABC Communication and Information Resource Centre for Administrations, Businesses and Citizens By.
Institute for the Protection and Security of the Citizen HAZAS – Hazard Assessment ECCAIRS Technical Course Provided by the Joint Research Centre - Ispra.
ATTORNEY’S GUIDE TO OPENING A CIVIL CASE UPLOADING DOCUMENTS.
Air Force Security Assistance Center Report.Web Tutorial AFSAC Schoolhouse DSN (937) Jun 2016 "THIS BRIEFING/PRESENTATION/DOCUMENT.
BIG MEDIUM A Quick Guide for Web Edits and Additions A Quick Guide for Web Edits and Additions
1 © 2004 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Cisco Technical Support Seminar Using the Cisco Technical Support Website.
Special Interest Groups - a Grid Service Dr. Algimantas Juozapavicius Vilnius University EGEE’06, Geneva, September.
SciDAC SSS Quarterly Report Sandia Labs January 25, 2005 William McLendon Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed.
Using the Personal Image Photo Library
Remote Access: Guide for Windows
Getting Started with SAM
CONTENT MANAGEMENT SYSTEM CSIR-NISCAIR, New Delhi
Administrator Training
Learn How to Register as a Student and Upload a Resume
VP PIE Planning & Resources
Epic Access.
Enter your and password from when you first created an account
Web File Sharing.
Microsoft Office Access 2003
Test Automation For Web-Based Applications
Microsoft Office Access 2003
This presentation document has been prepared by Vault Intelligence Limited (“Vault") and is intended for off line demonstration, presentation and educational.
Mobile Registration App Training Guide for OPO Staffers
Presentation transcript:

AG Retreat 2006 – Hands-On Session Developing Shared Applications Susanne Lefvert University of Chicago

AG Retreat 2006 – Hands-On Session Shared Applications Allows individuals to use programs together from remote locations Shared Browser –Browse the web together Shared Presentation –View and control remote presentations Shared VNC –Secured screen sharing And many more…

AG Retreat 2006 – Hands-On Session Shared Applications

AG Retreat 2006 – Hands-On Session Outline Characteristics –Sharing State –Event Communication Developer Tools –SharedAppClient –DatastoreClient –Access Grid Package Manager Example: Shared PDF Exercises Documentation

AG Retreat 2006 – Hands-On Session Sharing State Venue foo Client 1 Client 2 Client 3 * Communicating via ZSI SOAP calls Application Session State: foo

AG Retreat 2006 – Hands-On Session foo bar foo Event Communication bar Client 1 Client 2 Client 3 * Event communication using Twisted Venue Event Channel Application Session Event Channel

AG Retreat 2006 – Hands-On Session Venue SharedAppClient Your Application SharedAppClient SharedApplicationIW Application Session Event Channel EventClient

AG Retreat 2006 – Hands-On Session SharedAppClient Tool for developers that includes: –SOAP communication –Event exchange –Logging –Data cache –Exception handling API –AccessGrid.SharedAppClient

AG Retreat 2006 – Hands-On Session SharedAppClient API: Join() – Connect to an application session InitLogging() – Get object for logging Shutdown() – Shut down soap interface and event client SendEvent() – Distribute an event to all clients RegisterEventCallback() – Register callback for event SetData() – Set shared state GetData() – Get shared state UpdateDataCache() – Update cached data GetPublicId() – Get my unique id GetVenueURL() – Get venue url

AG Retreat 2006 – Hands-On Session DatastoreClient API: LoadData() – Get data from venue QueryMatchingFiles() – Get file names matching pattern GetFileData() – Get data description for a file Download() – Download file from venue Upload() – Upload file to venue RemoveFile() – Remove file from venue

AG Retreat 2006 – Hands-On Session 1.Create an application description file: MySharedApp.app 2.Build an Access Grid package: SharedAppName.agpkg3 3.Use agpm3.py to install the application –agpm3.py –help –Open the package in the Venue Client 4.Start the application session in the Venue Client Packaging and Installation [application] name = SharedMyApp mimetype = application/x-ag-shared-myapp extension = sharedmyapp files = SharedMyApp.py, otherFile [commands] Open = %(python)s SharedMyApp.py -a %(appUrl)s

AG Retreat 2006 – Hands-On Session Example: Shared PDF

AG Retreat 2006 – Hands-On Session Example: Shared PDF SharedAppClient # Create shared application client self.sharedAppClient = SharedAppClient(name) self.log = self.sharedAppClient.InitLogging() # Get client profile clientProfile = ClientProfile(UserConfig.instance().GetProfile()) # Join the application session self.sharedAppClient.Join(appUrl, clientProfile) self.id = self.sharedAppClient.GetPublicId() # Register callbacks for external events self.sharedAppClient.RegisterEventCallback("openFile", self.OpenCallback) self.sharedAppClient.RegisterEventCallback(“changePage", self.ChangePageCallback)

AG Retreat 2006 – Hands-On Session Example: Shared PDF Get Current State State: URL to file and current page number # Get current state self.file = self.sharedAppClient.GetData(“file") self.pageNr = self.sharedAppClient.GetData(“page") if self.file: try: self.dataStoreClient.Download(self.file, "tmp") self.pdf.LoadFile("tmp") self.pdf.setCurrentPage(self.pageNr) except: self.log.exception("PdfViewer.__init__: Download failed %s"%(self.file))

AG Retreat 2006 – Hands-On Session Example: Shared PDF

AG Retreat 2006 – Hands-On Session Example: Shared PDF Event Communication # -- sender --- def OnNextPageButton(self, event): '''Invoked when user clicks the next button.''' self.pageNr = self.pageNr + 1 self.pdf.setCurrentPage(self.pageNr) self.sharedAppClient.SendEvent(“changePage", self.pageNr) self.sharedAppClient.SetData("page", self.pageNr) # --- receiver --- def ChangePageCallback(self, event): ''' Invoked when a changePage event is received.''' self.pageNr = event.data id = event.GetSenderId() # Ignore my own events if self.id != id: wxCallAfter(self.pdf.setCurrentPage, self.pageNr) Event: type – “changePage”, data – page number

AG Retreat 2006 – Hands-On Session Example: Shared PDF

AG Retreat 2006 – Hands-On Session Example: Shared PDF DatastoreClient def PopulateCombobox(self, default = None): # Get pdf files from venue fileNames = [] wxBeginBusyCursor() try: self.dataStoreClient.LoadData() fileNames = self.dataStoreClient.QueryMatchingFiles("*.pdf") except: self.log.exception("FileSelectorDialog.PopulateCombobox: Failed.") wxEndBusyCursor() # Update combobox self.pdfList.Clear() for file in fileNames: self.pdfList.Append(file)

AG Retreat 2006 – Hands-On Session Example: Shared PDF Packaging and Installation 1. Create SharedPDF.app: 2. SharedPDF.py + SharedPDF.app => SharedPDF.agpkg3 (zip package) 3. agpm3.py --p SharedPDF.agpkg3 [application] name = Shared PDF mimetype = application/x-ag-shared-pdf extension = sharedpdf files = SharedPDF.py [commands] Open = %(python)s SharedPDF.py -v %(venueUrl)s -a %(appUrl)s

AG Retreat 2006 – Hands-On Session Starting Application Session

AG Retreat 2006 – Hands-On Session AGTk 2.4 – 3.0 Migration 1.Connection id needed for venue data store; the id can be retrieved via the.app file. 2.Twisted-wxPython interaction; add reactor imports and reactor.interleave(wxCallAfter). 3.More restrictive rules on data format for events; only primitive data types allowed. 4.Data received from the application service when using the method sharedAppClient.GetData() may be unicode; convert received data to correct python type. 5.Use the new event method event.GetSenderId() to retrieve the public id of a sender. 6.An application package should have extension agpkg3. SharedApplicationsMigrationGuide.htm

AG Retreat 2006 – Hands-On Session Exercises Exercise 1: Shared Stoplight Exercise 2: Shared Group Chat exercise /SharedApps/

AG Retreat 2006 – Hands-On Session Exercise 1: Shared Stoplight

AG Retreat 2006 – Hands-On Session Exercise 1: Shared Stoplight Three Tasks: 1.Create an AG package, install, and start the application from the Venue Client. 2.Add a new button – yellow 3.Add a text field to change the title

AG Retreat 2006 – Hands-On Session Exercise 1: Shared Stoplight

AG Retreat 2006 – Hands-On Session Exercise 2: Shared Group Chat

AG Retreat 2006 – Hands-On Session Documentation Reference Materials Toolkit API AGTk 2-3 Migration Guide SharedApplicationsMigrationGuide.htm