This document provides an overview of FoxInCloud, which allows running Visual FoxPro applications in a web browser. It describes how FoxInCloud Application Server (FAS) operates an application on a web server and interacts with the client browser. FAS clones Visual FoxPro forms into HTML, CSS, and JavaScript to display the application interface in the browser. When a user interacts with a form, it triggers an AJAX request to FAS, which executes the corresponding event handlers in the application. FAS then generates a response to update the HTML page state. This allows providing a desktop-like experience of the application within a web browser.
CyberLab Training Division :
ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites. It allows you to use a full featured programming language such as C# or VB.NET to build web applications easily.
This tutorial covers all the basic elements of ASP.NET that a beginner would require to get started.
Audience
This tutorial has been prepared for the beginners to help them understand basic ASP.NET programming. After completing this tutorial you will find yourself at a moderate level of expertise in ASP.NET programming from where you can take yourself to next levels.
Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of .NET programming language. As we are going to develop web-based applications using ASP.NET web application framework, it will be good if you have an understanding of other web technologies such as HTML, CSS, AJAX. etc
ASP.NET supports three different development models:
Web Pages, MVC (Model View Controller), and Web Forms.
For More Details.
Visit: http://www.cyberlabzone.com
CyberLab Training Division :
ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites. It allows you to use a full featured programming language such as C# or VB.NET to build web applications easily.
This tutorial covers all the basic elements of ASP.NET that a beginner would require to get started.
Audience
This tutorial has been prepared for the beginners to help them understand basic ASP.NET programming. After completing this tutorial you will find yourself at a moderate level of expertise in ASP.NET programming from where you can take yourself to next levels.
Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of .NET programming language. As we are going to develop web-based applications using ASP.NET web application framework, it will be good if you have an understanding of other web technologies such as HTML, CSS, AJAX. etc
ASP.NET supports three different development models:
Web Pages, MVC (Model View Controller), and Web Forms.
For More Details.
Visit: http://www.cyberlabzone.com
AthTek WebXone is an intelligent RIA (Rich Internet Applications) builder for software developers to create web based applications with C++Builder, VC, VB, Delphi and PowerBuilder. If you already got the project in any of these development environments, WebXone can assist you to convert the project from client based software to web based app in seconds. Without any web development skill is required, WebXone greatly extends software developers' ability in web app development. If you are looking forward to creating web app with C++Builder/VC/Delphi, WebXone is the creator we highly recommend!
Modernizing Twitter for Windows as a Progressive Web AppWindows Developer
In this theater session, join Twitter as they walk through how they re-built their Windows app using the new Progressive Web App platform in Microsoft Edge and Windows 10. This new app powers the Twitter experience on the Web, Android devices, Windows, and more, providing a performant, feature rich experience regardless of form factor, all from one unified codebase providing a modern experience on any device.
Everything about flutter web developmentKaty Slemon
Are you enthusiastic about Web Development? Try Flutter for Web! Here’s a guide on Flutter for web with demo to learn everything about Flutter Web development.
CyberLab Training Division :
ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites. It allows you to use a full featured programming language such as C# or VB.NET to build web applications easily.
This tutorial covers all the basic elements of ASP.NET that a beginner would require to get started.
Audience
This tutorial has been prepared for the beginners to help them understand basic ASP.NET programming. After completing this tutorial you will find yourself at a moderate level of expertise in ASP.NET programming from where you can take yourself to next levels.
Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of .NET programming language. As we are going to develop web-based applications using ASP.NET web application framework, it will be good if you have an understanding of other web technologies such as HTML, CSS, AJAX. etc
ASP.NET supports three different development models:
Web Pages, MVC (Model View Controller), and Web Forms.
For More Details.
Visit: http://www.cyberlabzone.com
CyberLab Training Division :
ASP.NET is a web application framework developed and marketed by Microsoft to allow programmers to build dynamic web sites. It allows you to use a full featured programming language such as C# or VB.NET to build web applications easily.
This tutorial covers all the basic elements of ASP.NET that a beginner would require to get started.
Audience
This tutorial has been prepared for the beginners to help them understand basic ASP.NET programming. After completing this tutorial you will find yourself at a moderate level of expertise in ASP.NET programming from where you can take yourself to next levels.
Prerequisites
Before proceeding with this tutorial, you should have a basic understanding of .NET programming language. As we are going to develop web-based applications using ASP.NET web application framework, it will be good if you have an understanding of other web technologies such as HTML, CSS, AJAX. etc
ASP.NET supports three different development models:
Web Pages, MVC (Model View Controller), and Web Forms.
For More Details.
Visit: http://www.cyberlabzone.com
AthTek WebXone is an intelligent RIA (Rich Internet Applications) builder for software developers to create web based applications with C++Builder, VC, VB, Delphi and PowerBuilder. If you already got the project in any of these development environments, WebXone can assist you to convert the project from client based software to web based app in seconds. Without any web development skill is required, WebXone greatly extends software developers' ability in web app development. If you are looking forward to creating web app with C++Builder/VC/Delphi, WebXone is the creator we highly recommend!
Modernizing Twitter for Windows as a Progressive Web AppWindows Developer
In this theater session, join Twitter as they walk through how they re-built their Windows app using the new Progressive Web App platform in Microsoft Edge and Windows 10. This new app powers the Twitter experience on the Web, Android devices, Windows, and more, providing a performant, feature rich experience regardless of form factor, all from one unified codebase providing a modern experience on any device.
Everything about flutter web developmentKaty Slemon
Are you enthusiastic about Web Development? Try Flutter for Web! Here’s a guide on Flutter for web with demo to learn everything about Flutter Web development.
This presentation is for the developers who want to embark upon the SharePoint development and don\'t know where to start, how does it differ from traditional ASP.NET development, etc.
CLI319 Microsoft Desktop Optimization Pack: Planning the Deployment of Micros...Louis Göhl
You're excited about the new features in App-V 4.5, but where do you get started? This talk is meant to guide IT administrators through the App-V deployment decision process. Specifically, we discuss the various deployment types, pros and cons for each type of deployment, and performance and scalability issues. By the end of the presentation, IT administrators will be able to identify the deployment that is best suited for their preferences and infrastructure.
Vaadin is quickly popularizing Java framework for developing rich and interactive server-driven web applications. Vaadin is built around core Servlet and Google Web Toolkit (GWT) technologies and it strives to developer productivity by providing large library of components and ready made functionality that hides the hard parts of web development allowing developers to concentrate to the real business problem at hand. During this session we’ll cover the basics of building Vaadin based web applications: layouting, data binding, application deployment and Vaadin Touckit integration for mobile devices. Attending the speech does not require thorough understanding of web technologies in general, session will include demonstration and live coding.
T2 webframework is simple and modernized java webframework for web2.0 environment.This presentaion tells you the new web development situation is coming to us and how we solve by T2 webframework.
SharePoint is being rapidly adopted by enterprises large and small as a platform for collaboration. One of the reasons for this rapid adoption is it's ability to be customized through the development of custom Web Parts. This session will take ASP.Net programmers through all of the steps needed to create a custom Web Part from scratch and make it available to Site creators in their SharePoint environment.
Naoki Hada's personal project portfolio for iOS, Mobile, Flash, AIR, Web application.
Works at HSAL, HDS, Adobe and Sportvision (NASCAR.com RaceView) are not included.
Please refer work related project at LinkedIn profile.
http://linkedin.com/in/naoki
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
2. Session 1
Understanding FoxInCloud
This session targets users who wish to see the big picture before
starting hands-on experience…
it describes how FoxInCloud Application Server (FAS) operates
your application on a Web server and interacts with the client
browser.
Reproducing steps of this session requires setting break points at
various locations of FAS source code (licensed users only).
Though you may follow the steps by browsing the coming slides and applying the
steps on your own machine, you may get a better understanding by attending a
FoxInCloud workshop or training session; please feel free to mail
contact@foxincloud.com for workshops and training sessions to come.
FAS installs the files used in this session into <VFP9>ToolsABAWSamplesFICFICtuto
3. Understanding FoxInCloud,
Agenda
Episode Subject Slides
FoxInCloud Architecture 1
1 Connecting Web Server and FAS 11
2 Displaying app’s main form in Browser 17
3 Interacting with a form in Browser 12
41
4. Web server (IIS, Apache, …):
Hosts Web site (i.e.
www.mysite.com)
FIC App. Server (FAS):
VFP/wConnect-based
FoxInCloud Application Server
App Host:
Private session where adapted
application runs
HTML/CSS/JS gen:
clones your app’s forms into
HTML/CSS/JS which becomes
the designated website (i.e.
www.mysite.com)
Process:
Processes HTTP requests
received from the site
AJAX:
Processes user actions on forms
thru AJAX requests
FoxInCloud Architecture
Web Server
FIC App.
Server
App Host
HTML / CSS / JS on Web site
Process AJAX
End user on Web site
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
5. Session 1, episode 1
Connecting Web server to FAS
Web Server
FIC App.
Server
App Host
HTML / CSS / JS on Web site
Process AJAX
End user on Web site
6. IIS comes
with most
Windows
editions
Note: the free
FoxInCloud
Adaptation
Assistant (FAA)
automates all IIS
settings to
come;
Session 3
demonstrates
this automated
installation.
Grabbing requests from
localhost web server
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
7. An “IIS
application”
is a virtual
directory
where an
application
can run
Adding an IIS application
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
8. IIS allows
URLs with a
given
extension to
be
processed
by a given
module
(.exe or .dll)
Mapping an URL extension to
your FAS
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
9. FAS relies on
“West-Wind
web
connect”
(wConnect)
wc.dll is the
IIS extension
that
wConnect
provides.
Target module is wConnect’s
“wc.dll”
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
10. Main setting is
the folder
where wc.dll
and FAS
trade request
and response
files
When getting
an HTTP
request from
IIS, wc.dll
writes request
details into a
file in this
folder.
wc.dll reads settings from wc.ini
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
12. awAppHost
is app’s
session
object.
Both
desktop
and Web
versions of
your app
share the
xxxSets
Settings
class.
FAS initializes application
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
13. FAS waits
for timer
events
FAS enters wait state
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
14. In dev.
mode, FAS
waits for
files written
by the Web
server,
containing
HTTP
request
details
FAS timer fires
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
15. FAS: ready to serve requests!
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
16. Session 1, episode 2
Displaying main form in browser
Web Server
Fic App.
Server
App Host
HTML / CSS / JS on Web site
Process AJAX
End user on Web site
17. index.scx is a
regular VFP
form with
several
command
buttons and a
background
picture …
The form we want to display
in the browser
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
18. We redirect
IIS’s default
document
index.htm
to an URL
with the
extension
mapped to
our FAS:
index.tuto
Redirecting IIS default
document to FAS home
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
19. Typing application URL
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
20. Due to IIS
redirection
of
index.htm
to
index.tuto,
typing
application
root URL
http://
localhost/
tutotest/
yields
application
home page
IIS redirects
root URL to our FAS
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
21. As we
mapped
*.tuto to
wc.dll, IIS
transmits the
…/index.tuto
request to
wc.dll
wc.dll gets the request from IIS
and dumps it into a file
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
22. As soon as
FAS timer
fires and
finds a
request file in
the folder
shared with
wc.dll, FAS
timer reads
its content.
(Default timer
interval is
200 ms.)
Timer fires,
FAS reads request from file
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
23. Inside FAS,
the .tuto
extension
maps to the
tutoProcess
class.
This class
processes
the request.
FAS routes request to
application’s Process object
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
24. The process
class
executes the
method
named after
justStem(url)
(“index.tuto”
executes the
method
‘index’ of
process class
mapped to
‘.tuto’)
All FoxInCloud
member names
begin with ‘w’
Application executes process
class method
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
25. oAppHost is
FoxInCloud
application
host object.
Application
host object
keeps a pool
of references
to the
various forms
in the
application
Process asks application host
for a reference to the form
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
26. App. Host
does not
hold any
reference to
the form
requested:
This form
needs to be
instantiated
First time this form is used:
App Host must instantiate
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
27. App. Host
instantiates
the form
using a
regular DO
FORM…NAME
command.
This form
instance lives
inside App
Host as long
as server runs.
All users share
this instance.
App Host stores a reference
to the form
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
28. Form
instantiates
and fires
events just
like in
desktop:
.Load(),
.Init(),
.Show(), …
Form.events() execute
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
29. As any Web
application,
FoxInCloud
needs save
application
and forms
state for
each user,
including
dataSession;
Initial state is
restored
whenever a
user opens a
form.
FAS saves form’s initial state
into a VFP table
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
30. FoxInCloud’s
awHTMLgen
class walks
through the
form’s
containers
hierarchy to
generate
HTML CSS JS
replicating
the layout
and
behavior of
original VFP
form
FAS clones form into
HTML, CSS and JavaScript
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
31. FoxInCloud’s
.wFormStan
dardPage()
method
builds a full
HTML page
including
<head>, FAS
standard
and
application-
specific CSS
& JS,
<body>, etc.
FAS send back a full HTML page
including the form
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
32. The whole
process, from
FAS receiving
the request to
response
delivered
takes less
than a
second …
index.tuto -
Launching form #1
'index.scx’…
Instantiated in
.124 secs.
Setup in
.006 secs.
State saved in
.134 secs.
HTML/CSS/JS
generated in
.334 secs.
Finished with
success in
.914 secs
Form page finally shows up
in the browser …
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
33. Session 1, episode 3
Interacting with a form
Web Server
Fic App.
Server
App Host
HTML / CSS / JS on Web site
Process AJAX
End user on Web site
35. FAS has
generated
the same
button in
HTML
Let’s click the same button in
web browser …
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
36. Because
the .click()
event of this
button is
implemented
in the original
VFP form,
FAS has
generated a
similar event
handler in
form’s
JavaScript
named
index_scx.js
FoxInCloud has generated a
JS .click() event handler
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
37. All user
interaction
events are
processed by
standard
FoxInCloud.
js.DOMEvent
method,
resulting in
sending an
AJAX request
to the FAS
server;
URL details
the event
occurred
Clicking this button triggers an
AJAX request to FAS
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
38. .DOMEvent()
goes through
several FAS
methods to
end up
executing the
application
button’s
.Click()
method.
.wForm()
opens
RowSourceTy
pe.scx as a
child form
FAS executes button’s
.click() method
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
39. Similar to what
we saw in the
previous
episode,
.wForm() asks
application
host for a
reference to
the form; if
none exist,
AppHost
launches the
form, saves its
state and
generate
HTML/CSS/JS
wForm() asks Application Host
for a form reference
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
40. Knowing that
form’s HTML/
CSS/JS is
available,
.wForm()
asks the FAS
AJAX
response
object to add
the form’s
HTML/CSS/JS
to the AJAX
response.
.wForm() adds child form dialog
into AJAX response
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
41. FAS response
to AJAX
requests is
encode as
an XML
stream.
FoxInCloud.js
parses this
XML response
into
JavaScript
instructions to
update HTML
page.
Form HTML/CSS/JS is encoded
into the XML response
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
42. Web dev.
Tools such as
Firebug for
Firefox
provide a
very handy
debugging
environment;
here we can
see the full
XML response
received
from FAS
server,
original
request, and
much more.
Browser receives XML response
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
43. FAS builds an
XML response
to AJAX
requests
(mainly user
events).
XML response
embeds JS
instructions for
the HTML
display to
reflect VFP
form’s state
after user
action, just like
in desktop.
FoxInCloud.js executes orders
read in XML response
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/
44. By comparing
the state of
each form
before and
after user
action
[.Click() in
this case], FAS
could send all
the necessary
orders for
FoxInCloud.js
to update the
client HTML
page
accordingly
Child form shows up in the
browser
Any question? Post with screenshot in the ‘FoxInCloud’ section of http://west-wind.com/wwThreads/ or http://www.universalthread.com/