Futurama Logo

Welcome to the Futurama Support Site

The Futurama Support Site is the website where you can find Futurama and Futurama Vision documentation. If you have any questions about the support pages or if you want to provide us feedback please send us an e-mail.

Index Configuration - Cache
Previous  |  Next

 1      About Futurama
 1.1        Version information
 1.2        Getting Started
 1.2.1          Futurama Website            Behavior of Futurama regarding TimeOuts, Login and Logoff            Replacing an existing Futurama Session
 1.2.2          Futurama Webservice            warmUpDocuments
 1.2.3          Futurama Export
 1.3        Overview - Futurama Modules
 1.3.1          Overview - Futurama Accounts
 1.3.2          Overview - Futurama Server
 1.3.3          Overview - Futurama Monitor
 1.3.4          Overview - Futurama Insight
 1.3.5          Overview - Futurama Console
 1.3.6          Overview - Futurama Webservice
 1.4        Loadbalancing Futurama applications
 1.4.1          Getting the most out of Futurama Web using the Load-Balancer
 1.4.2          Application Request Routing
 1.5        Text management and Multi-language
 2      Installation – Configuration – Testing
 2.1        Installation - Futurama Website Edition
 2.1.1          Installation Futurama HTML
 2.1.2          Installation Futurama Monitor
 2.1.3          Installation Futurama Insight
 2.1.4          Installation Futurama Accounts
 2.1.5          Installation SAML2LoadBalancer
 2.2        Installation - Futurama Export Edition
 2.2.1          Installation Futurama Console
 2.2.2          Installation Futurama Server
 2.3        Installation - Futurama Webservice Edition
 2.3.1          Installation Futurama Webservice
 2.4        Installation Futurama Editor
 2.5        Configuration
 2.5.1          Configuration - Cache
 2.5.2          Configuration - Calculation
 2.5.3          Configuration - Debug
 2.5.4          Configuration - File manager
 2.5.5          Configuration - Fileproviders
 2.5.6          Configuration - Format
 2.5.7          Configuration - History
 2.5.8          Configuration - Identity Provider
 2.5.9          Configuration - Log
 2.5.10           Configuration - Mail
 2.5.11           Configuration - Mapping
 2.5.12           Configuration - Monitor
 2.5.13           Configuration - PlugIns
 2.5.14           Configuration - Rendering
 2.5.15           Configuration - ScenarioRecording
 2.5.16           Configuration - Security
 2.5.17           Configuration - Server
 2.5.18           Configuration - Vision
 2.5.19           Configuration - WebAPI
 2.6        Logging
 2.7        Troubleshooting
 2.8        Security - hardening
 3      Updating and file compatibility
 3.1        Updating Futurama - Compatibility behavior
 3.2        Converting Futurama documents
 3.3        12819 - DataTable file updates
 3.4        12889 - DataTable file updates
 3.5        Conversion web.config to .NET Framework 4
 3.6        Deprecated conversion formulas
 4      Futurama Editor - How to
 4.1        At first glance
 4.2        Developing in the Futurama Editor
 4.2.1          Working with objects
 4.2.2          Evaluating objects
 4.2.3          Finding objects
 4.3        Transferring objects
 4.4        Testing objects
 4.5        Validating objects
 4.6        Troubleshooting objects
 4.7        Advanced/special functionality
 4.8        Checking the layout of objects
 5      Futurama - Formulas
 5.1        Futurama Formulas - Date and time
 5.1.1          Date
 5.1.2          Day
 5.1.3          Days360
 5.1.4          Days360Excel
 5.1.5          DaysInMonth
 5.1.6          DaysInPeriod
 5.1.7          Min
 5.1.8          Max
 5.1.9          Month
 5.1.10           Now
 5.1.11           WeekDay
 5.1.12           Year
 5.2        Futurama Formulas - Math
 5.2.1          Abs
 5.2.2          Add
 5.2.3          Divide
 5.2.4          Floor
 5.2.5          Ln
 5.2.6          Log
 5.2.7          Log10
 5.2.8          Mod
 5.2.9          Multiply
 5.2.10           Pi
 5.2.11           Power
 5.2.12           Rand
 5.2.13           Round
 5.2.14           RoundDown
 5.2.15           RoundUp
 5.2.16           SquareRoot
 5.2.17           Subtract
 5.3        Futurama Formulas - Statistical
 5.3.1          AverageDeviation
 5.3.2          Beta
 5.3.3          Binomial
 5.3.4          Covariance
 5.3.5          Factorial
 5.3.6          Gamma
 5.3.7          GeometricMean
 5.3.8          Lognormal
 5.3.9          Max
 5.3.10           Median
 5.3.11           Min
 5.3.12           Normal
 5.3.13           StandardDeviation
 5.3.14           Uniform
 5.3.15           Variance
 5.4        Futurama Formulas - Text
 5.4.1          CalculateBase64Hashcode
 5.4.2          CalculateXmlHashcode
 5.4.3          Concatenate
 5.4.4          ConcatenateBase64
 5.4.5          ContainsText
 5.4.6          Convert.CSV.2.XML
 5.4.7          ConvertFromBase64
 5.4.8          ConvertToBase64
 5.4.9          ConvertXml
 5.4.10           DecodeURL
 5.4.11           DecryptXml
 5.4.12           EncodeURL
 5.4.13           EncryptXml
 5.4.14           Find
 5.4.15           HashBase64EncodedFile
 5.4.16           HashBase64EncodedFileWithBase64
 5.4.17           HashText
 5.4.18           HashTextWithBase64
 5.4.19           Left
 5.4.20           Len
 5.4.21           Linefeed
 5.4.22           Lower
 5.4.23           Mid
 5.4.24           Proper
 5.4.25           ReadConfigKey
 5.4.26           ReadDirectoryNames
 5.4.27           ReadFile
 5.4.28           ReadFileAsBase64
 5.4.29           ReadFileNames
 5.4.30           ReadFileWithEncoding
 5.4.31           ReadXPathScalar
 5.4.32           ReadXPathVector
 5.4.33           Repeat
 5.4.34           Right
 5.4.35           Substitute
 5.4.36           Trim
 5.4.37           TrimLeft
 5.4.38           TrimRight
 5.4.39           Upper
 5.4.40           ValidatePattern
 5.4.41           XsdMessages
 5.5        Futurama Formulas - Logical
 5.5.1          And
 5.5.2          IsEmpty
 5.5.3          If
 5.5.4          IsEqual
 5.5.5          IsEven
 5.5.6          IsGreater
 5.5.7          IsGreaterEqual
 5.5.8          IsIBANChecksumValid
 5.5.9          IsLess
 5.5.10           IsLessEqual
 5.5.11           IsMemberOfGroup
 5.5.12           IsNotEqual
 5.5.13           IsOdd
 5.5.14           IsValidXml
 5.5.15           Not
 5.5.16           Or
 5.5.17           ValidateNPR
 5.6        Futurama Formulas - Table
 5.6.1          FindNextRow
 5.6.2          FindPreviousRow
 5.6.3          FindRow
 5.6.4          Sort
 5.6.5          VLookUp
 5.7        Futurama Formulas - Document
 5.7.1          CountErrors
 5.7.2          GetPathToDataFiles
 5.7.3          GetPortNumber
 5.7.4          GetRelativePathToDataFiles
 5.7.5          GetSessionID
 5.7.6          IsLicenceAvailable
 5.7.7          ReadError
 5.7.8          ReadIdentityProviderResult
 5.7.9          ReadRequestIP
 5.7.10           ReadRequestParameter
 5.7.11           ReadUserAgent
 5.7.12           ReadVersionNumber
 5.7.13           SessionTimeOut
 5.7.14           URL
 5.7.15           UserName
 5.8        Futurama Formulas - Conversion
 5.8.1          Convert.Excel.to.XML
 5.8.2          ConvertJSONtoXml
 5.8.3          ConvertTextToDate
 5.8.4          ConvertTextToNumber
 5.8.5          ConvertToBoolean
 5.8.6          ConvertToDouble
 5.8.7          ConvertToLong
 5.8.8          ConvertToString
 5.8.9          FormatDate
 5.8.10           FormatNumber
 5.8.11           Value
 5.9        Futurama Formulas - Matrix
 5.9.1          AddMatrices
 5.9.2          AddScalarToMatrix
 5.9.3          Cumulative
 5.9.4          CumulativeProductMatrix
 5.9.5          Distinct
 5.9.6          DivideMatrices
 5.9.7          DivideMatrixScalar
 5.9.8          DivideScalarMatrix
 5.9.9          Exponent
 5.9.10           First
 5.9.11           Floor
 5.9.12           If
 5.9.13           Index
 5.9.14           Inverse
 5.9.15           IsEqual
 5.9.16           IsGreater
 5.9.17           IsGreaterEqual
 5.9.18           IsNotEqual
 5.9.19           IsLess
 5.9.20           IsLessEqual
 5.9.21           Join
 5.9.22           Last
 5.9.23           Length
 5.9.24           MatrixProduct
 5.9.25           Max
 5.9.26           MaxScalarMatrix
 5.9.27           Mean
 5.9.28           Mid
 5.9.29           Min
 5.9.30           MinScalarMatrix
 5.9.31           MultiplyMatrices
 5.9.32           MultiplyMatrixVector
 5.9.33           MultiplyScalarMatrix
 5.9.34           Percentile
 5.9.35           PowerMatrix
 5.9.36           PowerMatrixScalar
 5.9.37           PowerScalarMatrix
 5.9.38           ReadMatrixFromXml
 5.9.39           Repeat
 5.9.40           Replace
 5.9.41           Reshape
 5.9.42           ReverseCumulativeProductMatrix
 5.9.43           ReverseMatrix
 5.9.44           Size
 5.9.45           Split
 5.9.46           SquareRootMatrix
 5.9.47           Step
 5.9.48           SubtractMatrices
 5.9.49           SubtractMatrixScalar
 5.9.50           SubtractScalarMatrix
 5.9.51           Sum
 5.9.52           Transpose
 5.9.53           UnitMatrix
 5.9.54           Vector
 5.10         Creating custom formulas in Futurama
 6      Futurama - Objects
 6.1        Action
 6.2        Aggregation
 6.3        Button
 6.4        ChangeValue
 6.5        CheckBox
 6.6        ClearCache
 6.7        DatabaseField
 6.8        DatabaseView
 6.9        DataTable
 6.10         DateBox
 6.11         DocConverter
 6.12         Document
 6.13         Download
 6.14         DropDownList
 6.15         EmailConverter
 6.16         ExcelConverter
 6.17         FileSaver
 6.18         FileUploader
 6.19         Fixed
 6.20         Formula
 6.21         GraphConverter
 6.22         HTMLInclude
 6.23         InterfacesNode
 6.24         LogMessage
 6.25         Navigator
 6.26         Node
 6.27         RadioButton
 6.28         RadioGroup
 6.29         Range
 6.30         Reference
 6.31         SubDocument
 6.32         TextBox
 6.33         UserTable
 6.34         UserVariable
 6.35         WebLabel
 6.36         WebListBox
 6.37         WebPage
 6.38         WebPanel
 6.39         WebReference
 6.39.1           WebReference - WCF Configuration
 6.40         WebService
 6.41         WebSlider
 6.42         WordConverter
 6.43         XmlBuilder
 6.44         XmlConverter
 6.45         XmlField
 6.46         XmlNode
 7      Futurama - Vision References
 7.1        Data
 7.1.1          ReadData
 7.1.2          WriteMessage
 7.1.3          GetPersonIdentifiers
 7.1.4          CreatePerson
 7.2        DataStore
 7.2.1          DeleteDataItem
 7.2.2          DeleteDataItemHierarchy
 7.2.3          DeleteDataItems
 7.2.4          GetDataItem
 7.2.5          GetDataItemHierarchy
 7.2.6          GetDataItems
 7.2.7          StoreData
 7.3        Accounts
 7.3.1          Activate Account
 7.3.2          Change Account
 7.3.3          Create Account
 7.3.4          GetQuestion
 7.3.5          GetQuestions
 7.3.6          Login
 7.3.7          ReadData
 7.3.8          ReinitializeAccount
 7.4        General
 7.4.1          TestConnection
 8      Futurama Vision
 8.1        Installation Futurama Vision
 8.1.1          Installation Futurama Vision Management Site
 8.1.2          Installation or Upgrade of the Futurama Vision Database
 8.2        Futurama Vision Management Site
 8.2.1          Futurama Vision Management Site - Admin
 8.2.2          Futurama Vision Management Site – Security
 8.2.3          Futurama Vision Management Site – Skinning
 8.2.4          Importing data into Futurama Vision            Importing data by webservice            Importing data from a Zip-file            Importing data with Futurama Vision Batch            Futurama Vision Webservice Security
 8.2.5          Further processing of data into Futurama Vision
 8.3        Futurama Vision File manager
 8.4        Activity overview
 8.5        Storing data in Vision from a Futurama application
 8.6        Futurama Vision – Data
 8.7        Futurama Accounts - Management Site
 8.7.1          Futurama Accounts - Table in Vision Database
 8.8        Futurama Server - Management Site
 8.8.1          Special Futurama Server Jobs
 8.9        Futurama Register - Management Site
 8.9.1          Configuration - Futurama Register
 8.10         Retrieving AppEvents from Futurama Vision
 8.11         Adding CustomPages to Vision
 9      Futurama Intermediate Control Output (FICO)
 9.1        FICO example - Change/Add HTML headers
 9.2        FICO example - Change Graph
 9.3        HTML5 Template
 10       Futurama Web API
 10.1         Postbacks of Futurama webcontrols
 10.2         Retrieving Resources using Web API
 10.3         WebAPI Session management
 11       Tutorials - Overview
 11.1         Tutorials - Examples and Downloads
 11.2         Beginners
 11.2.1           Creating formulas with Futurama             Exercise 1: Pythagorean Theorem (Easy)             Exercise 2: Newspaper stall (Medium)             Exercise 3: Recursive functions (Difficult)             Exercise 4: Leap Year (Difficult)             Exercise 5: The Guessing Game I (Medium)
 11.2.2           Creating a Website Application             Exercise 1: Creating a Website (Easy)
 11.2.3           Styling your website with CSS             Exercise 1: Adding CSS (Easy)
 11.2.4           Adding interactivity to your website             Exercise 1: Summation (Easy)             Exercise 2: The Guessing Game II (Medium)             Exercise 3: Nationality (Medium)             Exercise 4: Nationality - RepeatTarget (Medium)             Exercise 5: Reversed Guessing (Difficult)
 11.2.5           Working with Tables             Exercise 1: Average (Easy)             Exercise 2: Boundary values (Difficult)             Exercise 3: Standard Deviation (Medium)
 11.2.6           Reading and processing XML-data in Futurama             Exercise 1: Shares (Medium)
 11.2.7           Adding Graphs in Futurama             Exercise 1: World Population (Easy)
 11.2.8           Working with Actions in Futurama             Exercise 1: Changing Colors (Easy)             Exercise 2: On and Off (Medium)             Exercise 3: The ChangeValue object (Difficult)             Exercise 4: The Guessing Game III (Medium)             Exercise 5: CheckBox (Medium)
 11.2.9           Multiple Pages and Navigation
 11.2.10            Using XSLT to display data              Exercise 1: Overview Summation (Easy)              Exercise 2: Persons (Medium)              Exercise 3: Leap Year Overview (Difficult)
 11.2.11            Webservices in Futurama              Exercise 1: Example (Easy)
 11.2.12            Creating a Webservice Application              Exercise 1: Add (Easy)              Exercise 2: Webservice Nationality (Medium)
 11.2.13            Creating a Console Application              Exercise 1: Adding extra fields (Easy)
 11.2.14            Generating Documents              Exercise 1: Tax Rate (Medium)              Exercise 2: Tax Rates Table (Difficult)
 11.3         Advanced
 11.3.1           Responsive Design             Exercise 1: Orientation             Exercise 2: Target different screen sizes
 11.4         Older Tutorials (Futurama Version 3.2)
 11.4.1           Futurama Editor Tutorial 1: The first sum
 11.4.2           Futurama Editor Tutorial 2: An annuity
 11.4.3           Futurama Editor Tutorial 3: Working with tables
 11.4.4           Futurama Editor Tutorial 4: Modelling a DB pension plan
 11.4.5           Futurama Editor Tutorial 5: Working with XML
 11.4.6           Futurama Web Tutorial 1: Hello world
 11.4.7           Futurama Web Tutorial 2: Buttons and Actions
 11.4.8           Futurama Web Tutorial 3: Textboxes
 11.4.9           Futurama Web Tutorial 4: DropdownLists
 12       Miscellaneous
 12.1         Responsive website
 12.2         Reducing memory usage for XmlNodes and XmlFields
 12.3         Explaining caching for websites and webservices
 12.4         Certificates - basic information
 12.5         Performance XML operations
 12.6         Creating XSD files and using them in combination with Futurama
 13       Templates
 14       Safe2Save WebAPI Sample
