Search code examples
jquerybootstrap-4osgixpages

XPages and order of execution of Bootstrap 4


I have developed an application with Bootstrap 4 and I am getting different results on different servers.

I have tested this on many servers and most servers work fine but when putting it up on a hosting server I get problems.

First I thought is was because version 12.0.1 on server but after upgrade to 12.0.2FP1 it is the same problem.

The application is using the built in Bootstrap4 from xsp.properties, the only change I did is to add a theme that overrides Bootstrap4 and pointed out the theme in xsp.properties. I load no other js files in the theme

The problem is found in devtools where it states that bootstrap is loaded before jquery.

enter image description here

When I look in the source code I can see that bootstrap is loading before jquery, and bootstrap seem to be loading twice enter image description here

and if I look at the same code on a working server it looks a bit different

enter image description here

I have also tried other bootstrap 4 enabled databases on the faulty server and they show the same dev tools error so it is just not my code that gives the error.

What can be a possible cause of this problem? is there any parameters in Domino that can cause the order of execution to behave differently?

please note that I do not have access to the server at all, I am just the code delivery guy here.

In my application I have enabled debugtoolbar so I can look in the tracelogs and other files on the server but I find nothing of interest related to this problem

This is the paths when it is working

<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/bootstrap4/jquery/jquery.min.js"></script>
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/bootstrap4/js/bootstrap.bundle.min.js"></script>

This is the paths on the faulty servers,

<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/bootstrap4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/jquery/jquery.min.js"></script>
<script type="text/javascript" src="/xsp/.ibmxspres/.extlib/responsive/xpages/js/xspBootstrap4.js"></script>

So the correct server loads jquery.min.js and bootstrap.bundle.min.js

the faulty server loads bootstrap.min.js jquery.min.js xspBootstrap4.js

and this file xpages/js/xspBootstrap4.js I don't find in the plugin


Solution

  • From a chat on Discord we found out that the xspBootstrap4.js file is most likely from a left over install of the old XPages Extension Library version 16 (from 2016).

    The xspBootstrap4.js file is present in that library:

    enter image description here