|
Dear Sir,
I have configured the Phoebus Display Builder Web Runtime(DBWR) to display .bob files through a web browser.
After completing the Tomcat and DBWR configuration, I am able to successfully open and display the .bob panel in the client machine web browser. However, the pictures/symbols used in the .bob file are not displayed.
The browser shows an error while trying to load these image/symbol files. It appears that DBWR is referring to the image files using a local file path on the server, which cannot be accessed by the client browser.
The browser console error is shown below.
--------------------
Loading 'file:/opt/tomcat/webapps/dbwr/LCPC/CompressorLocal.bob' with {}
dbwr.js?V=1786090605:560 New rule for w147 'background_color'
dbwr.js?V=1786090605:134 Connecting PVs
dbwr.js?V=1786090605:134 Disconnected
pvws.js?V=1786090605:30 Opening ws://10.20.120.45:8080/pvws/pv
pvws.js?V=1786090605:40 Connected to ws://10.20.120.45:8080/pvws/pv
dbwr.js?V=1786090605:134 Initialize Widgets
picture.js?V=1786090605:16 Cannot load picture from file:/opt/tomcat/webapps/dbwr/LCPC/Symbol/VR Steam Trap.png because web browser cannot access files on server.
DisplayBuilderWebRuntime.widget_init_methods.picture @ picture.js?V=1786090605:16
6picture.js?V=1786090605:16 Cannot load picture from file:/opt/tomcat/webapps/dbwr/LCPC/Symbol/Radiological Protection Screw1.png because web browser cannot access files on server.
DisplayBuilderWebRuntime.widget_init_methods.picture @ picture.js?V=1786090605:16
---------------
The DBWR/Tomcat logs on the server is
$tail -f /opt/tomcat/logs/catalina.out
07-Aug-2026 13:46:46.276 INFO [http-nio-8080-exec-3] dbwr.rules.RuleSupport.handleRule PolygonWidget ID w147 rule:
<rule name="Rule" out_exp="false" prop_id="background_color">
<exp bool_exp="pv0==1">
<value>
<color blue="0" green="255" red="0">
</color>
</value>
</exp>
<exp bool_exp="pv0==0">
<value>
<color blue="0" green="85" red="0">
</color>
</value>
</exp>
<pv_name>LCPC_CRYO_COMP_C_RUN</pv_name>
</rule>
.. turned into ..
{
// Rule 'Rule'
let rule2 = new WidgetRule('w147', 'background_color', ['LCPC_CRYO_COMP_C_RUN']);
rule2.eval = function()
{
let pv0 = this.value['LCPC_CRYO_COMP_C_RUN'];
let pvStr0 = this.valueStr['LCPC_CRYO_COMP_C_RUN'];
if (pv0==1) return '#00FF00';
if (pv0==0) return '#005500';
return '#005500';
}
rule2.update = set_svg_background_color
}
07-Aug-2026 13:46:46.290 INFO [http-nio-8080-exec-3] dbwr.servlets.DisplayCache.getOrCreate Cache created file:/opt/tomcat/webapps/dbwr/LCPC/CompressorLocal.bob {}: Load time 23ms
$tail -f /opt/tomcat/logs/localhost_access_log*.txt
10.20.61.51 - - [07/Aug/2026:13:46:45 +0530] "GET /dbwr/view.jsp?display=file:/opt/tomcat/webapps/dbwr/LCPC/CompressorLocal.bob HTTP/1.1" 200 6255
10.20.61.51 - - [07/Aug/2026:13:46:45 +0530] "GET /dbwr/widgets/actionbutton.css?V=1786090605 HTTP/1.1" 200 688
10.20.61.51 - - [07/Aug/2026:13:46:45 +0530] "GET /dbwr/css/widgets.css?V=1786090605 HTTP/1.1" 200 2595
10.20.61.51 - - [07/Aug/2026:13:46:45 +0530] "GET /dbwr/widgets/databrowser.css?V=1786090605 HTTP/1.1" 200 140
10.20.61.51 - - [07/Aug/2026:13:46:45 +0530] "GET /dbwr/widgets/boolbutton.css?V=1786090605 HTTP/1.1" 200 101
10.20.61.51 - - [07/Aug/2026:13:46:45 +0530] "GET /dbwr/widgets/tabs.css?V=1786090605 HTTP/1.1" 200 1087
10.20.61.51 - - [07/Aug/2026:13:46:45 +0530] "GET /dbwr/widgets/navtabs.css?V=1786090605 HTTP/1.1" 200 1304
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/tank.css?V=1786090605 HTTP/1.1" 200 250
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/textupdate.css?V=1786090605 HTTP/1.1" 200 127
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/group.css?V=1786090605 HTTP/1.1" 200 130
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/led.css?V=1786090605 HTTP/1.1" 200 161
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/textentry.css?V=1786090605 HTTP/1.1" 200 147
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/combo.css?V=1786090605 HTTP/1.1" 200 35
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /pvws/js/pvws.js?V=1786090605 HTTP/1.1" 200 5486
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/scrollbar.js?V=1786090605 HTTP/1.1" 200 1152
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/js/dbwr.js?V=1786090605 HTTP/1.1" 200 22169
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/clock.js?V=1786090605 HTTP/1.1" 200 901
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/xyplot.js?V=1786090605 HTTP/1.1" 200 6185
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/symbol.js?V=1786090605 HTTP/1.1" 200 1065
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/bytemonitor.js?V=1786090605 HTTP/1.1" 200 1361
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/actionbutton.js?V=1786090605 HTTP/1.1" 200 3596
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/databrowser.js?V=1786090605 HTTP/1.1" 200 6373
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/boolbutton.js?V=1786090605 HTTP/1.1" 200 933
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/navtabs.js?V=1786090605 HTTP/1.1" 200 3356
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/tabs.js?V=1786090605 HTTP/1.1" 200 1783
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/led.js?V=1786090605 HTTP/1.1" 200 2963
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/checkbox.js?V=1786090605 HTTP/1.1" 200 1090
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/radio.js?V=1786090605 HTTP/1.1" 200 2473
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/tank.js?V=1786090605 HTTP/1.1" 200 821
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/textupdate.js?V=1786090605 HTTP/1.1" 200 4970
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/slider.js?V=1786090605 HTTP/1.1" 200 999
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/combo.js?V=1786090605 HTTP/1.1" 200 1779
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/textentry.js?V=1786090605 HTTP/1.1" 200 2940
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/picture.js?V=1786090605 HTTP/1.1" 200 755
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/spinner.js?V=1786090605 HTTP/1.1" 200 484
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/image.js?V=1786090605 HTTP/1.1" 200 18304
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/progressbar.js?V=1786090605 HTTP/1.1" 200 541
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/boolmonitor.js?V=1786090605 HTTP/1.1" 200 829
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/multistatemonitor.js?V=1786090605 HTTP/1.1" 200 258
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/widgets/polyline.js?V=1786090605 HTTP/1.1" 200 209
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /dbwr/screen?display=file%3A%2Fopt%2Ftomcat%2Fwebapps%2Fdbwr%2FLCPC%2FCompressorLocal.bob¯os=%7B%7D&cache=true HTTP/1.1" 200 47376
10.20.61.51 - - [07/Aug/2026:13:46:46 +0530] "GET /pvws/pv HTTP/1.1" 101 -
10.20.1.222 - - [07/Aug/2026:13:59:20 +0530] "GET /pvws/pv HTTP/1.1" 101 -
Could you please advise how this issue can be resolved? Specifically, I would appreciate your guidance on
How to configure DBWR to access image/symbol file used in the .bob.
Your guidance on the recommended configuration would be highly appreciated.
With regards
Vishnu
|