View  |  Print  |  PDF

451 documents found.

Configuration - Cache



Version: 4.3.0 +

Applicable to: Futurama Website/Futurama Webservice



In case Futurama is running in Website or Webservice mode it is possible to configure settings for the caching of information. These settings are set in the cache-section.



Within the <configuration> element the next code has to be included:

  <sectionGroup name="futuramaSettings">
    <section name="cache" type="ActuIT.Futurama.Config.CacheSection, ActuIT.Futurama.Engine,
             Version=, Culture=neutral, PublicKeyToken=null"/>

Next to this code, also within the <configuration> element the next code has to be included:

  <cache enabled="{true/false}" numberOfDocuments="{value}" enableHistory="{true/false}"  
  secondsBetweenLoad="{value}" expirationInMinutes="{value}" 
  GCLargeObjectHeapCompactionModeInterval="{value}" >
        <file pattern="^(document.xml){1}$"></file>

The futuramaSettings element is the general part for more configuration settings. Within this element the cache element is set.


Within the cache element some attributes can be set. Below the possible values of these attributes.


Indicates whether the caching of documents/sessions is enabled or disabled. Notes:

  • this attribute is required;
  • this attribute is only used in Website mode or Webservice mode;

Indicates whether the use of the back button in the browser is enabled. This option is available from Futurama 17.10.


  • this attribute not is required; The default value is false.
  • enabling this attribute is only possible in combination with Html5 rendering.
  • enabling this attribute will increase the memory usage for a Futurama session .
  • this attribute is only used in Website mode or Webservice mode.

