Live Forms v6.1 is no longer supported. Click here for information about upgrading to our latest GA Release.
Installation Tasks
configuration parameters are located in three places:
- frevvo-config.properties - created by the System Administrator to override parameters in a container web.xml file. This is most often used when the container is not tomcat. See below for details.
- <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml - recommended file to override context-parameters in the web.xml file when using the tomcat container.
- WEB-INF\web.xml - this configuration file is included in the <frevvo-home>\tomcat\webapps\frevvo.war zipfile. Modifications to this file require unzipping/rezipping the frevvo.war file after the modifications have been made. See below for the instructions. OEM partners can use this file to customize the product in many ways. See Installation Customizations for more information.
The parameters that are most commonly modified and discussed in the sections below are in frevvo.xml. The less commonly modified parameters are in web.xml. Any parameter in web.xml can be duplicated in frevvo.xml and the value in frevvo.xml takes precedence over the value in web.xml. If you plan to override the web.xml context parameter values and you are using the frevvo Tomcat bundle, we suggest doing so in frevvo.xml. This keeps all your modified parameters in one place and makes it easy to upgrade frevvo to newer releases.
A frevvo-config.properties file in a deployment using tomcat seems redundant since it basically does the same thing as the frevvo.xml file. If it does exist , the configuration parameters in the frevvo-config.properties file will override the frevvo.xml and web.xml files.
Modifying the frevvo.xml file.
Follow these steps to modify context parameters in the frevvo.xml file. You can also set up your database in this file as well. If you are using tomcat, making your configuration changes here, will make it easier when you upgrade to :
- Stop if it is running.
- Navigate to <frevvo-home>\tomcat\conf\catalina\localhost\frevvo.xml.
- Open the file with a text editor.
- The installation tasks listed below will reference the frevvo.xml and web.xml files when appropriate. You can configure anything in frevvo.xml that you can configure in web.xml. When you add parameters to the file, use the same syntax as the ones already there. Here is an example of a parameter to control the Maximum Size of Attachments that users can upload.
<Parameter name="frevvo.attachment.maxsize" value="10485760" override="false"/>
5. Save the file after all your changes are made. Restart .
Modifying the web.xml file
The web.xml file is included in the <frevvo-home>\tomcat\webapps\frevvo.war. The frevvo.war must be unzipped/rezipped after modifications have been made as outlined in the steps below:
- Stop if it is running.
- Unpack the frevvo.war file to a temporary location of your choice: e.g. c:\tmp\frevvo-war. Change the file extension from .war to .zip if necessary.
- Edit c:\tmp\frevvo-war\WEB-INF\web.xml.
- Make the desired configuration changes - see appropriate sections of this page for information on specific parameters. Save the changes to the web.xml file.
Rezip all the files in the c:\tmp\frevvo-war directory, even the ones you did not edit — if you change directories or zip them differently, Live Forms may not load correctly:
This is the correct structure for the frevvo.war zipfile.
Make sure you create the zipfile with the directory structure as shown in the image above. It is an easy mistake to include the containing directory in the zipfile. If you do this, Live Forms may not load correctly. Zip will often give your zipfile a .zip extension. Make sure you change this to a .war extension.
- Copy the updated frevvo.war file to <frevvo-home>tomcat\webapps.
- Restart your server.
On this page:
frevvo Properties File
The frevvo-config.properties is a standard java properties file (see some examples here). All of the context-parameters currently found in web.xml or any valid context parameter can be configured in this file.
For example, say you are using the Weblogic Server and you need to set the frevvo.link.default.url to http://mycompany.com and move the Data Sources panel to the top of the designer.
- Create the frevvo-config.properties file. Refer to frevvo-config.properties location for information about where the file should reside. The context-parameters follow a simple context-parameter=value syntax (shown below) in the frevvo-config.properties file:
frevvo.link.default.url=http://frevvo.com/ frevvo.data.sources.top=true
Updating the frevvo-config.properties requires server re-start.
frevvo-config.properties location
- Expand the war, edit/create the /WEB-INF/frevvo-config.properties, re-zip the war. This is essentially the same as editing the web.xml directly.
- Create the file in the current working directory of the container you are using. will pick it up by default. For example, <frevvo-home>/tomcat is the current working directory for the tomcat container.
Place the frevvo-config.properties somewhere in the file system (outside the frevvo.war) and then add -Dfrevvo.config=file:Drive:/path to frevvo-config.properties in the java executable call. For example, add it to <frevvo-home>\tomcat\bin\setenv.bat, setenv.sh or service.bat if you are using the tomcat container. Here is an example of the <frevvo-home>\tomcat\bin\setenv.bat file with the added parameter:
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MaxPermSize=156m -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Dfrevvo.config=file:C:/frevvo/tomcat/frevvo-config.properties
The value of frevvo.config can be a full path (e.g. Drive:/pathtomyfrevvo-config.properties), a path in the war (e.g. /WEB-INF/myfrevvo-config.properties) or a url (e.g. http://config/cluster1/myfrevvo-config.properties). Be sure to include the frevvo-config.properties file name in the path statement.
Changing the admin password
- Login to your server as user "admin@d", password "admin".
- On the page that is displayed, click the "Manage Tenants" link.
- Click the icon to manage tenant named "d (Default tenant)"
- Click "Manage Users"
- Click the icon for the admin user. This displays a profile form.
- Change the password as desired and submit the form.
Email configuration
The forgot password functionality and form submissions sent via email both require proper configuration of ' smtp component.
- Edit <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml
- Configure the Mail mail/frevvoDS Resource
Here is a sample mail/frevvoDS resource configuration for Apache Tomcat 6.x:
<Resource auth="Container" factory="org.apache.naming.factory.MailSessionFactory" type="javax.mail.Session" name="mail/frevvoDS" mail.smtp.host="{your.smtp.host}" mail.smtp.port="{your.smtp.port}" mail.smtp.auth="true" mail.smtp.starttls.enable="true" mail.smtp.user="{your.smtp.user}" mail.smtp.password="{your.smtp.password}" mail.debug="false"/>
The frevvo.xml file contains a few other parameters that effect emails sent from :
<Parameter name="frevvo.mail.from.email" value="" override="false"/> <Parameter name="frevvo.mail.debug" value="false" override="false"/> <Parameter name="frevvo.mail.bounce.email" value="" override="false"/>
Although there is a parameter to set up a from email address, it is recommended that you use the frevvo UI to set up the from email and display name. Here's how it works:
- If you enter an email address in the frevvo.xml parameter and leave the Email address fields on the Edit Tenant screen blank - Doc action emails will use the frevvo.xml from email value and task notification will use tenant admin's email address.
- If you enter a value into the Email address fields on the Edit tenant page - Doc action and task notification emails will use this value. The value in the frevvo.xml file is overridden.
If you want to use the frevvo.xml value for Doc action emails, leave the tenant from email address blank. This would mean flow task notifications will use tenant admin's email address.
Debug sends more debugging info to the tomcat log files. And bounce.email sets an address to receive emails that cannot be delivered to the to email recipients.
If your email server does not use TLS connection security, change mail.smtp.starttls.enable from true to false.
mail.smtp.starttls.enable="false"
If you are using tomcat, emails sent are tracked in the <frevvo-home>\tomcat\logs\frevvo.log file when the INFO log level is enabled. Look for an entry like "Sending email to <email address> with subject <the subject of your email>. If an error occurs when sending, the message "Could not send email to <email address> with subject <the subject of your email> including the actual exception that caused the problem will be logged.
If the SMTP server requires traffic to be sent over SSL, add the following properties in the mail resource configuration, and then specify values for them:
mail.smtp.socketFactory.port="465" mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory" mail.smtp.socketFactory.fallback="false"
Proxy Server configuration
If your company uses a proxy server for internet traffic please see proxy configuration. This is often the cause of the following error message:
- Unable to contact license server
- Unable to renew license. Your license will expire in <n> day(s)
External URLs
Sometimes running behind a proxy server can cause unintended changes to the form server's external URLs. The following configuration parameters address this issue. These parameters can be added to frevvo war settings section of the <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml file.
frevvo.forms.server.external.url - If set, all share dialogs for forms and flows will use this as the external URL. Use the syntax shown in the example. change the <myexternalhost>and <port> to your external server name and the port that you are using for on this server.
<Parameter name="frevvo.forms.server.external.url" value="http://<myexternalhost>:<port>" override="false"/>
frevvo.internal.baseurl - If set, all URLs used internally by the form server will use this base url. This may be needed when using frevvo.forms.server.external.url if that external url is not also accessible from the form server machine. Use the syntax shown in the example. change the value "http://localhost:8082" to the server name and port of your server.
<Parameter name="frevvo.internal.baseurl" value="http://localhost:8082" override="false"/>
Default Port
By default the tomcat bundle is configured to bind to port 8082. You can change the port by:
- Edit <frevvo-home>/tomcat/conf/server.xml
- Change the Connector port
<Connector port="8082" protocol="org.apache.coyote.http11.Http11NioProtocol"
Browser Support
does not support BETA versions of browsers and there is often a delay so that we can test newly released browser versions before they are supported. In previous releases, was configured to use a list of supported browsers. An error message and a link to override the error would display if the system was accessed using an unsupported browser. Supported Browsers for Version 5.3 can be found here but by default this version will not warn users if they access the system using an uncertified browser. If you want your users to get a warning, you can configure a list of allowed browsers using the the frevvo.supported.browsers parameter in the web.xml or frevvo.xml (recommended) files if you are using in-house.
To do this, you will have to edit the file: <frevvo-home>\tomcat\webapps\frevvo\WEB-INF\web.xml. If you choose to make this change in web.xml, you will have to extract it from the <frevvo-home>\tomcat\webapps\frevvo.war zipfile. The steps to do this are explained here.
Once you have unzipped the frevvo.war file, please find the following context parameter: In version 5.3, this parameter is commented out. Be sure to uncomment the parameter using the <!-- --> comment characters. Here is what it looks like initially:
<context-param> <param-name>frevvo.supported.browsers</param-name> <param-value>*</param-value> <description>Supported browsers - array of allowed user agents</description> </context-param>
Add the user agent for the browsers you want to support '''in lower case only'''. For example, to allow Firefox 5 users to access the system, add 'firefox/5' (without the quotes) to the param-value. If you want to allow all versions of Firefox, add the string 'firefox' (without the quotes) to the param-value. It will match all versions of the Firefox browser. Microsoft's IE9 browser update 9.0.8112.16421 Update versions 9.0.3(Kb2586448) will result in an unsupported browser exception even with msie9.0 in the web.xml file. The solution is to add the string 'msie' without any version number to the support browser list. Internet Explorer 11 requires the use agent identifier , trident/7.
<context-param> <param-name>frevvo.supported.browsers</param-name> <param-value>firefox/2,firefox/3,firefox/4,msie 6.0,msie 7.0,msie 8.0,msie 9.0,trident/7,applewebkit,camino,httpclient,zend_http_client,formsapi</param-value> <description>Supported browsers - array of allowed user agents</description> </context-param>
Save the file. Rezip the frevvo.war file as explained here. We recommend restarting the Server if possible. Once the server is restarted, Firefox 5 will now be a supported browser in your deployment along with all the others listed in the example.
You can also configure this parameter in <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml - which is the recommended approach when using the tomcat container. Here is what the parameter looks like in the frevvo.xml file. In this example, only the Internet Explorer browser is allowed. Using any other browser will result in the warning message to the user.
<Parameter name="frevvo.supported.browsers" value="msie, trident/7" override="false"/>
Tomcat Manager
The tomcat manager is accessible in the bundle at http://<server-name>:8082/manager/html. The default Tomcat Manager user name/password are preset to frevvo/frevvo. If you wish to change the password, you may do so by editing the file <frevvo-home>\tomcat\conf\tomcat-users.xml.
Tomcat SSL
can be configured to handle HTTPS connections from users. The tomcat bundle you downloaded from www.frevvo.com is pre-configured with a self-signed certificate for development and testing. This self-signed certificate enables to handle HTTPS connections out of the box. However before deploying your forms to production you may want to replace this with your own certificate.
The HTTPS connector on port 8443 is enabled by default. If you want to disable it, edit the <frevvo-home>/tomcat/conf/server.xml and comment out the HTTPS connector:
<!-- HTTPS Connector <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="${catalina.home}/conf/keystore" keystorePass="password" connectionTimeout="20000" maxHttpHeaderSize="32768" useBodyEncodingForURI="true" /> -->
Note that in case you want to change the default HTTPS port, you not only have to change the Tomcat connector's port above, but you also have to change the '''frevvo.port.ssl''' parameter found in </frevvo/-home>/tomcat/conf/localhost/frevvo.xml:
<Parameter name="frevvo.port.ssl" value="8443" override="false"/>
Additional info on how to use SSL on tomcat can be found on the Apache/Tomcat website. Also refer to this article: How to solve javax.net ssl. SSLHandshakeException?
Currently you must not disable 's http port. In a future release this will be allowed. Disabling ' http port will cause your form server to malfunction as requires this port. For most cases it is sufficient to share the https version of your form/flow's Url and leave http open. However, if you want to force all form usage to be over https and feel it is not enough to simply share the https form Urls (as a user can switch to http as long as that port is open), we recommend that you deploy behind an Apache or IIS server. Close the http port on Apache or IIS but leave tomcat's http port open so that can POST back to itself when needed over http but no one outside can access it.
External Access -> Proxy (Apache/IIS...) -> frevvo (tomcat)
Java 7 will throw a "SEVERE: java.net.SocketException: Invalid argument: no further information" error in the <frevvo-home>/tomcat/logs/catalina.YYYY-MM-DD.log when used on a Windows 2003 system with Tomcat version 7.0.29 or earlier and the NIO http connector. If you should encounter this error, check the version of Tomcat. If it is below 7.0.30, upgrade to that version. Run the <frevvo-home>\tomcat\version.bat (Windows) or <frevvo-home>/tomcat/version.sh (UNIX) files to determine the version of Tomcat installed on your system.
Tomcat Logfiles
By default, the server writes useful logging information to a daily logging file located here: <frevvo-home>/tomcat/logs/frevvo.log. You will see the logfiles listed below in <frevvo-home>/tomcat/logs. The current date appends to the logfile name for all the files except the frevvo log:
- catalina.YYYY-MM-DD.log - this log captures the stderr and stdout of the tomcat process including startup/shutdown messages. This is usually a small file.
- frevvo.log - all messages are logged to this file.
- localhost.YYYY.MM.DD.log - this tomcat logfile should be empty.
- localhost_access_log.YYYY - MM - DD.txt - is used to log all HTTP accesses to Tomcat. It is enabled by the following entry in <frevvo-home>/tomcat/conf/server.xml. Comment out the statement below to turn off logging to this file if it is not needed.
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="${catalina.base}/logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b "%{Referer}r" "%{User-Agent}r" [%I %{JSESSIONID}c]" />
- host-manager.MM-DD-YYYY.log - this logfile is part of the tomcat distribution and is empty by default. It is a log file for the host-manager web application that is used to manage virtual hosts in tomcat. The host manager web-app is typically not needed because is preconfigured. Messages are written to this log only if the host-manager web application is being used.
- manager.MM-DD.YYYY.log - this logfile is part of the tomcat distribution and is empty by default - this is the log file for the tomcat manager web application which is used to check the status of web apps, memory usage etc. Messages are written to this log only if the manager web app is being used.
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
Debugging logfile levels
The logging levels used by can be fine-tuned by editing the <frevvo -home>/tomcat/lib/logback.xml file. By default log level is set to INFO. The logging infrastructure will scan this file every 60 secs so you can live-change the log level. Here is more configuration information . Stop to delete the logfiles. They will be recreated on start up.
You can obtain more debugging information, if needed, by following the steps below to change the loglevel. You will see the results of the changes in <frevvo-home>/tomcat/logs/frevvo.log.
- Go to <frevvo-home>/tomcat/lib
- Open the file logback.xml for editing
- Find <root level="INFO"> and change the word INFO to DEBUG. Save the file.
Loglevels are : TRACE, DEBUG, INFO, WARN, ERROR, OFF. ALL. They are case -sensitive so be sure to type them in upper case. The logging level is cummulative as shown below. Refer to this website for a description of the loglevels and some guidelines for using them.
- OFF = turns all logging off
- ERROR = ERROR
- WARN = WARN + ERROR,
- INFO = INFO + WARN + ERROR,
- DEBUG = DEBUG + INFO + WARN + ERROR,
- TRACE = DEBUG + INFO + WARN + ERROR
- ALL= turns all logging on
Configuring the logging level for catalina.log, localhost.log, host-manager.log, manager.log and local_access.log is done in <frevvo-home>/tomcat/conf/logging.properties Click here for more information.
If you are having issues running the server in an environment with proxy setups, load balancers etc. the forms.ui.filter logger can help. This logger will output additional information to the frevvo.log file to assist in determining what the frevvo servlet is seeing. To enable this logger uncomment the following line in logback.xml:
<logger name="com.forms.forms.ui.filter" level="DEBUG" />
Logfile Rotation
The tomcat bundle install will automatically rotate log files daily. The logfile is the only one affected. Let's say the current date is 6 - 19 - 2013. The current days logging is saved to the frevvo.log file located in <frevvo-home>/tomcat/logs. On the next day, 6 - 20 - 2013, the log from the previous day is copied to a logfile stamped with the previous day's date. (frevvo_2013-06-19). This date stamped frevvo.log is moved into the <frevvo-home>\tomcat\logs\old directory. Logging for 6 - 20 - 2013 is saved in the frevvo.log in <frevvo-home>/tomcat/logs.
Using Debug Mode to see logged in users
If the log level is set to DEBUG, then you will see user login and logout information in the <frevvo-home>\frevvo\tomcat\logs\frevvo.log file. Examples of log entries are shown below. Search for “Server num users” in the log file to quickly see the number of currently logged in/out users. Note the first log entry below shows the number of users currently logged in. Showing the list of currently logged in users via the UI to the superuser and tenant admins is planned for a future release.
User login:
10:01:40.813 |-DEBUG [http-nio-8082-exec-1] [ c.f.u.UsersMonitor] - Tenant (qa): login: num users: 1. Server num users: 1
--Number of currently logged in users
10:01:40.816 |-INFO [http-nio-8082-exec-1] [ c.f.b.d.DBUtil] - Getting User info for customer: fd tenant: qa
---User who is logging in
User Logout:
10:02:03.287 |-DEBUG [http-nio-8082-exec-5] [ c.f.u.UsersMonitor] - Tenant (qa): logout: num users: 0. Server num users: 0
10:02:03.287 |-DEBUG [http-nio-8082-exec-5] [f.f.w.SessionFormsListener] - Forcing a Subject qa@fd logout on session expiration ...
---User who is logging out
Session Timeout
's default web browser session timeout is 480 minutes. If a user is logged into the server to design forms, or to view their task list, or is using a form and filling in values but has not yet submitted the form, the session will expire after 480 minutes of inactivity. When the session expires the designer will have to re-login to to continue designing forms and form users will have to get a new instance of the form and re-enter the values.
If the maximum number of concurrent users are logged in simultaneously, and any of them are idle for more than 480 minutes, the next person who tries to log in will be able to do so successfully.
The session timeout can be changed by editing <frevvo-home>\frevvo\tomcat\webapps\frevvo\WEB-INF\web.xml. The session timeout setting unit is minutes. For example, to change from an 480 minutes (8 hr) session timeout to a 1 hour timeout change 480 to 60.
<session-config> <session-timeout>480</session-timeout> </session-config>
The default server session timeout can be overridden for each tenant. See the Edit Tenant topic for more information.
When a session times out, for example when a person is using a form and then pauses for longer than the configured <session-timeout>, they will see the following error the next time they enter a value into the form.
The following screen displays when a user tries to submit a form from a timed out session.
Editing Submissions
Designer users can view/edit submissions by clicking the edit link on the submissions panel. Non designer users can view/edit submissions by clicking on the Shared Items tab if they have been granted permission to do so by the designer via the Access Control feature. The frevvo.submission.edit .link parameter must be set to the default value of true, for the edit link to be visible to any user. To disable the edit link on the submission panel, change the default value of true to false for the frevvo.submissions.edit.link configuration parameter in <frevvo-home>/WEB-INF/web.xml file. The web.xml file must be unzipped from the frevvo.war before it can be edited. Follow the instructions above to unzip, modify and rezip the war file.
<context-param> <param-name>frevvo.submission.edit.link</param-name> <param-value>false</param-value> <description>Show a link to edit the submission.</description> </context-param>
You can add the frevvo.submission.edit.link configuration property to the <frevvo-home>\tomcat\conf\catalina\localhost\frevvo.xml file instead of the web.xml file as discussed above. Here is an example that will disable submission editing when added to the frevvo war settings section of frevvo.xml:
<Parameter name="frevvo.submission.edit.link" value="false" override="false"/>
When the frevvo.submission.edit.link parameter has a value of false, the edit link is not visible on form submission panels.
Live Forms as a windows service
You will have to edit frevvo/tomcat/bin/service.bat line 123 to increase the Java Heap and Permgen spaces. Here is an example of the line you need to edit in that file:
"%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-XX:MaxPermSize=128m -Djava.io.tmpdir=%CATALINA_BASE%\temp; -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager; -Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" --JvmMs 128 --JvmMx 512
See the documentation on Tomcat Windows Service for more details.
TIFF Image Generator
Several connector wizards, such as the Email and the PaperVision/ImageSilo wizards, allow you to select the form image attached to submission emails and stored into PaperVision/ImageSilo to be in TIFF image format. If the TIFF option doesn't appear in the wizard's Send Snapshot dropdown, then you have not yet installed the necessary TIFF image generator software.
- Download the JavaTM Advanced Imaging Image I/O Tools installer for your machine platform here. Your machine must be running have the Java Runtime Environment installed. For example on a windows platform:
- Download and run jai_imageio-1_1-lib-windows-i586-jre.exe
- Download and run jai_imageio-1_1-lib-windows-i586-jre.exe
- Execute the installer on your machine. This automatically copies the libraries necessary to create TIFF images into your java installation directory.
- Restart the server.
You will now see the TIFF option in Send Snapshot dropdown. Form additional installation details and for various hardware platforms, please refer to the Java Image I/O Installation Guide.
At this time, installing this generator on a system running an installed JDK, with the JDK_Home environment variable set, will not work.
Signature Date/Time
Digital Signatures require no configuration. However you can control the format of the date stamp that appears when forms are signed. These two parameters in <frevvo-home>\tomcat\webapps\frevvo\WEB-INF\web.xml are for signature configuration. The first you should never need to change.
<context-param> <param-name>frevvo.signature.class</param-name> <param-value>com.frevvo.signature.DefaultSignature</param-value> <description>Digital signature class name</description> </context-param> <context-param> <param-name>frevvo.signature.date.format</param-name> <param-value>d MMM yyyy, z</param-value> <description>Default date format for display</description> </context-param>
Timezones
concanocolizes all form submission data to UTC. In other words no matter which timezone you are in when you submit a form with a date, date/time, or time control, the form server will convert and store those values in UTC. If your form submission data is not correctly converted and stored in UTC then you likely have to update the timezones in your installed JRE/JDK. Oracle provides a timezone update tool. Run the TZUpdater tool with the following command: java -jar tzupdate.jar -u
See Oracle's Timezone Updater Tool for full details.
Using Live Forms with reverse-proxies/SSL-accelerators
If your goal is to use behind a reverse-proxy/load-balancer/SSL-accelerator you need to add a few configuration settings to /Tomcat to make sure generate correct external urls.
When using a reverse-proxy, the external host, IP and/or port visible to browsers may be different than the host, IP and/or port seen by Tomcat. This causes a problem since will generate urls in pages and forms that are either completely invalid, which is an easy case to spot since forms will not render at all, or valid by bypassing the reverse-proxy altogether, which are harder to identify except for side effects such as forms not resizing properly, or blocked by browser security restrictions.
For cases where you have only a web-server fronting as a reverse-proxy (e.g. Apache or IIS), you can setup the web-server to communicate with Tomcat using AJP. This works since AJP provides additional metadata when communicating with Tomcat to indicate the actual remote host/ip/port instead of the web-server's host/ip/port.
However, using the AJP connector will not work for all cases. For instance, if you have a reverse-proxy/load-balancer/SSL-accelerator in front of your web-server, which is fronting /Tomcat, AJP would then report to Tomcat the host/ip/port of the reverse-proxy and not of the actual client. In these cases you have to leverage a feature provided by most reverse-proxies where they generate additional HTTP headers, like X-Forwarded-For, which contains the original client IP. can then make use of these headers to override the host, IP and/or port of the external urls it generates. This is done using the following web.xml context parameters:
- frevvo.xforwarded.protocol.header - Identifies the name of the HTTP header containing the original request's protocol (SSL accelerators, for instance, will expose https to external clients by forward to internal services using http)
- frevvo.xforwarded.host.header - Identifies the name of the HTTP header containing the original request's host
- frevvo.xforwarded.port.header - Identifies the name of the HTTP header containing the original request's port
By default, 's web.xml will contain the following values for these context parameters:
<context-param> <param-name>frevvo.xforwarded.protocol.header</param-name> <param-value>X-Forwarded-Protocol</param-value> </context-param> <context-param> <param-name>frevvo.xforwarded.host.header</param-name> <param-value>X-Forwarded-Host</param-value> </context-param> <context-param> <param-name>frevvo.xforwarded.port.header</param-name> <param-value>X-Forwarded-Port</param-value> </context-param>
You can change these parameter values to match the header names set by your reverse-proxy or change the reverse-proxy configuration to match these defaults. You can also leave any of these parameter values blank and will then use the current request's protocol, host or port, if that makes sense in your case.
As a final note, if you plan to override these context parameter values and if you are using the Tomcat bundle, we suggest doing so in frevvo/tomcat/conf/Catalina/localhost/frevvo.xml, since that would keep all your configurations in one place and makes it easy to upgrade to newer releases. You can do that by adding the following to your frevvo.xml file:
<Parameter name="frevvo.xforwarded.protocol.header" value="X-Forwarded-Protocol" override="false"/> <Parameter name="frevvo.xforwarded.host.header" value="X-Forwarded-Host" override="false"/> <Parameter name="frevvo.xforwarded.port.header" value="X-Forwarded-Port" override="false"/>
Moving users to a different tenant
This section describes how to move a user to a different tenant. In the steps below, we will move the user john from a source tenant (will use tenant d) to a target tenant (will use mytenant as the target name).
- If the target tenant does not exist, create it by following these steps. For the sake of this document, I will assume the target tenant id to be mytenant.
- Login to the target tenant as an admin and create a user with the same id as the user in the original tenant. In this example, the user id is john in the tenant mytenant.
- Transfer the applications to the new user account in the target tenant
- Login to the source tenant as a tenant admin. For instance admin@d.
- Navigate to Manage > Manage Users.
- Login as the user you want to move.
- Navigate to the user's applications page.
- Download each application for that user and save to a folder in your file system.
- Logout
- Login as the user in the new tenant: john@mytenannt.
- Upload the applications you've downloaded in the previous steps.
- Move the submissions in the submissions repository. You need to run these steps in the database where you persist the submissions. Please back up your database before moving forward.
- Login to your database.
- Edit the script shown below to:
- Replace the word johnwith the id of the user you are migrating.
- Replace the tenant id d with the id of the source tenant. The default tenant in is called d so if you are moving the user as part of an upgrade from 3.4.x chances are that your source tenant is d.
- Replace the word mytenant with the name of your target tenant
- Run the script shown below in your submissions database.
update formsubmission set tenantid='mytenant' where id in ( select fs.id from formsubmission fs, formsubmissiontype fst where fs.formsubmissiontype_formtype_id = fst.id and fst.ownerid='john' and fs.tenantid='d' )update formsubmissiontype set tenantid='mytenant' where ownerid='john' and tenantid='d'
Verification:
- Login as the user in the new tenant.
- Verify that the submissions are properly being loaded for all forms. In the submissions repository page make sure to adjust the initial and end dates to a window of time that you know have submissions for that specific form.
- Update references to the forms. After going trough the steps above, the URL to the forms owned by the user will be different than what they were originally. You need to update all references to the forms in published links and pages where the form should be embedded.
Default the Tenant Login
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.
There are two files where the changes to default the tenant login to your tenant name can be made: web.xml or the frevvo.xml. The recommended approach is to add the configuration parameters to the frevvo.xm;l file as it keeps all your modified parameters in one place and makes it easy to upgrade to newer releases. Since the file is outside the frevvo war, you avoid the unzip/rezip of the of the frevvo.war that is needed if you make the changes in web.xml. Examples containing the context parameters for both files are shown below.
To make the changes in <frevvo-home>\tomcat\webapps\frevvo\WEB-INF\web.xml file, follow these steps. At step4, uncomment the frevvo.default.login.tenent.id parameter and set the param-value to the name of your one tenant.
Here is how the parameter appears after editing for a tenant named ssotest:
<context-param> <param-name>frevvo.default.login.tenant.id</param-name> <param-value>ssotest</param-value> <description>Default Tenant</description> </context-param>
Restart your server and the next time you login you will only need to enter your username and password.
These config parameters can be overridden if you configure them in the <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml instead of web.xml. If you make the changes in the frevvo.xml file (recommended), add this parameter: be sure to change the "your_tenant_id" to the name of your tenant
<Parameter name="frevvo.default.login.tenant.id" value="your_tenant_id" override="false"/>
In-house customers, logging in as the ' server superuser admin, must still login with username admin@d.
Show/Hide Share Dialog Options
You can customize the options that appear in the Share dialog by editing the following web.xml parameter or adding it to an override in frevvo.xml. Remove any option from <param-value> that you want to hide from the share dialog.
<context-param> <param-name>frevvo.share.options</param-name> <param-value>embed-script,embed-link,link,page,google-gadget,raw-iframe,raw-link</param-value> <description>Which share dialog options to show</description> </context-param>
Hide the "forgot password" button on the login screen
in-house customers that wish to hide the "forgot password" field on the login screen can do so by changing the value of the frevvo.login.forgot.password.enabled context parameter in the web.xml file. This is only relevant to tenants using the Default Security manager and could be helpful if you are using LDAP without SSO. To hide the field, edit <frevvo-home>\tomcat\webapps\frevvo\WEB-INF\web.xml. Uncomment the frevvo.login.forgot.password.enabled parameter and set the param-value to false.
<context-param> <param-name>frevvo.login.forgot.password.enabled</param-name> <param-value>true</param-value> <description>Show Forgot Password button on login screen</description> </context-param>
You can also add it to an override in frevvo.xml.
<Parameter name="frevvo.login.forgot.password.enabled" value="false" override="false"/>
Moving Data Sources to the Top of the Designer
You can make the Data Sources panel in the Designer appear at the top of the left properties pane via the context parameter: frevvo.data.sources.top. Add the parameter with a value of true, as shown below, to the <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml file.
<Parameter name="frevvo.data.sources.top" value="true" override="false"/>
Here is an example of how to edit the web.xml file to add the configuration parameter. Be sure to rezip the frevvo.war file, as described above, when the changes are complete.
<context-param> <param-name>frevvo.data.sources.top</param-name> <param-value>true</param-value> <description>Move Data Source to the top></description> </context-param>
Remember any parameter in web.xml can be duplicated in frevvo.xml and the value in frevvo.xml takes precedence over the value in web.xml. If you plan to override the web.xml context parameter values and you are using the frevvo Tomcat bundle, we suggest doing so in frevvo.xml.
Show/Hide the "New from XSD" Button
You can show/hide the "New from XSD" button form designer Data Sources tab via the context parameter: frevvo.data.sources.add to the <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml file. The default is true. Set it to false to hide "New from XSD" button. Here is an example:
<Parameter name="frevvo.data.sources.add" value="false" override="true"/>
Here is an example of the configuration parameter added to the web.xml file. Be sure to rezip the frevvo.war file, as described above, when the changes are complete.
<context-param>
<param-name>frevvo.data.sources.add</param-name>
<param-value>false</param-value>
<description>Hide New from XSD button></description>
</context-param>
Remember any parameter in web.xml can be duplicated in frevvo.xml and the value in frevvo.xml takes precedence over the value in web.xml. If you plan to override the web.xml context parameter values and you are using the frevvo Tomcat bundle, we suggest doing so in frevvo.xml.
Configure Palette Controls in the designer
You can configure the palette to display only the controls that you need or to change the position of the controls in the palette by adding the context parameter:frevvo.palette.controls in the <frevvo-home>\tomcat\conf\Catalina\localhost\frevvo.xml file. The Strings must match exactly but they can be in any order. Remove the name of any controls that you don't want. In all cases, half of the configured amount of controls will display on the left side of the palette and the remaining controls on the right, based on the order in which they are listed in the context paramater. Here is an example showing a designer palette configured with only nine controls;
<Parameter name="frevvo.palette.controls" value="Dropdown,Radio,Checkbox,Section,Repeat,Tabs,Panel,Table,Message" override="false"/>
The frevvo.palette.controls parameter exists in the web.xml file. Here is an example of the modified configuration parameter that will display only ten controls. Be sure to unzip/rezip the frevvo.war file, as described above, when the changes are complete.
<param-name>frevvo.palette.controls</param-name>
<param-value>Dropdown,Radio,Checkbox,Section,Repeat,Tabs,Panel,Table,Message</param-value>
<description>Which controls are displayed in the palette</description>
</context-param>
This image shows the Data Sources section moved to the top, the "New from XSD" button hidden and the palette configured for only ten controls. Remember any parameter in web.xml can be duplicated in frevvo.xml and the value in frevvo.xml takes precedence over the value in web.xml. If you plan to override the web.xml context parameter values and you are using the frevvo Tomcat bundle, we suggest doing so in frevvo.xml.
Modifying Content Types for the Upload Control
The content types supported by are configured through web.xml using the context parameter: frevvo.upload.file.types. A mime type that is not working for a certain content type can be added to the web.xml file for on-premise customers. Follow the steps above to unzip/rezip the <frevvo-home>/tomcat/webapps/frevvo.war file after the edits to the web.xml file are complete.
The context parameter, frevvo.upload.file.types is located in the <!-- Upload Control File Types and Corresponding Mime Types --> section of the web.xml file.
<context-param> <param-name>frevvo.upload.file.types</param-name> <param-value>pdf,MS Word,MS Excel,MS PowerPoint,MS Access,gif,jpeg,png,tiff,rtf,tar,zip,gzip,xml,bmp</param-value> <description>Upload Control File Types for restricting upload by type</description> </context-param>
In addition, there are context parameters for each supported mime type that corresponds to each context type. For example, the context param that has the mime types corresponding to MS Word is: frevvo.upload.file.type.ms_word.mimes. Note the naming convention for the context type part of the parameter - lower case and spaces replaced with _
<context-param> <param-name>frevvo.upload.file.type.ms_word.mimes</param-name> <param-value>application/msword</param-value> <description>Allowed mimes for this type (comma separated). Type names is lower cased and spaces replaced with _.</description> </context-param>
Edits to the <!-- Upload Control File Types and Corresponding Mime Types --> section of the web.xml file should be reported to customer support to ensure future releases include the added mime type in the web.xml file of future releases.
As a preferable alternative, the additional mime type can be typed into the Other Mime/Ex field on the Upload control property pane. Refer to Upload control for more information.
Rule Validation Timeout
Rule validation is executed in a thread pool with a timeout. You can change the rule validation timeout value with the context param in web.xml - "frevvo.rule.validation.timeout". The default value is 2000 milliseconds. If validation javascript execution exceeds this timeout value, the Rule Validator will show :
Form or Rule Level Validation Issue: Validation Failed Rule validation timed out, possibly due to unparseable rule JavaScript.
Show/Hide PageBreaks
The show/hide pagebreaks icon on the Form Designer toolbar is a toggle to make PageBreak controls in your form on visible/invisible. When you create or edit a form, PageBreak controls will not be visible. Clicking the icon or dragging a PageBreak control from the palette onto the canvas will make them visible. If you want to change the default behavior you can modify the frevvo.designer.showPageBreaks context parameter in the web.xml file. This parameter defaults to false. Setting it to true will show page breaks by default in the designer.
Follow the steps here to unzip the <frevvo-home>\tomcat\webapps\frevvo.war. Modify this context parameter at step 4. Complete the remainder of the steps listed above.
<context-param> <param-name>frevvo.designer.showPageBreaks</param-name> <param-value>false</param-value> <description>Show page breaks by default in the designer</description> </context-param>
Save on Navigation
You can configure the Save on Navigation feature if you want to see an entry in the Audit Trail each time the flow navigates to a different step or you want to save the last saved step in a screenflow to the Task List for all of your workflows. If you want to select this feature for individual flows, then check the Save on Navigate property on the Flows Property panel for each one.
To configure the Save to Navigation feature for all workflows, you must add the content parameter in the <frevvo-home>\tomcat\conf\catalina\localhost\frevvo.xml file or you can unzip the <frevvo-home>\tomcat\webapps\frevvo.war file and add the parameter to web.xml. If you are using the Tomcat bundle, we suggest making this change in frevvo.xml. This keeps all your modified parameters in one place and makes it easy to upgrade to newer releases.
Follow these steps to turn on the Save on Navigation feature in the frevvo.xml file:
- Stop Live Forms if it is running.
- Navigate to <frevvo-home>\tomcat\conf\catalina\localhost\frevvo.xml.
- Open the file with a text editor.
Add the parameter shown below to the frevvo war settings section in the file. A true value turns on the Save to Navigation feature true while a false value turns it off. False is the default.
<Parameter name="frevvo.flows.save.on.navigation" value="true" override="false"/>
4. Save the file after all your changes are made.
5. Restart Live Forms.
If you choose to turn on this feature using the web.xml file, the context parameter that you must add is shown.
<context-param> <description>Perform save on navigation</description> <param-name>frevvo.flows.save.on.navigation</param-name> <param-value>true</param-value> </context-param>
The default value is false.
Disable Form Save in PDF Mapping
The prompt and save of the form prior to additional pdf mapping can be controlled by a web.xml context parameter named: frevvo.form.save.on.mapping. The parameter defaults to true. If set to false, the designer will not be prompted to save the existing pdf form before continuing pdf mapping and the editing instance will not be saved. This parameter applies only to forms, not flows.
Follow the steps here to unzip the <frevvo-home>\tomcat\webapps\frevvo.war. Modify this context parameter at step 4. Complete the remainder of the steps listed above.
<context-param> <param-name>frevvo.form.save.on.mapping</param-name> <param-value>true</param-value> <description>prompt and save form before PDF mapping</description> </context-param>
XSS Cleaning
uses a whitelist approach to filter out XSS attacks. Only whitelisted tags will work if you are using HTML in labels, help, hint, etc. Although the whitelist allows a full range of text and structural body HTML, it will restrict you from using some tags like the HTML comment.
You can optionally turn off XSS cleaning for all of or for control labels by setting two context parameters to false:
- frevvo.xss.clean=false - this parameter removes all xss (cross site scripting) cleaning product wide.
frevvo.xss.clean.labels=false - this parameter removes all xss cleaning for control labels only.
Customers should carefully consider the ramifications of removing the XSS scrubbing. Harmful markup can potentially be used for XSS attacks.
If you are using tomcat, the context parameters can be added to the frevvo.xml file which is located in the <frevvo-home>\tomcat\conf\catalina\localhost\ directory. This is the recommended approach. Follow these steps:
- Stop Live Forms if it is running.
- Navigate to <frevvo-home>\tomcat\conf\catalina\localhost\frevvo.xml.
- Open the file with a text editor.
Add the parameter(s) shown below to the frevvo war settings section then save the file.
- Restart .
<Parameter name="frevvo.xss.clean" value="false" override="false"/> <Parameter name="frevvo.xss.clean.labels" value="false" override="false"/>
If you choose not to add these parameters to the frevvo.xml file, you can unzip the <frevvo-home>\tomcat\webapps\frevvo.war file and add the parameters to web.xml file. Follow the steps to unzip the <frevvo-home>\tomcat\webapps\frevvo.war. Modify these context parameters at step 4. Complete the remainder of the steps listed above.
The default value for the context parameters is true. To turn off XSS cleaning, change the values to false.
<!-- XSS Cleaning --> <context-param> <param-name>frevvo.xss.clean</param-name> <param-value>true</param-value> <description>Clean all relevant fields of potentially harmful markup that could be used for XSS attacks</description> </context-param> <context-param> <param-name>frevvo.xss.clean.labels</param-name> <param-value>true</param-value> <description>Clean all labels of potentially harmful markup that could be used for XSS attacks. frevvo.xss.clean must also be true.</description> </context-param>
Max Size Attachment
You can set an upper bound limit server wide for the maximum size of an attachment that can be uploaded via the Upload Control by adding the frevvo.attachment.maxsize context parameter in the web.xml file. See Modifying the web.xml file above for the details. The same result can be accomplished by overriding the property in the container level by modifying the frevvo.xml.file. This is the recommended approach as frevvo.xml is directly editable while the web.xml file is included in the frevvo.war zipfile that has to be extracted, modified and rezipped after the changes are made. To do that:
- Stop .
- Locate the frevvo.xml file under the frevvo installation. If you are using the tomcat bundle, it will be in <frevvo-home>\tomcat\conf\catalina\localhost.
- Add the line:
<Parameter name="frevvo.attachment.maxsize" value="10485760" override="false"/>
3. Replace the value,102400 in this example, with the maximum size of the attachment that you want. The value must be entered in bytes. The default value is 10485760 bytes.
4. Restart .
If you are using MySQL, and you upload a large image or you are using a workflow that contains a large pdf, , you may see this error:
The default value of the max_allowed_packet parameter in your MySQL server may not be large enough. Refer to this website for detailed information about the MySql configuration parameter. Increasing the max_allowed_packet variable setting in your MySQL Server from the default (1M) to something like 16M (16777125) fixes the issue. To fix the issue temporarily, run the following commands:
Send Signatures to ImageSilo
The pve connector by default does not send handwritten signature images to ImageSilo. This can be overridden by setting frevvo.send.signature.xml to true in web.xml in pve.war. Follow these steps:
- Stop .
- Unzip the <frevvo-home>\ext\connectors\pve.war file.
Modify \Web-INF\web.xml, change the value of the frevvo.send.signature.xml context parameter to true.
<context-param> <param-name>frevvo.send.signature.xml</param-name> <param-value>false</param-value> </context-param>wwwww
- Rezip the pve.war file.
- Copy the modified file to <frevvo-home>\ext\connectors.
- Start .
Configure HTTP authentication to a Web service
If data is being posted to a custom webservice that requires authentication, follow these steps to configure your in-house server to pass the correct credentials. This is a global setting so it will apply to all tenants on your server:
- Stop .
- Locate the <frevo-home>/tomcat/webapps/frevvo.war file. Change the file extension from .war to .zip.
- Unzip the frevvo.zip file to a temporary directory
- Navigate to WEB-INF\httpclient-auth.properties file in the temporary location.
- Setup the HTTP client autorization in this file using the format shown below:
{id}={scheme}://{user}:{pwd}@{host}:{port}/{realm} - Note that realm is assumed to be url encoded (e.g. spaces as %20 or '+' or %40 for '@')
- Follow these steps to rezip the frevvo.war file.
- Start .
OEM Branding
There are several installation and configuration tasks and consideration that are typically done only by OEM partners embedding into there own product. Please see Installation Customizations for more details.
Clustered Form Servers
supports clustered form servers for both high availablity / load balancing and fault tolerance. Please refer to Cluster Configuration for requirements and tasks associated with installation and configuration of clustered form servers.
To permanently set it, choose one of the two methods listed below:
mysqld --max_allowed_packet=16M
On Mac OS, you can access the my.cnf file by typing
The location of the my.ini/my.cnf file varies by configuration.