FoxInCloud
Getting Started....
Gravatar is a globally recognized avatar based on your email address. Getting Started....
  n/a
  All
  Jul 25, 2014 @ 12:18pm
Good afternoon,

I have an opportunity to utilize part of an existing application to run on the web for one of my clients. I am totally new to anything web, after spending close to 20 years working with FoxPro....

Have seen references to Fox-In-The-Cloud and it looks like it can do the job. However being new to web stuff I didn't even have IIs installed and have gone through the adaption and publish phase of the adaption process...

1.) How to see my application or the provided examples in a web browser?
2.) Best way to start understanding that I hardly know anything about the web?


Can you provide some pointers/words of wisdom on getting this process started? Pointers to some introductory material on web application, especially as it relates to how it works with Fox-In-The-Cloud....

Regards,
Desmond

Gravatar is a globally recognized avatar based on your email address. Re: Getting Started....
  GLS
  Desmond
  Jul 26, 2014 @ 12:59am
Hi Desmond,

You can load from http://www.foxincloud.com/how-to.php
FoxInCloud A-Z Tutorial: Sessions 1 thru 4 [updated 12/03/2013, 19.53 MB]

It is true that it is in front of a high wall to cross that VFP developers find themselves facing the WEB, at least for those who have never undertaken using IIS, Javascript etc. ..

We must act in two stages:

1 learn to check that IIS is properly installed for FoxInCloud / wconnect can interact with HTML / WEB applications:
- The blog of Rick provided many elements of answers
- Documentation A-Z Thierry everything else
- This forum to ask questions and get the right answers

2 understand how and why FoxInCloud adapts the source code of our applications Foxpro
- It is both very simple, since everything is done in Foxpro, FoxInCloud is 100% VFP 9, but complex because FoxInCloud simulates a multi-user logic in a single executable application

I managed to understand and fully utilize foxincloud, then you'll get there too.

see you soon

best regards


Good afternoon,

I have an opportunity to utilize part of an existing application to run on the web for one of my clients. I am totally new to anything web, after spending close to 20 years working with FoxPro....

Have seen references to Fox-In-The-Cloud and it looks like it can do the job. However being new to web stuff I didn't even have IIs installed and have gone through the adaption and publish phase of the adaption process...

1.) How to see my application or the provided examples in a web browser?
2.) Best way to start understanding that I hardly know anything about the web?


Can you provide some pointers/words of wisdom on getting this process started? Pointers to some introductory material on web application, especially as it relates to how it works with Fox-In-The-Cloud....

Regards,
Desmond

Gravatar is a globally recognized avatar based on your email address. Re: Getting Started....
  FoxInCloud Support - Thierry N.
  Desmond
  Jul 28, 2014 @ 03:20am
Hi Desmond,

After step 3-publish, FAA should have built a page referencing all forms in your application and should be able to see at least the form layout. Some events should respond.

If it does not happen so, please post any screen shot that could help us understand in which state you actually are ...

Can you provide some pointers/words of wisdom on getting this process started? Pointers to some introductory material on web application, especially as it relates to how it works with Fox-In-The-Cloud....

Here is a tentative 'big picture', I hope it'll clarify some aspects of FoxInCloud. I'd appreciate your feedback on this document (candidate for a FAQ entry) - putting up in simple words something you know by heart is always a challenge ...

Also, please make sure to review our site's http://foxincloud.com/faq.php and http://foxincloud.com/techno.php

FoxInCloud: a big picture

As any Web Application Engine, FoxInCloud is made of 3 main parts: Web Browser as GUI, Web Server and Web Application Server.
This article aims to explain what skills a developer might find useful to understand about these 3 elements using FoxInCloud Web Application Studio.

Web Browser GUI


As FoxInCloud generates code in HTML5, CSS3 and JavaScript that closely matches the original VFP forms, the developer basically only needs a basic knowledge in these areas.
What is useful is the ability to analyse what's going on behind the scene inside the browser; for that purpose, all modern browsers have 'development tools', generally accessible by hitting the F12 key.

Though they come in different flavors across browsers, any browser development tool offer features very similar to the VFP debugger:


  • exploring the object structure and properties

  • setting breakpoint at a given code line and/or when a specific condition is met

  • watch variable or expression value

  • echo messages


On top of these 'classical' features, as a web browser is also able to send HTTP requests to a server, browser development tool also expose these requests and the corresponding response.
As for any tool, each browser development tool has pros and cons, more or less features; because it was the first in history, and we got used to it through the years, we at FoxInCloud recommend using FireFox + FireBug.

What VFP developers might find useful understanding are the respective roles of HTML, CSS and JavaScript:


  1. HTML defines the page structure: document, sections, controls, and the hierarchy in between

  2. CSS defines the way the page appears to the user: fonts, colors, positions, dimensions, etc.

  3. JavaScript is the magician able to do, undo, modify whatever HTML and CSS have done

