Versions Compared

Key

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

...

The Web Browser Display (available since 2016.01) can display URLs that has been URL's that are configured for a topology node of the Interactive Forecast Display in the topology.xml.

Table of Contents

Configuration (up to Delft-FEWS 2018.02)

...

In Delft-FEWS 2018.02 (and later), a new package (Java Chromium Embedded Framework  - JCEF) is taking care of launching this display. By default, this package is NOT installed and available through the Delft-FEWS libraries and need to be installed separately. If  If you are interested in using the Web Browser Display, please contact Delft-FEWS Productmanagement by e-mail (fews-pm@deltares.nl) or go directly to the downloads sections at the bottom of the page.
Below, the configuration for this display is explained. If you have the Web Browser Display already running, you can skip general steps 2 and 3.

...

If you want to add a new Web Browser Display to your configuration, take the following general steps.

  1. Request for Download the JCEF package (fews-pm@deltares.nl)for your Delft-FEWS version, see table at the bottom of this page.
  2. Create <explorerTask> placeholder for it in the Explorer.xml, see example above. 
  3. Extend the <nodes> in the Topology.xml with URLs to display relevant web content (see below: Display Content Example).
  4. Open the *_clientConfig.xml and add the <autoExportModuleDataSet name="jcef" exportDir="Modules"/>, see example below.
  5. Add Rename the downloaded JCEF package file to jcef.zip file  and copy it to your ModuleDataSetFiles folder. (Note: you do not need to declare this moduleDataSet in the ModuleInstanceDescriptors.xml, like you would do normally)

 


Code Block
languagexml
titleChanges to the *_clientConfig.xml (SA example)
<?xml version="1.0" encoding="UTF-8"?>
<clientConfiguration xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews
http https://fewsfewsdocs.wldelftdeltares.nl/schemas/version1.0/clientConfig.xsd">
	<clientType>Stand alone</clientType>
	<autoExportModuleDataSet name="jcef" exportDir="Modules"/>
</clientConfiguration>

...


For Stand Alone:

  1. Make sure you apply the edits to the Explorer.xml of your SA application
  2. Add URLs to the <nodes> in the Topology.xml (RegionConfig)
  3. Move or Copy the jcef.zip into your Config/ModuleDataSetFiles folder
  4. Adjust the *_clientConfig.xml of this SA application
  5. Start your Delft-FEWS SA application using the (2018.02 way of) clicking the Desktop (or Start Menu) icon. 

...

Code Block
xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<webBrowserDisplay xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews httphttps://fewsfewsdocs.wldelftdeltares.nl/schemas/version1.0/webBrowserDisplay.xsd">
    <defaultBrowser>true</defaultBrowser>
	<bringToFront>true</bringToFront>
	<domainWhiteList>
		<access origin="deltares.nl" />
		<access origin="*.deltares.nl" />
	</domainWhiteList>
	<downloadDir>%REGION_HOME%/downloads</downloadDir>
</webBrowserDisplay>

Origins listed in this file can consist of three parts: <protocol://host:port> where protocol and port are optional parts and only the host name can contain wildcards (* or ?). When the "http" protocol is specified, "https" is also allowed but the opposite is not the case.

...

Note: Please use caution when adding external API's like "ajax.googleapis.com", some pages may contain references to external domains (i.e. youtube.com or www.google.com) that that may or may not be omitted without serious impact to the look and feel of a webpage.

Setting as default Browser