Indicates the number of documents that Futurama stores in the cache. When starting a new web session, the loading of a Futurama document can take some time. This depends on the size of the Futurama document. With the ‘numberOfDocuments’ setting, Futurama can read in advance a number of empty documents in memory. If a new session starts, one of these empty documents can be used to speed up the loading process. The number of documents Futurama has to read in advance can be defined with the ‘numberOfDocuments’ setting. Another important setting is the ‘secondsBetweenLoad’ setting (see described below). System administrators can use these two settings to find a good balance between performance (many documents in cache, combined with few seconds between loading new cache-documents will result in fast loading of new web sessions) and the memory use (few documents in cache, combined with many seconds between loading new cache-documents causes limited memory use). Notes:

  • the default value is '0';
  • this attribute is optional. If this attribute is not included the default value is used;
  • this attribute is only used in Website mode;
  • this attribute should be used in combination with the 'secondsBetweenLoad' attribute;

Indicates the number of seconds before a new Futurama document will be read in cache. For more information see the description of 'numberOfDocuments'. Notes:

  • the default value is '0';
  • this attribute is optional. If this attribute is not included the default value is used;
  • this attribute is only used in Website mode;
  • this attribute should be used in combination with the 'numberOfDocuments' attribute;

Indicates the number of minutes a document is kept in the cache after a webservice call. Basically, webservice calls are stateless. That means that every webservice call is an independant call, unrelated to any previous calls. This differs from sessions, that occur at websites. Nevertheless, with Futurama it is possible to store webservice documents. The advantage of this is that calculations, or part of calculations, don’t have to be executed everytime. This improves the performance significantly. An example is a webservice that has to read information from a database or an external webservice. In case the input remains the same, it isn’t necessary to read the information again with every webservice call. Notes:

  • the default value is '0';
  • this attribute is optional. If this attribute is not included the default value is used;
  • this attribute is only used in Webservice mode;