Developers could keep in mind some important principles:


  • HTML 'elements' and CSS 'rules' are linked through 'selectors' (http://www.w3.org/TR/css3-selectors/); selectors are powerful text-based rules defining which element(s) a given CSS rule applies to, and the hierarchy between rules. An easy way to understand selectors is to open any web page (a simple first, then more and more complicated), and see what FireBug displays in the 'HTML' pane.

  • As HTML and CSS are separated, any CSS rule can be used with any HTML element - compared to VFP where display properties may apply or not to a given base class, CSS rules are really 'universal'. If a given rule is meaningless for a given HTML element, it is simply ignored.

  • JavaScript is enjailed within the browser, without direct access to the operating system: though JavaScript can do anything on the web page, it can do nothing like writing or reading files or peripherals in the operating system.

Web Server


Basically a Web Server receives HTTP requests, and processes them in either of these ways:

  1. if, based on the URL extension, HTTP request matches an application, Web server transmits the request to this application and, when application responds, sends this response back to the 'client' browser.

  2. otherwise, Web server looks for a file located at the physical address matching the URL and, if it has the right to do so, reads the file and sends it back to the 'client'.

  3. if no file exists at the specified location, or the Operating System denies the right to the web server to read this file, the Web server responds with an error code and an default error page.


As the Web server and the Web application runs under some user account granting security priviledges, each of these steps is influenced by the rights that this account has over the Operating System.

As FoxInCloud relies on West-Wind Web Connect (wwwc), the wwwc documentation explains how these privileges are implemented.
What is really important for the VFP developer is to understand the accounts under which these process operate, and get familiar with the Web Server management tools (IIS in general).

Though some tools provide an automated interface for setting up a wwwc/FoxInCloud Web Application, understanding what happens behind the scene helps solving unexpected behaviors, and implementing a bullet-proof security policy on client servers.
These tools are: west-wind's 'console.exe' and FoxInCloud Adaptation Assistant to set up a development server.

Web Application Server


With FoxInCloud, the Web Application Server is ... your (adapted) application interfaced to the Web Server by the FoxInCloud Application Server (FAS) using the the west-wind web connect package.

Basically, the FoxInCloud Application Server:


  • Generates HTML, CSS and JavaScript matching the behavior of your VFP forms, including layout and user events (.Click(), .Valid(), etc.)

  • When a GUI user events occurs, executes the matching event code in your application

  • Identifies the GUI changes occurred during the event and sends back to the HTML page for update by JavaScript

  • Maintains the state for each form and each user on disk


What a developper needs to keep in mind is:

  1. The application code needs some adaptation to run within FAS

  2. Code adaptations never break your application's desktop behavior: your adapted application runs on the desktop just the same

  3. Though the FoxInCloud Adaptation Assistant automates most of the adaptations, some of them remain to be done manually

  4. You can adapt your application progressively: FoxInCloud offers a continuous path to the Web, without any 'migration' or 'conversion'; it's more like getting sun tanned

  5. You keep the same debugging abilities as for desktop development: breakpoint, etc.

  6. Adaptations involve writing VFP code only.



Good afternoon,

I have an opportunity to utilize part of an existing application to run on the web for one of my clients. I am totally new to anything web, after spending close to 20 years working with FoxPro....

Have seen references to Fox-In-The-Cloud and it looks like it can do the job. However being new to web stuff I didn't even have IIs installed and have gone through the adaption and publish phase of the adaption process...

1.) How to see my application or the provided examples in a web browser?
2.) Best way to start understanding that I hardly know anything about the web?

Can you provide some pointers/words of wisdom on getting this process started? Pointers to some introductory material on web application, especially as it relates to how it works with Fox-In-The-Cloud....

Regards,
Desmond

Gravatar is a globally recognized avatar based on your email address. Re: Getting Started....
  n/a
  Thierry Nivelet (FoxInCloud)
  Jul 28, 2014 @ 06:02am

Good morning,

Am in receipt of all this great material. In the office this morning and hope to be able to read and review later today. Wanted to get work back to you regarding my status...

Regards,
Desmond


Hi Desmond,

After step 3-publish, FAA should have built a page referencing all forms in your application and should be able to see at least the form layout. Some events should respond.

If it does not happen so, please post any screen shot that could help us understand in which state you actually are ...

Can you provide some pointers/words of wisdom on getting this process started? Pointers to some introductory material on web application, especially as it relates to how it works with Fox-In-The-Cloud....

Here is a tentative 'big picture', I hope it'll clarify some aspects of FoxInCloud. I'd appreciate your feedback on this document (candidate for a FAQ entry) - putting up in simple words something you know by heart is always a challenge ...

Also, please make sure to review our site's http://foxincloud.com/faq.php and http://foxincloud.com/techno.php

FoxInCloud: a big picture

As any Web Application Engine, FoxInCloud is made of 3 main parts: Web Browser as GUI, Web Server and Web Application Server.
This article aims to explain what skills a developer might find useful to understand about these 3 elements using FoxInCloud Web Application Studio.

