Hi all,
I'm looking for input on the cleanest way to solve the following requirement in Perspective (Ignition 8.3.4, Gateway running on Ubuntu 20.04.6). The rest of my Infrastructure mainly runs on Windows incl. the File Shares.
Setup:
- We have asset views in Perspective where each asset already displays a UNC path
(e.g. \\mydomain.com\share...\Asset_01) pointing to a Windows file share that contains
documentation, drawings, manuals etc. for that specific asset. - Users access Perspective purely through a web browser (Edge, Chrome).
Goal:
- User opens an Asset view, sees the UNC path already filled in a text field.
- User clicks on that path/text and should be able to browse/see the files in that folder
and open them - ideally without leaving the browser.
What I already know / have considered:
Browsers can't resolve \server\share paths directly (no browser-native UNC support),
so this always has to go through the Gateway somehow.
- One option: mount the share via CIFS on the Ubuntu Gateway (fstab + cifs-utils), then use
a Jython script (os.listdir) to build a simple file browser popup in Perspective, and
system.perspective.download() to deliver files to the client. - Alternative (much simpler): just let users copy the UNC path and paste it into Windows
Explorer manually, relying on their normal AD/domain permissions. Works, but feels like
a workaround rather than a "real" Perspective solution, and doesn't help for users outside
the domain network or on non-Windows clients.
Questions for the community:
- Is it even possible to implement a solution to access Windows File Shares via Ignition Perspective on a Ubuntu Enviroment by using a web browser? Does anyone have experience with this?
- For larger files (CAD drawings, PDFs with images etc.), is system.perspective.download()
the right tool, or is there a better way to stream files rather than loading them fully
into memory on the Gateway? - Any pitfalls with CIFS mounts on the Gateway host itself (reliability after reboot,
network share become unavailable, etc.) that I should be aware of?
Any real-world experience, module recommendations, or "we tried X, don't do that" stories
are very welcome! I know this is a very specific "Problem" of mine but at this point, I will accept any recommendations.
Thanks in advance.