GCLargeObjectHeapCompactionModeInterval (from version 5.3.1)

This setting is available for version 5.3.1+. It is only used in batch mode. You can use this setting to determine how often Futurama will clean up the memory to avoid fragmentation. The value specifies the interval in seconds at which Futurama clean up the memory it uses. The default value is 0 which means that cleaning up the memory is disabled. We recommend to only use this property if you perform very calculation intensive long running jobs and you experience performance degradation as the job runs longer.

warmUpDocuments (from version 5.3.1)

This setting is available for version 5.3.1+. It is only used in webservice mode. You can use the warmUpDocuments configuration to specify which documents Futurama should load at startup. For each document that Futurama loads the warmUpXmlBuilder is executed. In this way you can make sure that when a service is restarted all Futurama documents are pre-cached and all the static data that the Futurama documents use is read into memory. In that way you can make sure that the first call to a webservice is not delayed by loading static data.

Within warmUpDocuments you can specify an unlimited number of files with a pattern. A pattern is a regular expression that determines if a file is loaded into cache. In the example above all files in the path for the webservice documents are searched. If a filename matches the regular expression, then it is loaded into cache. For more information about warmUp, see this page

To be able to use this setting you need to make sure that the application is started automatically when IIS is restarted. The pictures underneath show how to do this.