By default the web browser is linked to items (segments) in the topology tree (IFD) which have a url field assigned. To use the display for all web pages that can be opened within the UI (for example from hyperlinks in tooltips or the forecaster document panel) you can add a <defaultBrowser> element to the config file as shown above. If you do so, you may also want to add the <bringToFront> element to make the browser display activate itself whenever a web[age.new web page is loaded.

Configuring a folder for downloads

Using FEWS release 2020.02 and later the folder used to download files can be configured using the  the WebBrowserDisplay.xml configuration file using a <downloadDir> element. If you do not configure this, a dialog box will pop up to ask the user where he wants to put a downloaded file.

note: in earlier releases downloaded files would go to %REGION_HOME%/temp/session and did not have the expected file name, a bit inconvenient.

Configuring a different location for the JCEF package 

Normally the JCEF package will be installed in the Modules folder of any FEWS configuration, using the autoExportModuleDataSet option in the client config file. However if you have many configurations on your system, in order to save some disk space you can use the JCEF package from some other location on your system in the WebBrowserDisplay.xml by adding a <jcefBinDir> element (FEWS 2021.02 branch and later)

Displaying Content

To display content in the Web Browser Display, topology nodes can be extended with optional URLs. In the following example, a SA test application (FEWS-Swiss was used) to show the potential variety.

An optional The <mainPanel> element has been added in this example is not necessary to give the browser window the focus if it was hidden by some other content window because the <url> element automatically gets the focus regardless of the <mainPanel> element being present. In the following example, both node1 and node2 will give the focus to the browser window.

Code Block
xml
xml
<nodes id="Web" name="Web">
		<node id="node1" name="FOEN Swiss">
			<mainPanel>web browser display</mainPanel>
			<url>https://www.bafu.admin.ch/bafu/en/home.html</url>
		</node>
		<node id="node2" name="Meteo Swiss">
			<mainPanel>web browser display</mainPanel>
			<url>https://www.meteoswiss.admin.ch/home.html?tab=overview</url>
		</node>
		<node id="node3" name="Energy SFOE Swiss">
			<mainPanel>web browser display</mainPanel>
			<url>https://www.bfe.admin.ch/themen/00490/00491/00494/index.html?lang=en</url>
		</node>
		<node id="node4" name="YouTube (to test movies)">
			<mainPanel>web browser display</mainPanel>
			<url>https://www.youtube.com/</url>
		</node>	
		<node id="node5" name="Deltares">
			<mainPanel>web browser display</mainPanel>
			<url>https://www.deltares.nl/en/</url>
		</node>
		<node id="node6" name="Rijksoverheid (to test certificates) and redirect to https">
			<mainPanel>web browser display</mainPanel>
			<url>https://www.rijksoverheid.nl/</url>
		</node>
		<node id="node7" name="local html">
			<mainPanel>web browser display</mainPanel>
			<url>file:///PATH_TO_LOCAL_FILE.html</url>
		</node>		
	</nodes>

...

Note: There are restrictions in Google Chrome regarding the loading of files from the local file system; links to files on the local file system (file:///) are allowed only in html documents that have been loaded from the local file system as well. In general best practice is to always use relative paths/urls to images and other files that are referred to in a html document, so if the html page is hosted on a local file system the browser would also look for included images etc. there. This restriction can not possibly be overruled by listing local files in the WebBrowserDisplay.xml white list.

Example display 

...

titleKNOWN ISSUE: Do not undock...

Trouble shooting

If

...

the web browser display

...

Downloads

...

is not working as expected and the FEWS log does not appear to contain any log messages that are related, please try the following before reporting the problem to Deltares;

  • copy the URL in the address bar and try to open this in a stand-alone Chrome browser
  • go to the FEWS temp/session folder and investigate the cef.log file, which contains detailed logging information from the Chromium embedded web browser.
  • The Web Browser can not be used anymore for viewing pdf files. This was possible in older versions of JCEF, not supported anymore in recent version.

On Linux, some distributions may require that you install specific dependencies for your system, most of this will be provided when you install the chromium standalone browser, for RedHat 8 compatible systems use:

  • sudo dnf install epel-release-latest-8.noarch
  • sudo dnf install chromium
  • sudo dnf install dbus-x11

Developer Tools (debugging)

A new feature which is available in FEWS 2020.02 and later versions is the use of the Chrome Developer Tools which can be very helpful if a specific web application does not function properly in the embedded web browser. To use this, you need to run FEWS in debug mode (-Dlog.debug=true) and it will support remote debugging, to use this you open a separate Chrome browser window and enter the url "http://localhost:9222" to connect to the debugging session.

Downloads

Anchor
Downloads
Downloads

The JCEF package, which is a Java wrapper for CEF is provided for both Windows and Linux and as of April 2022 the same package applies to all supported FEWS branches (2018.02 and higher)

For FEWS branches older than 2020.01 you need the most recent FEWS patch to be able to use this package. The JCEF package is tested by Deltares on Windows 10 and CentOS8 / RHEL8, it is expected to work on more recent operating system versions.

CEF / Chromium versionWindowsLinux
122.0.6261.112 (march 2024)jcef.zipjcef.zip