Versions Compared

Key

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


Section


Column
width800px

configuration properties are configured in the frevvo-config.properties file in the <frevvo-home>\tomcat\conf directory. The frevvo-config.properties is a standard java properties file. Any valid context parameter can be configured as a property in this file. This file contains properties that define global customizations that apply to the <frevvo home>\tomcat\webapps\frevvo directory and the frevvo connector warfiles (Database Connector, Filesystem, SharePoint). For example, you can provide the client secret information for the Google Connector with a property in this file. 

The properties that can be added to the frevvo-config.properties file are discussed below. The configuration properties in the frevvo-config.properties file will override the properties configured in <frevvo-home>\tomcat\conf\server.xml file. Parameters, previously configured in the web.xml file included in the frevvo.war must be added to the frevvo-config.properties file as well.

Info

frevvo only supports/certifies  running in the tomcat container. Refer to our Supported Platforms for the list of Application Servers supported/certified by frevvo.

Converting Context Parameters to Properties  

The configuration properties follow a simple property name=value syntax. Let's say you had context parameters to default the tenant login and customize the placeholder on the login screen in the frevvo.xml file of your previous installation.

 The context parameters in frevvo.xml would look like this:

Code Block
titlefrevvo.xml from your previous Live Forms installation
<Parameter name="frevvo.default.login.tenant.id" value="your_tenant_id" override="false"/>
<Parameter name="frevvo.login.username.placeholder" value="user@<your_tenant_name>" override="false"/>

The configuration properties follow a simple property name=value syntax. Follow these steps to convert configuration parameters from previous releases to properties in the frevvo-config.properties file.

  1. Navigate to <frevvo-home>/tomcat/conf directory.
  2. Edit the frevvo-config.properties file.

  3. The Parameter name becomes the property name.
  4. Add an equal sign
  5. Add the value after the equal sign
  6. Repeat this for all custom parameters
  7. Save the file
Code Block
titlefrevvo-config.properties file in the v7.4.x installation
#Custom Tenant Id and Placeholder
frevvo.default.login.tenant.id=<your_tenant_id>
frevvo.login.username.placeholder=<@<your tenant name>

Here is an example of a frevvo-config.properties file that provides the client id and secret for the Box connector, the URL for the Filesystem connector, a property to turn on/off the Insight Server and a property to turn on DEBUG level logging for the frevvo.log and any frevvo connector logfiles.

Code Block
frevvo.box.connector.client.id=bttkldgy9r5td0kdu57v0h6h2gotjf03
frevvo.box.connector.client.secret=EM08T1IjiMFuyCP5OJWm5QPyTz0qcL4A 
frevvo.filesystem.connector.url=http(s)://<your server>:port/filesystem 
insight.enabled=true insight.service.url=http(s)://<your server>:port/insight 
frevvo.sharepoint.connector.url=http(s)://<your server>:port/sharepoint 
logging.level.root=DEBUG

Updating the frevvo-config.properties requires server re-start. You do not have to restart the Insight server.

frevvo tomcat bundle

In the frevvo tomcat bundle, the frevvo-config.properties file is located in the <frevvo-home>\tomcat\conf directory. The path to the frevvo-config.properties file is specified in the <frevvo-home>\tomcat\bin\sentenv.bat.sh files

Code Block
set CATALINA_OPTS=%CATALINA_OPTS% -Dspring.config.location="file:///%CATALINA_HOME%/conf/,file:///%CATALINA_HOME%/conf/frevvo-config.properties"



Column
width400px

On this page:

Table of Contents
maxLevel1


...

 is a multi-tenant application. See the administration section on Manage Tenants. However, it is possible that all you need is a single tenant. If this is your case, it simplifies the  server login if you default the @<tenantname> so the user only needs to enter their username to login. Customers who default the tenant login normally would also customize the placeholder on the login screen. Please read that topic for details.

  1. Stop Live Forms if it is running.
  2. Navigate to the <frevvo-home>\tomcat\conf directory
  3. Open the frevvo-config.properties file with a text editor.
  4. Add the frevvo.default.login.tenant.id property to the <frevvo-home>\tomcat\conf\frevvo-config.properties file and set the param-value to the name of your one tenant.

    Code Block
    titlefrevvo-config.properties
    frevvo.default.login.tenant.id=<your_tenant_id> 
    


  5. Save the file
  6. Restart .

...

Note
  • There will be three additional logfiles when running Tomcat as a Windows service:
    • frevvoforms - stderr.YYYYMMDD and frevvoforms - stdout.YYYYMMDD for standard error messages and standard output stream, respectively. This is the default Tomcat behavior.
    • commons-daemon.YYYY-MM-DD.log for Windows Service errors
  • The Insight server no longer creates a log since the insight.war is integrated into frevvo.war. The messages formerly in the insight logs are now found in the in the <frevvo-home>/tomcat/frevvo_YYYY-MM-DD.log

...

no longer supports the web.xml parameters for frevvo.xforwarded.protocol.header, frevvo.xforwarded.host.header, and frevvo.xforwarded.port.headers. The general recommendation is to rely on the Servlet Container for handling dynamic proxies. A better approach is to use tomcat's RemoteIp Valve instead.  Please see this documentation on the Apache Tomcat website for information about the RemoteIp valve functionality. This tomcat valve has been incorporated into our tomcat bundle.

Code Block
 <Valve className="org.apache.catalina.valves.RemoteIpValve"
            internalProxies=".*" 
            remoteIpHeader="x-forwarded-for" 
            proxiesHeader ="x-forwarded-by" 
            protocolHeader="x-forwarded-proto" />

...

