This page is for anyone who needs to reference files on the PhixFlow Server.
Understanding the Soft Link Between Tomcat and PhixFlow
When you want to reference a file saved on the PhixFlow server, you need to use a path that the PhixFlow Webapp can understand. The PhixFlow webapp runs within Tomcat, so only knows about files below /opt/tomcat/webapps/phixflow
For the webapp to know about files stored on the server, for example in /opt/phixflow/data/phixflow
, it has a soft link (also called symbolic link, symlink or data link). This acts as a shortcut between the two directories and lets the PhixFlow webapp "see" the files under /opt/phixflow/data/phixflow/datalink
. - If it is on Linux and installed in this location. Also I can see no mention that if you place files in the Webapp itself you could overwrite these during the upgrade, and by having the files outside th base directry the user only needs to reinstate the datalink not all the custom directories they have created.
Soft link in Tomcat directory | points to → | PhixFlow server directory containing files |
---|---|---|
/opt/tomcat/webapps/phixflow/ datalink |
|
Where has the above come from? This will only exist if someone has already configured it?
- You may not want to save files under the datalink directory on the PhixFlow server. For example, you could have a directory for each project, and the files belong to a specific project. In this case, you can add a second soft link.
Soft link in Tomcat directory | points to → | Soft link in PhixFlow server | points to → | Directory containing files |
---|---|---|---|---|
/opt/tomcat/webapps/phixflow/ datalink |
| /opt/phixflow/data/phixflow/Projects/MyProject/ |
Configuring Soft Links
Securing Soft Links
To ensure soft links from Tomcat to PhixFlow directories are secure, configure context.xml as follows:
- Edit
/opt/tomcat/conf/context.xml
- Find the line:
<Resources cachingAllowed="true" cacheMaxSize="1000000" />
- Replace it with:
<Resources allowLinking="true" cachingAllowed="true" cacheMaxSize="1000000" />
Creating Soft Links
In the following commands:
path/folder_name
is the full path to the directory to which you want to linksoft_link_name
is the directory name you want to use as a soft link in the current directory.
On Linux use the ln
command
ln -s path/folder_name soft_link_name - Can we have an example
If a file path includes spaces, enclose it in double-quotes
On Windows use the mklink
command
mklink /D soft_link_name path/folder_name - Can we have an example
To soft link to a specific file, omit /D
.
For more information about symlinks, see this article on Creating Symbolic Links.
The Path or URL to Use
Within PhixFlow, to refer to a file on the server, start the path with the datalink directory.
Examples:
- file path:
datalink/Project1/Images/file1.png
- URL:
url("https:datalink/MyProject/MyImage.png")
Using a URL to Display an Image
In your PhixFlow application, to display an image stored on the PhixFlow server, use the URL for it's location, for example: url("https:datalink/MyProject/MyImage.png").
For example, you can configure the following CSS Properties to use an image stored on the PhixFlow server as a background image.
- Name: background-image
- Expression: url("https:datalink/MyProject/MyImage.png")
- Name: background-repeat
- Expression: no-repeat
- Name: background-size
- Expression: choose size – could be 100%, 20px, auto; see Image Sizing.