I have a VFP9 app written with framework Visual FoxExpress. My app uses a native VFP database. Over 200 tables and over 2000 views. Basically an accounting app with Point-Of-Sale features.
I have many companies using my app. Each company has it's own instance of my app that resides on one of my cloud servers.
The cloud server file structure looks like this. Each company is a separate instance of my app, each instance with it's own home directory and data subdirectory, etc:
\Company1
\Company1\data\myvfpdbc.dbf
\Company2
\Company2\data\myvfpdbc.dbf
\Company3
\Company3\data\myvfpdbc.dbf
etc.
On the user's local workstation's HDD:
c:\Company1\ws_settings.txt
c:\Company1\Reports
When user click the RemoteApp shortcut on their desktop:
User connects to the cloud using a cloud userid and cloud password (I maintain an active directory for all cloud users)
After connected to the cloud server, my app has built in security so the user sees my app's login screen and user logs into my app. (I maintain user accounts for that "company" in each instance of my app)
When user exits my app, they are automatically disconnected from the cloud about 20 seconds later.
Users never have access to the HDD on the cloud server. They are either running my app or not.
My app uses XFRX to generate reports and if the users wants the report in a pdf, xls, etc, my app sends the pdf, xls, etc to the user's local reports folder (c:\Company1\Reports)
My app has workstation specific settings. For example, in my app, I can maintain the names of a printer for reports (plain paper) and for checks (a dedicated checks printer that holds blank check stock). Users never select a printer from my app. My app knows if they are printing a report and sends the print job to that workstation's "reports" printer. My app knows if they are printing a check and send the print job to that workstation's "checks" printer.
Via settings in the RemoteApp shortcut to run my app on the cloud server, my app can see the users local HDD.
When my app starts up, immediately after the user logs into my app, my app looks for a file on the users local HDD named \\tsclient\c\"+ALLTRIM(JUSTFNAME(SYS(2003)))+"\ws_settings.txt"
This text file contains a guid which uniquely identifies this workstation to my app.
My app can then know the settings for this particular workstation that is running my app, so with regard to my example, my app knows this workstation's printers.
New twist:
I have a new company that will be using my app.
The workstations have no HDD. I understand they are using Citrix and that all workstations are "virtual". I am sure I am not saying this correctly. I have been told that all workstations are using terminal emulation and I believe that means they are all like "dumb terminals".
So, the workstations that will be accessing my app have no local HDD.
Finally my question: What do I do differently so that my app continues to be able to find the local ws_settings.txt file for the workstation that is running my app?
Thanks, John
I have many companies using my app. Each company has it's own instance of my app that resides on one of my cloud servers.
The cloud server file structure looks like this. Each company is a separate instance of my app, each instance with it's own home directory and data subdirectory, etc:
\Company1
\Company1\data\myvfpdbc.dbf
\Company2
\Company2\data\myvfpdbc.dbf
\Company3
\Company3\data\myvfpdbc.dbf
etc.
On the user's local workstation's HDD:
c:\Company1\ws_settings.txt
c:\Company1\Reports
When user click the RemoteApp shortcut on their desktop:
User connects to the cloud using a cloud userid and cloud password (I maintain an active directory for all cloud users)
After connected to the cloud server, my app has built in security so the user sees my app's login screen and user logs into my app. (I maintain user accounts for that "company" in each instance of my app)
When user exits my app, they are automatically disconnected from the cloud about 20 seconds later.
Users never have access to the HDD on the cloud server. They are either running my app or not.
My app uses XFRX to generate reports and if the users wants the report in a pdf, xls, etc, my app sends the pdf, xls, etc to the user's local reports folder (c:\Company1\Reports)
My app has workstation specific settings. For example, in my app, I can maintain the names of a printer for reports (plain paper) and for checks (a dedicated checks printer that holds blank check stock). Users never select a printer from my app. My app knows if they are printing a report and sends the print job to that workstation's "reports" printer. My app knows if they are printing a check and send the print job to that workstation's "checks" printer.
Via settings in the RemoteApp shortcut to run my app on the cloud server, my app can see the users local HDD.
When my app starts up, immediately after the user logs into my app, my app looks for a file on the users local HDD named \\tsclient\c\"+ALLTRIM(JUSTFNAME(SYS(2003)))+"\ws_settings.txt"
This text file contains a guid which uniquely identifies this workstation to my app.
My app can then know the settings for this particular workstation that is running my app, so with regard to my example, my app knows this workstation's printers.
New twist:
I have a new company that will be using my app.
The workstations have no HDD. I understand they are using Citrix and that all workstations are "virtual". I am sure I am not saying this correctly. I have been told that all workstations are using terminal emulation and I believe that means they are all like "dumb terminals".
So, the workstations that will be accessing my app have no local HDD.
Finally my question: What do I do differently so that my app continues to be able to find the local ws_settings.txt file for the workstation that is running my app?
Thanks, John