Hello to all,
For the first time in more than two years of hard development in hundreds of releases, we must communicate certain changes in DecSoft's App Builder that can break the backward compatibility with some existing applications, in other words, we are talking about some changes that can affect to existing applications, so these applications must be updated / adapted for the nexts DecSoft's App Builder releases.
Don't worry! Maybe your apps are not affected, and, if they are affected, with a few changes, you can be ready to continue use the very latest releases of DecSoft's App Builder. What are the changes that we are talking about? We refer below the changes and also the possible problems and their most appropriate solutions. Don't worry and continue reading.
Introduction
From some release ago, DecSoft's App Builder start to use the Boostrap CSS framework version 4, instead of the version 3. The Boostrap CSS 4 drop their support for the Glyphicons, if I am not wrong, and, between other things, because the CSS code used by the Glyphicons touch certain Boostrap CSS rules, which is something not very good.
Since Boostrap CSS 4 don't support the Glyphicons, we want to drop their support in App Builder too, however, and, related with the above point, this means to remove some CSS rules which affect the Boostrap CSS framework. Removing this CSS rules causes some problems, that we try to solve as best as possible.
Changes in the the Report control
Once we drop the support for the Glyphicons, and, also remove their CSS code, we can say that now we are using the Boostrap CSS 4 in a proper way: no old Boostrap CSS 3 code is now placed in our applications. In fact our apps can appear exactly like before, except for the Report control. The Report control has now enhanced with a new variable named "RowClasses". We must use this variable now to specify one or more Boostrap CSS 4 grid related classes, to be applied on the Report.
Solution for the Report control changes
If you use a Report control with their Wrapper variable set to "table", congratulations! You no need to do anything, in other words, the changes don't affect the "table" reports. On the contrary, if you use a Report control with their Wrapper variable set to "grid", then, you must take care, and, review the HTML code of that Report control. Basically you must to remove the "col-*" CSS classes from your Report HTML, and, use the new Report's RowClasses variable.
Don't worry. All the App Builder Report* samples are updated in the new release in order to shown you how to deal with the "RowClasses" variable. In fact, this class have a default value: "col-12 col-md-6 col-lg-4 col-xl-4", which can be good for a 99% of the Reports, so, remember what you must to do: remove from the Report's HTML code any "col-*" classes that you previously set. Then these classes don't interfere with the new ones. That's all!
Changes in the IFrame control
Not related with the Boostrap CSS framework, the next releases of AB changes how the IFrame controls are drawn. In order to be ready with the iOS platform, App Builder uses now certain technique when drawn an IFrame control. This technique is very well know, and, consists on add the IFrame in a Container, and, apply to that Container (and the IFrame itself) certain CSS rules in order to be ready with the iOS platform.
Solutions for the IFrame control changes
Only if you already apply that "trick" with your IFrame controls, that is, only if you place the IFrame control inside a Container, and then apply the well know CSS rules to it, you must take care. Since App Builder already apply the "trick" for you, what you must to do is to remove the IFrame from the Container, and remove the CSS rules that uses before. Now App Builder do the "trick", so, you no need to worry about the iOS platform "problem".
Changes in some CSS classes
Since DecSoft's App Builder do not use any more Bootstrap CSS version 3, any CSS class that you use in your apps related with this version of the framework don't work anymore as expected. Again, don't worry. You can take a look here at this migration guide, only if you find some specific problem.
Since DecSoft's App Builder do not include any more (by default) the Glyphicons icons, you must change it (if use) by the included ones. Supose you are using an icon in a Push button control. If the icon is already an Awesome icon (included by default in App Builder) you no need to worry about. If your icon come from the Glyphicons package, what you must to do is to select another icon from the availables.
Conclusion
This is the very first time (that I can remember) that some changes in App Builder can cause that some existing applications must be modified in order to be ready with that changes. The affected controls are, however, only the Report and the IFrame ones. These changes are needed, because we must say goodbye to Boostrap CSS 3 and the Glyphicons. With Boostrap CSS 4 we no need it anymore, so, maintain old code just for backward compatibility is not good in this specific case, because the old Boostrap CSS 3 code interfere with the new Boostrap CSS 4 code.
Are you ready?
When this post was published, a new release of DecSoft's App Builder has been published too. You can start to play with it, searching for possible problems like the mentioned above. I am here to help, then, if you have any related questions, please, just post here. On the other hand, I want to place here a previous release of DecSoft's App Builder, then, you can use it if you wanted too:
Download DecSoft's App Builder 2018.11
Now say goodbye to Boostrap CSS 3 and the Glyphicons icons, but, say also hello to the Boostrap CSS 4, the Awesome icons (I plain to update in a next release of App Builder too). These changes are required and to continue working with App Builder using the latest version of Boostrap CSS. Definitely.
Again, please, post here any possible problems around these changes. We will try to help you as quickly as possible.