Cache Management
The plugin previously known as Dataverse Integration has been renamed to DataPress.
This change reflects our commitment to enhancing user experience and aligning with our product vision.
All references to Dataverse Integration in the documentation and UI will be updated to DataPress.
This page describes how to manage caching, including force disabling caching, configuring cache storage, and clearing the cache.
Overview
DataPress caches responses received from Dataverse to reduce API calls and speed up page loads.
On this page you can:
- Temporarily disable caching for debugging
- Choose cache storage
- Clear cache globally or by type
- Configure per-table (entity) cache rules
- Override cache for forms, views, and fetchXML inline
How it works (at a glance):
- A DataPress component (form/view/fetchXML) requests data.
- Cache layer checks if a valid cached copy exists.
- If hit → return fast from cache.
- If miss → pull from Dataverse → store in cache → return result.
Configuration
You’ll find most settings in the Admin Area → Cache section.
Disable caching (for debugging)
Disabling caching forces each request to call Dataverse directly. This can significantly slow down pages and increase API consumption.
Use only for short-term debugging and avoid leaving it enabled in production.
- Go to Admin Area → Cache
- Find
ICDS_DISABLE_CACHE - Enable it to disable all caching (i.e., every request will go directly to Dataverse)
Choose cache storage
- Go to Admin Area → Status → Advanced settings
- Set
ICDS_CACHE_STORAGEtoFiles
Why “Files”?
- It is the default and the most universally supported caching backend across WordPress deployments
- Ensures stable cache behavior across environments
- Requires no extra configuration
Other cache storage backends may be available in your build, but Files remains the recommended and fully supported choice for consistent behavior.
Clear cache
Go to Admin Area → Cache to:
- Clear all cache — removes all cached items
- Clear cache by type — removes only a specific category (e.g., entities/tables, views, forms, fetchXML)
For best results, ensure
ICDS_CACHE_STORAGE = Filesbefore clearing the cache.
Per-entity (table) cache settings
Set different durations for different tables:
- Go to Admin Area → Cache → Entity Cache Settings
- Click Add / Create rule
- Choose a table (entity)
- Set a cache duration in ISO 8601 format (e.g.,
PT30M,P1DT12H) - Save
When to use:
- High-churn data → shorter duration (e.g.,
PT10M) - Read-mostly data → longer duration (e.g.,
P1DorP3D)
Per-form / per-view overrides
You can override cache duration directly in your markup.
Form (example, cache for 1 day 10 hours):
{% form id=42 cache='P1DT10H' %}
View (example, cache for 1 day 12 hours):
{% view entity="contact" name="Active Contacts" cache="P1DT12H" %}{% endview %}
fetchXML overrides
Add a cache attribute to your fetchXML block:
{% fetchxml collection="customers" cache="PT30M" %}
<fetch mapping='logical' returntotalrecordcount='true'>
<!-- your fetch definition here -->
</fetch>
{% endfetchxml %}
Notes
Settings
ICDS_DISABLE_CACHE
Type: Boolean
Default: false
Location: Admin Area → Cache
Description: When enabled, all caching is turned off. Every request is sent directly to Dataverse.
Use when: Debugging or validating live data. Not recommended for long-term use in production.
ICDS_CACHE_STORAGE
Type: Enum
Default: Files
Location: Admin Area → Cache
Description: Determines where cached data is stored.
Recommended value: Files — required for the cache clearing function to work reliably.
Entity Cache Settings
Type: Duration (ISO 8601)
Default: none
Location: Admin Area → Cache → Entity Cache Settings
Description: Allows defining a custom cache duration for specific tables (e.g., PT30M, P1D).
Use when: Dataset update frequency differs per table.
Component-level cache attribute
Type: Duration (ISO 8601)
Location: Inline in forms, views, and fetchXML components
Description: Overrides the cache duration for a specific instance of a component.
Example:
{% form id=42 cache="P1DT10H" %}
Precedence Rules
Caching configuration in DataPress follows this order of priority:
-
Global disable (
ICDS_DISABLE_CACHE)
When this option is enabled, all caching is turned off, regardless of any other settings. -
Component-level
cacheattribute
A cache duration specified directly in a form, view, or fetchXML tag overrides all entity-level and system-level cache durations. -
Entity Cache Settings
Cache rules defined per entity/table are applied when no component-level override exists. -
System defaults
If no custom configuration is provided, DataPress uses its internal default caching behavior.
ISO 8601 Duration Guide
Durations in DataPress must follow the ISO 8601 format.
A duration is built using the letters P (period) and T (time), followed by numeric values.
Common examples:
- 30 minutes —
PT30M - 1 hour —
PT1H - 1 day —
P1D - 1 day 12 hours —
P1DT12H - 3 days —
P3D - 2 weeks —
P2W - 2 hours 30 minutes —
PT2H30M
Format rules:
- Every duration must start with
P - If a time part is included, it must be prefixed with
T - Valid patterns include:
P<n>D(days)P<n>W(weeks)PT<n>H(hours)PT<n>M(minutes)PT<n>S(seconds)- Combinations like
P<n>DT<n>H,PT<n>H<n>M, etc.
Structure template:
ISO 8601 duration values follow this structural pattern:
PnYnMnDTnHnMnS
Where:
P— required prefix (period)<date>— can include:nW— weeksnD— days
T— separates date and time parts (only needed if<time>is used)<time>— can include:nH— hoursnM— minutesnS— seconds
Examples based on the template:
P3D → 3 days PT30M → 30 minutes P1DT2H → 1 day and 2 hours PT1H15M → 1 hour and 15 minutes