Skew error when logging into an Azure SAML tenant

Users logging into a Azure SAML tenant may encounter the error "Access Denied.  Authorization Required". Examination of the frevvo.log shows the following entry:

Code Block
Response issue time is either too old or with date in the future, skew 60, time 2016-06-01T05:49:25.330Z

This error is typically caused by a clock synchronization issue between the Service Provider (frevvo) and the Identity Provider (Azure) or a genuine delay in the connection. If you get this error, adding the com.frevvo.security.saml.response.skew property can be used to specify the time in seconds allowed between the request and the response from Azure to a value greater than the default value of 60 seocnds.

Follow these steps:

  1. Stop Live Forms if it is running.
  2. Navigate to <frevvo-home>\tomcat\conf
  3. Open the frevvo-config.properties file with a text editor.
  4. Add the parameter shown below with a value greater than the default value of 60 seconds. The example shown increases the timer to 120 seconds.

    Code Block
    com.frevvo.security.saml.response.skew=120


  5. Save the file.

  6. Restart .
  7. Retry the login.

...

Changing the Default Task Notification Email Message

If you want to change the default subject and body of the task notification email for your  server, add these properties to the frevvo-config.properties file.

Code Block
frevvo.task.notification.email.subject=New task
frevvo.task.notification.email.message=You can access your task list by clicking <a href="{task.perform.url}">this link</a>

Change the value in this parameter to anything you want. The task.perform.url template {task.perform.url} is a built-in template in  and it will always point to the specific task. Refer to the Task Notification Email Link topic for some other options. If you wrap the templates in an HTML <a> tag, it will generate a clickable link in the email.

If you do not want the link in your task notification emails to go there, you can remove it. The default message can include form control templates. 

Security Vulnerabilities

The following security vulnerablities have been addressed as follows:

  • Information Disclosure - resolved with the tomcat upgrade to version 8.5.16
  • Man in the middle - This has to do with executing the CGI Servlet. This servlet is disabled in the frevvo Apache tomcat distribution. Customers who choose to enable the servlet are responsible for ensuring security viz. adding filter etc.
  • Version Disclosures - Resolved by configuring the ErrorReportValve in \frevvo\tomcat\conf\server.xml file (in the Host section) as described in this Apache tomcat website. The parameter that needs to be modified is:

    Code Block
    <Valve className="org.apache.catalina.valves.ErrorReportValve" showServerInfo="false"/>


  • X-Frame-Options

    Header

    Not

    Set

    -

    Resolved

    by

    modification

    at

    the

    tomcat

    level.

    In-house

    customers

    can

    uncomment

    uncomment the

    HttpHeaderSecurityFilter

    provided

    in

    the

    tomcat

    web.xml.

    The

    filter

    is

    documented Apache tomcat website. Specify the appropriate

    documented here. Specify the appropriate X-Frame-Options

    value

    in

    the

    antiClickJackingOption

    parameter

    -

    (SAMEORIGIN

    or

    ALLOW-FROM).

    Warning
    Setting this parameter to SAMEORIGIN may interfere when embedding frevvo forms/flows in your website. Use  ALLOW-FROM instead.

    Click the appropriate link below for filter examples.

    Code Block
    titleExample of filter with SAMEORIGIN
    collapsetrue
    <filter>
            <filter-name>httpHeaderSecurity</filter-name>
            <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
    		<init-param>
    			<param-name>antiClickJackingOption</param-name>
    			<param-value>SAMEORIGIN</param-value>
    		</init-param>
            <async-supported>true</async-supported>
    </filter>
    
    <filter-mapping>
            <filter-name>httpHeaderSecurity</filter-name>
            <url-pattern>/*</url-pattern>
            <dispatcher>REQUEST</dispatcher>
    </filter-mapping>
    


    Code Block
    themeConfluence
    titleExample of filter with ALLOW-FROM for embedded forms
    collapsetrue
    <filter>
            <filter-name>httpHeaderSecurity</filter-name>
            <filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
    		<init-param>
    			<param-name>antiClickJackingOption</param-name>
    			<param-value>ALLOW-FROM</param-value>
    		</init-param>
    		<init-param> 
                <param-name>antiClickJackingUri</param-name> 
                <param-value> http://example.com:80/*</param-value> 
            </init-param>
            <async-supported>true</async-supported>
    </filter>
    
    <filter-mapping>
            <filter-name>httpHeaderSecurity</filter-name>
            <url-pattern>/*</url-pattern>
            <dispatcher>REQUEST</dispatcher>
    </filter-mapping> 

  • Admin user name exposure in URLs - Resolved by the feature to not expose the user id in URLs.
  • Tomcat 'Ghostcat' bug (affects through v9.0.10.) The frevvo Apache Tomcat will be upgraded in a future release. To address this vulnerability in the versions listed, please use the solution listed in this article.

Geo Location

On-premise installations planning on using the  Geolocation feature must obtain a Google Maps API key. This may involve registering with Google and then creating an application and then a key. Refer to this link for the google API pricing plans.

Follow these Steps to obtain the Google Maps API key:

  1. Go to this Google Maps API website
  2. Login with your google account
  3. Click on Get a Key button
  4. Select project, copy key value
  5. Create/edit the <frevvo-home>\ tomcat\conf\frevvo-config.properties file. Add the frevvo-google.maps.apikey property with your api key as the value

    Code Block
    frevvo.google.maps.apikey=AIzaSyCa3fRtM53VB1aHZjbCHTh1al7RWo22l78


  6. Start the Insight server then .

See the Geolocation topic for details about how to display the map in your form/flow and this Rule example if you want to show additional location information.

...