Refresh on external event
Refresh on external event allows you to specify that the element should be refreshed upon receipt of an external event via a “fire event” URL.
The “fire event” URL works with the scheduler. The scheduler must therefore be configured and enabled: see the page Schedules for further details.
This mechanism allows you to trigger a refresh as if it were scheduled on a calendar, but immediately upon entering the URL.
Configuring event-based refresh
To configure event-based refresh, you must add a schedule to both the Flow and the cube:
- In the External Event ID field, enter the name of the event. For example, EVENT1.
- You can set a minimum interval between two refreshes:
Tick the ‘Limit maximum frequency for the refresh’ box and set the frequency as described here.
For example, the configuration below specifies that the Flow and the cube will be refreshed upon receipt of the EVENT1 event no more than once every 5 minutes. If no event is received, the Flow and the cube are not refreshed (or are refreshed according to a different schedule).

You can define multiple events on a flow/cube, and a single event can apply to multiple flows/cubes. This can be used to configure different refresh ‘channels’, for example.
Triggering the event
The event is triggered via a URL entered manually into the browser or sent by an external process, such as the Windows Scheduler. This URL takes the following form:
http://localhost:8080/ddenterpriseapi/fireevent?eventid=EVENT1
- When triggered manually, a login screen appears and the event is launched immediately after authentication.
There is no response other than a message indicating that the event has been sent. This response does not guarantee that the event will be processed, nor when. This is because, if the scheduler is already processing a task, the flows affected by the event are queued. Furthermore, if the previous identical event received is too recent (depending on the defined maximum refresh rate), then the new event is ignored. - In the case of an external process, you must add the following to the end of the URL: &user=<username>&pass=<password> so that the URL call is authenticated.
The account in question must have the‘Schedule refreshes’ authorisation.
It is also possible to specify particular users for whom the flows and cubes targeted by the event will be refreshed. To do this, add the parameter &users=<USER ID> as many times as there are users to specify. For example:
http://localhost:8080/ddenterpriseapi/fireevent?eventid=EVENT&user=...&pass=...&users=user1&users=user2... etc.
Using fireevent with the Talend ETL tool
To use fireevent with the Talend ETL tool, you need to use a curl request in the Talend script in the following format:
curl -L -b /path/to/talendwrite/cookies.txt -i "http://urlserver:8080/ddenterpriseapi/fireevent?eventid=EVENT&user=admin&pass=admin
Please note:
- The key parameter is "-L", which allows you to track the "redirect location" in the headers.
- The cookie file is not an input parameter.
- Do not use the Talend thttprequest component.
- You must use CURL with "\"" around the URL in the "tSystem" component.
Specifying user parameters in the URL
It is possible to specify one or more user parameters in the FireEvent URL so that the cube is generated and the associated flows are synchronised for all users with these user parameters. To do this, add the &searchParam attribute to the end of the URL as many times as there are user parameters to search for. The URL will therefore take the following form (here, with two user parameters specified):
URLServer/fireevent?loginForm=true&eventid=EVENT_ID&user=USER_USED_TO_REFRESH&pass=USER_PASSWD&searchParam=PARAMETER1%3DVALUE1&searchParam=PARAMETER2%3DVALUE2
Examples
- To run the event only for users with the value "FR" for the "country" user parameter, we use the following URL:
http://localhost:8080/ddenterpriseapi/fireevent?loginForm=true&eventid=EVENT_ID&user=USER_USED_TO_REFRESH&pass=USER_PASSWD&searchParam=country%3DFR - To run the event only for users whose ‘country’ parameter is set to‘FR’,‘ES’ or‘BE’, we use the following URL:
http://localhost:8080/ddenterpriseapi/fireevent?loginForm=true&eventid=EVENT_ID&user=USER_USED_TO_REFRESH&pass=USER_PASSWD&searchParam=country%3DFR%7CES%7CBE - To trigger the event only for users who do not have a value set for the“country” user parameter, we use the following URL:
http://localhost:8080/ddenterpriseapi/fireevent?loginForm=true&eventid=EVENT_ID&user=USER_USED_TO_REFRESH&pass=USER_PASSWD&searchParam=country%3D - To trigger the event only for users who have any value set for the‘country’ user parameter, we use the following URL:
http://localhost:8080/ddenterpriseapi/fireevent?loginForm=true&eventid=EVENT_ID&user=USER_USED_TO_REFRESH&pass=USER_PASSWD&searchParam=country
Existing events
Events already exist in DigDash and can be triggered at any time:
- EVENT_STOPSESSIONS: disables the session manager (users, apart from the super administrator, cannot log in).
- EVENT_STARTSESSIONS: enables the session manager.
- FORCE_FILESGC: deactivates all sessions and clears obsolete files to minimise disk space usage.
- EVENT_REFRESHFLOW_FORCE: refreshes all system flows (except disabled ones) and forces the regeneration of top-level cubes. (Equivalent to ‘Synchronise for All Users’ + ‘Force generation of cubes from data in the selected Flows’ in Studio).
- EVENT_REFRESHFLOW_FORCEALL: refreshes all flows in the system (except disabled flows) and forces the regeneration of all cubes. (Equivalent to ‘Synchronise for All Users’ + ‘Force generation of cubes from selected data flows’ AND ‘Force generation of all dependent cubes’ in Studio).
It is possible to define a sequence of events. For example:
.../fireevent?eventid=EVENT_STOPSESSIONS&eventid=REFRESH&eventid=EVENT_STARTSESSIONS
disables the session manager, then refreshes all flows (if the REFRESH event is recognised by the portfolio), then re-enables the session manager.
.../fireevent?eventid=REFRESH&eventid=FORCE_FILESGC
refreshes all flows (if the REFRESH event is recognised by the portfolio) and then clears obsolete files to minimise disk space usage.