Windows Server

On Windows Server the feature ‘Application Initialization’ has to be installed. You can find this feature by going through the following steps. Go to Server Manager –> Dashboard –> Add roles and features –> Next –> check “Role-based or feature-based installation” –> Next –> check “Select a server from the server pool” –> Next. In the “Roles” screen unfold Web Server (IIS) –> Web Server –> Application Development.

See the following picture:



On Windows the feature ‘Application Initialization’ (Control Panel –> Programs –> Turn Windows features on or off –> Internet Information Services -> World Wide Web Services -> Application Development Features) has to be installed as is shown in the following picture:




You have to set the Start Mode on ‘AlwaysRunning’ for the application pool, as shown in the following picture:



In the Basic Settings of the application in IIS you have to set the property 'Enable Preload' as is shown in the following picture.


See for an example using the property warmUpDocuments this page.


These configuration settings are available from Futurama version 4.3.0. In previous versions you can find the cache settings in the generic appSettings section of the configuration file. If the new cache section is not included in the configuration file of Futurama version 4.3.0 or higher, Futurama will switch to its compatibility mode. This means that the 'old' appSettings will be loaded. It is recommended to convert these old settings to the new configuration. Below the mapping between the old and the new configuration.

Futurama Website

New configuration:

<cache enabled="{Enabled}" numberOfDocuments="{Numberofdocuments}" secondsBetweenLoad="{Secondsbetweenload}"/>


