FoxInCloud
Running FoxInCloud and FoxWeb at the same time
Gravatar is a globally recognized avatar based on your email address. Running FoxInCloud and FoxWeb at the same time
  Jeff Grippe
  All
  Jun 7, 2019 @ 09:59am

I would like to find out about running FoxWeb (FW) and FoxInCloud at the same time.

The only reason I think there might be a problem is session management. FW has session management including session variables that persist from page call to page call. I assume that FIC has its own session management as well. I think this means that you would need to keep each set of pages distinct, or always pass variables between FIC and FW in the URL itself rather than depending on session variables.

Having coded in FW, I understand its idea of session management well. I don’t know how FIC does it. My guess is the FIC does more behind the scenes so that you can use for Fox style variable assignment and querying. In FW you must use the session management functions Session.SetVar and Session.GetVar. FIC I imagine does more of this without the coder having to worry about these details. So, the issue becomes how to manage sessions for each.

Also, FW takes over script management for IIS. I’m not sure what FIC does. I suppose we could run two different web servers so that each program can manage its own sessions. As we move applications to FIC, we will always move entire modules so FIC will never need FW session information and the other way around. FW will simply need call an FIC page and pass in the client as a parameter. When FIC is done, it will link back to FW. One of our biggest complaints is the menu so FIC might become the main page quickly.

So briefly, our biggest issues are session management and making sure both applications can control scripting on the browser. Our servers are all VM’s. If this is going to work best by putting FIC on a different server, we can always create a new server.

Gravatar is a globally recognized avatar based on your email address. re: Running FoxInCloud and FoxWeb at the same time
  FoxInCloud Support - Thierry N.
  Jeff Grippe
  Jun 7, 2019 @ 01:26pm

Hi Jeff

FIC has its own session management as well

Like any West-Wind Web Connect (WWWC) application, FiC manages sessions through a dedicated class (awSession as wwSession) and a dedicated table (wwSession.dbf).

However FoxInCloud has extended the base WWWC logic:

  • Support for typed variables (instead of string-only), supporting all VFP types,
  • Recycle session variables when the same user opens a new session.

always pass variables between FIC and FW in the URL itself rather than depending on session variables

Another solution is to 'replicate' the session variables across FiC and FW; eg.

define class xxxSession as awSession
…
procedure setSessionVariable
lparameters cVariable, uValue

if dodefault(m.cVariable, m.uValue)

	local oHTTP as wwHTTP of wwHTTP.prg
	oHTTP = createObject ('wwHTTP') && West-Wind HTTP class -- https://client-tools.west-wind.com
	oHTTP.httpGetAsync(textmerge('http://domain.com/FW/setSessionVariable.fw?cVariable=<<m.cVariable>>&cType=<<vartype(m.uValue)>>&uValue=<<transform(m.uValue)>>'))
endif

FIC does more behind the scenes
FIC I imagine does more of this without the coder having to worry about these details.

Yes, FIC manages the user state automatically, you have no session variables to care about.

FW takes over script management for IIS

WWWC does that and FiC helps you choose an extension that is also your application and source code files prefix (code name 'xxx' in this forum).

FoxInCloud uses script mapping as a way to map user events in browser into the matching user event methods in application's forms (and subsequently run the adapted application code). As these request go through AJAX, the user does not even see this mapping and URL extensions.

pass in the client as a parameter

Yes, and you need to consider privacy and possible hacking attempts… this parameter should be as cryptic as possible, and encrypted in the users table.

One of our biggest complaints is the menu

Have you seen the responsive FoxinCloud Live Tutorial?
The menu is generated from a mnx and is responsive: becomes a hamburger when screen size shrinks…

If this is going to work best by putting FIC on a different server

Frankly no, I think the transition will be easier to handle on the same server, especially to share the same database.

does FIC only support projects or can I create a form and run it in FIC without it being part of a project?

It's easier with a project that you feed into the free FoxInCloud Adaptation Assistant and let it guide you until publication on localhost; you can create a project with a very simple startup program and a single form.

Gravatar is a globally recognized avatar based on your email address. re: Running FoxInCloud and FoxWeb at the same time
  Arcadio Bianco
  FoxInCloud Support - Thierry N.
  Jun 7, 2019 @ 05:50pm

Hi Jeff,

One of our biggest complaints is the menu

Look at my video, my menu was created using mnx and a web designer customized it for web using Css.

https://www.youtube.com/watch?v=vkuOnA-nekE

© 1996-2024