Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page is for anyone who needs to reference files on the PhixFlow administrators who need to link the Tomcat Webserver to files stored on the PhixFlow Server.

Administrator setting up softlinks

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 

...

Overview

Application designers use images in their screens, for example for logos, or user profiles. Application users may also need to download files from the application. For the Tomcat webserver to find files, it needs to know where they are on the PhixFlow server. This requires a soft link (also called datalink or symlink) to the relevant directories.  This acts as a shortcut between the two directories and lets the PhixFlow webapp Tomcat webserver "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.

...

.

Upgrade Considerations

When you upgrade PhixFlow to the latest version, the process replaces everything under the

When you configure soft links, it is usually in the .../tomcat/webapps/phixflow

...

/opt/phixflow/data/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.

...

/opt/phixflow/data/phixflow/datalink/MyProject/

...

directory.

Warning

When you upgrade PhixFlow to the latest version, the process replaces everything in .../tomcat/webapps/phixflow, and therefore deletes the soft links. After upgrade you must reinstate the soft links.

This is also why you must never add files to .../tomcat/webapps/phixflow or it's subdirectories.


Configuring Soft Links 
Anchor
softlink
softlink

To ensure soft links from Tomcat to PhixFlow directories are secure, configure the context.xml file as follows:

  1. Edit /opt/tomcat/conf/context.xml
  2. Find the line: <Resources cachingAllowed="true" cacheMaxSize="1000000" />
  3. Replace it with: <Resources allowLinking="true" cachingAllowed="true" cacheMaxSize="1000000" />

In the following commands:

  • path/folder_name is the full path to the directory to which you want to link
  • soft_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.

Code Block
titleExample ln command
sudo ln -s /opt/phixflow/data

...

/ /opt/tomcat/webapps/phixflow/

...

If a file path includes spaces, enclose it in double-quotes

datalink



On Windows use the mklink command

The mklink command creates links to specific files by default. To link to a directory, use the /D option.

mklink /D soft_link_name path/folder_name - Can we have an exampleTo soft link to a specific file, omit /D.


Code Block
titleExample mklink command
mklink /D c:\tomcat\webapps\phixflow\datalink c:\path\phixflow\data


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")

...


...

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. 

...

Example Data Links

In the following example, Tomcat has a soft link to a files/images directory in PhixFlow

OSSoft link in a Tomcat directory
points to → 
PhixFlow server directory containing files
Linux.../tomcat/webapps/phixflow/images-link

/opt/phixflow/files/images/

Windows

You can also create soft links within the PhixFlow server, for example to simplify paths.

OSSoft link in Tomcat directory
points to → 
Soft link in PhixFlow server
points to → 
Directory containing files
Linux.../tomcat/webapps/phixflow/proj1-images

/opt/phixflow/images/project1/

/opt/phixflow/allprojects/apps/project1/files/images/
Windows