File Explorer Component working differently depending on the client PC

I have the Root Directory in the File explorer set to C:\Program Files\Inductive Automation\Ignition\webserver\webapps\main of the server pc and I am having some interesting issues. If, I open the client from the server pc (using remote desktop) I can access all the files that I have saved to this directory. As shown here:
https:/uploads/iatesting/original/2X/e/e47a4b0fadc83fb36e3c7510a6910723bed7621a.png
However, if I open the client from my pc I only see the following:
https:/uploads/iatesting/original/2X/2/222836f583b479630fdeaef6d55f02dd6c716aab.png
Furthermore, if I open this from any other pc in my plant when I access this screen, the files that show up in the file explorer window are of the client pc itself and not from the server pc.
My pc and all the other client pc are on the same network yet they are not on the same network as the ignition server pc.

This is all how it’s supposed to work. It’s not a remote file viewer.

Yes, but it is working differently depending on the remote PC that I use. My PC is a remote client as well yet I can see the files from the Server PC and access the main folder, Meta-INF, and WEB-INF Folders from the Server PC. But not the CEMSDB Reports folder. (this is the difference between the two pictures) I do not see my own file structure as the other remote clients do when they access the file explorer. That is what I am trying to figure out why the difference. Why does it work partially on my remote PC but not at all on the others?

Hmm, I don't know, let me ask around.

You don't have a local copy of that project running on your PC that you're mistakenly launching from instead, do you?

(you can see which gateway you're connected to in Help > About on the client)

Here is the target of the shortcut that I use:

“C:\Program Files (x86)\Java\jre1.8.0_144\bin\javaws.exe” -localfile -J-Djnlp.application.href=http://172.24.1.1:8088/main/system/launch/client/RKIDAHS.jnlp “C:\Users\gcampbell\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\29\724998dd-4d58e852”

I have checked two other PC’s and their shortcut targets and they are the same as mine aside from the user designation and the java version. Yet, the file explorer shows their PC and not the servers. Mine seem to be the only one that can access the server.

Ah, an ever simpler explanation: you’ve installed Ignition at some point your PC.

Therefore, C:\Program Files\Inductive Automation\Ignition\webserver\webapps\main is a path that exists, and that’s why when you launch on your PC it shows you those 2 folders.

Yes, that is true. Okay, so here is the deal I am trying to access daily generated reports from the DB that are saved to the server PC. However, I cannot use the BLOB file approach because this DB has to abide by regulations from outside regulatory agencies so I cannot save anything to it that is not specified in our permits. Yet, I need to be able to access these reports and print them if necessary from the clients. I was hoping the File Explorer would work but, apparently this is not my answer. Any suggestions?

So, If I were to create these folders into the clients would I then be able to access the folders from them as well? Or would I have to install ignition completely on each?

Nevermind, I tried this, I can see the folders but, not the files inside the folders. :frowning:

Do you happen to know a work around for this?

I don't, but there's a ton of smart people on the forum with waaaaaay more project design experience than me, so hopefully one of them chimes in now. If you need a faster answer you might try emailing or calling support.

Thanks for the clarification on the other part!

The File explorer can do UNC paths.
Can you create a share on a central server and then point at that?
You can do the authentication using Net Use and then set the root path of the file explorer to the UNC path

netAuth = "net use /user:User \\\\Server\\SharePath Password"
os.system(netAuth)

Then set the root path of the file explorer to
\Server\SharePath

Thank you for this, and could I ask one more thing of you. I am fairly new to ignition and to scripting in general (I am mainly a PLC guy). Could you give me an example of this part:

netAuth = “net use /user:User \\Server\SharePath Password”
os.system(netAuth)

With fictional info so that I can see exactly how it should look. That way I can plug in the info for my facility. I appreciate the help, I really do.

That is fictional data. I will break it down for you.

import os
netAuth = "net use /user:User \\\\Server\\SharePath Password"
os.system(netAuth)

\\Server is the name of the server that has the file share on it.
\SharePath is the name of the share on the server.
User = A username on the server that has access to the share.
Password = the password of the User account that will access the share.
So lets say your server name is FileServer01
Your sharename is FileShare02
Your user with access rights is BobMarley and his password is Ganga!01
You would do

import os
netAuth = "net use /user:BobMarley \\\\FileServer01\\FileShare02 Ganga!01"
os.system(netAuth)

Another way to go would be to predefine a drive letter on all stations pointing to the shared directory. Obviosuly, this requires a shared resource and access rights. But, if you're in a domain environment, you can skip the user and password, the domain will take care of it and it will prevent unauthorized users to access the resource even when using the same station.

net use x: /user:User \Server\SharePath Password /persistent:yes
This command will create an X: device connected to the shared directory. From your application, it works as a local disk and, as long as you keep using the same letter for all stations, you can keep the path fixed in your code. The persistent parameter makes it, well, persistent. You don't have to run it at startup, the disk will be mapped everytime the station starts.

net use x: \Server\SharePath /persistent:yes
This is the same without the user/password. It works if the logged user is allowed access.

You can try first without the persistent option to check your application. But, even with it, you can remove the assignment with net use x: /delete. Or from file explorer or disk management.

1 Like

Thank you sir, I appreciate the explanation it helped a great deal!

Thank you, I am going to try it this way as all the clients are in a domain environment and there is not need for username/password. Thanks again for taking the time to explain it out fully.

Thank you MMaynardUSG and gkawaguchi, I am still going through the IA University tutorials but, I am also being pressured from the higher ups to get stuff done above my knowledge. It is funny how most of what they want sounds easy in theory, until you actually try and do it lol.

Thank you both again for the patience and assistance!!!