{Enabled} is true when the value of:

<add key="NumberOfDocsToCache" value="">

Is greater then 0:

{NumberOfDocuments} is value of:

<add key="NumberOfDocsToCache" value="">

{SecondsBetweenLoad} is value of:

<add key="SecondsBetweenLoad" value="">

Futurama Webservice

New configuration:

<cache enabled="{Enabled}" expirationInMinutes="{Expirationinminutes}"/>,


{Enabled} is value of

<add key="WebServiceUseCache" value="">

{Expirationinminutes} is value of

<add key="WebServiceCacheExpirationInMinutes" value="">

Related Topics

- Debug: Settings to debug while developing with Futurama

- Format: Format settings of Futurama

- Identity provider: Settings how to use an external identity provider for determining the access to a website

- Log: Settings for displaying errors, warnings, information messages and developers messages

- Mail: Definition of the mailserver that is used to send e-mails with Futurama Vision

- Mapping: Settings for default locations of Futurama files

- Monitor: Settings for getting session information

- Rendering: Settings to allow Futurama to generate customized HTML

- Security: Additional possible security settings when using Futurama Website

- Server: Settings when using Futurama Export either in server or in batch mode

- Vision: Configuration of the connection between Futurama and Futurama Vision


If you have any questions about this subject or if you want to provide us feedback please send us an e-mail.

Updated: 2015-12-07

Previous  |  Next