Web Browser GUI


As FoxInCloud generates code in HTML5, CSS3 and JavaScript that closely matches the original VFP forms, the developer basically only needs a basic knowledge in these areas.
What is useful is the ability to analyse what's going on behind the scene inside the browser; for that purpose, all modern browsers have 'development tools', generally accessible by hitting the F12 key.

Though they come in different flavors across browsers, any browser development tool offer features very similar to the VFP debugger:


  • exploring the object structure and properties

  • setting breakpoint at a given code line and/or when a specific condition is met

  • watch variable or expression value

  • echo messages


On top of these 'classical' features, as a web browser is also able to send HTTP requests to a server, browser development tool also expose these requests and the corresponding response.
As for any tool, each browser development tool has pros and cons, more or less features; because it was the first in history, and we got used to it through the years, we at FoxInCloud recommend using FireFox + FireBug.

What VFP developers might find useful understanding are the respective roles of HTML, CSS and JavaScript:


  1. HTML defines the page structure: document, sections, controls, and the hierarchy in between

  2. CSS defines the way the page appears to the user: fonts, colors, positions, dimensions, etc.

  3. JavaScript is the magician able to do, undo, modify whatever HTML and CSS have done

Developers could keep in mind some important principles:


  • HTML 'elements' and CSS 'rules' are linked through 'selectors' (http://www.w3.org/TR/css3-selectors/); selectors are powerful text-based rules defining which element(s) a given CSS rule applies to, and the hierarchy between rules. An easy way to understand selectors is to open any web page (a simple first, then more and more complicated), and see what FireBug displays in the 'HTML' pane.

  • As HTML and CSS are separated, any CSS rule can be used with any HTML element - compared to VFP where display properties may apply or not to a given base class, CSS rules are really 'universal'. If a given rule is meaningless for a given HTML element, it is simply ignored.

  • JavaScript is enjailed within the browser, without direct access to the operating system: though JavaScript can do anything on the web page, it can do nothing like writing or reading files or peripherals in the operating system.

Web Server


Basically a Web Server receives HTTP requests, and processes them in either of these ways:

  1. if, based on the URL extension, HTTP request matches an application, Web server transmits the request to this application and, when application responds, sends this response back to the 'client' browser.

  2. otherwise, Web server looks for a file located at the physical address matching the URL and, if it has the right to do so, reads the file and sends it back to the 'client'.

  3. if no file exists at the specified location, or the Operating System denies the right to the web server to read this file, the Web server responds with an error code and an default error page.


As the Web server and the Web application runs under some user account granting security priviledges, each of these steps is influenced by the rights that this account has over the Operating System.

As FoxInCloud relies on West-Wind Web Connect (wwwc), the wwwc documentation explains how these privileges are implemented.
What is really important for the VFP developer is to understand the accounts under which these process operate, and get familiar with the Web Server management tools (IIS in general).

Though some tools provide an automated interface for setting up a wwwc/FoxInCloud Web Application, understanding what happens behind the scene helps solving unexpected behaviors, and implementing a bullet-proof security policy on client servers.
These tools are: west-wind's 'console.exe' and FoxInCloud Adaptation Assistant to set up a development server.

Web Application Server


With FoxInCloud, the Web Application Server is ... your (adapted) application interfaced to the Web Server by the FoxInCloud Application Server (FAS) using the the west-wind web connect package.

Basically, the FoxInCloud Application Server:


  • Generates HTML, CSS and JavaScript matching the behavior of your VFP forms, including layout and user events (.Click(), .Valid(), etc.)

  • When a GUI user events occurs, executes the matching event code in your application

  • Identifies the GUI changes occurred during the event and sends back to the HTML page for update by JavaScript

  • Maintains the state for each form and each user on disk


What a developper needs to keep in mind is:

  1. The application code needs some adaptation to run within FAS

  2. Code adaptations never break your application's desktop behavior: your adapted application runs on the desktop just the same

  3. Though the FoxInCloud Adaptation Assistant automates most of the adaptations, some of them remain to be done manually

  4. You can adapt your application progressively: FoxInCloud offers a continuous path to the Web, without any 'migration' or 'conversion'; it's more like getting sun tanned

  5. You keep the same debugging abilities as for desktop development: breakpoint, etc.

  6. Adaptations involve writing VFP code only.



Good afternoon,

I have an opportunity to utilize part of an existing application to run on the web for one of my clients. I am totally new to anything web, after spending close to 20 years working with FoxPro....

Have seen references to Fox-In-The-Cloud and it looks like it can do the job. However being new to web stuff I didn't even have IIs installed and have gone through the adaption and publish phase of the adaption process...

1.) How to see my application or the provided examples in a web browser?
2.) Best way to start understanding that I hardly know anything about the web?

Can you provide some pointers/words of wisdom on getting this process started? Pointers to some introductory material on web application, especially as it relates to how it works with Fox-In-The-Cloud....

Regards,
Desmond


© 1996-2024