Forum OpenACS Development: Xowiki/Templating best practice
Motivation - there are a number of bootstrap 3 customizations for xowiki found in the following files
I'm basically taking the openacs-bootstrap3-theme and creating a bootstrap4 theme which needs to tweak a few of these settings to display correctly.
(aside - thank you so much for creating these theme as it has massively helped us in our development)
I've tried placing these at /packages/bootstrap4-theme/resources/templates/packages/xowiki/tcl and /packages/bootstrap4-theme/resources/templates/packages/xowiki/www/tcl as my trial and error process and neither seem to take. Do I need to name my package such that it is loading last during startup - or is the tcl folder not included in the templating system for themes.
If the latter, do you have any recommendations on how I can update these procedures without making local changes to the the xowiki package.
Therefore, xowiki has a site-wide parameter "PreferredCSSToolkit", which can be used to switch in essence between the old YUI style to the newer boostrap3 style of rendering. There are certainly for newer bootstrap versions (4 and 5) some differences, such as different button classes, or differences in the icon management (e.g. dropped glyphicon library in bootstrap4(, grid changes, etc... but many things work as before.
To address this, the change  was introduced shortly before the release of OpenACS 5.10.0 to provide a basis for a common bootstrap version, supporting as well newer versions. Our take was to skip Bootstrap4 and to go for Bootstrap5 which offers more options for the icon library. One challenge is to provide an easy setup optionally using the CDN like what we have for Bootstrap3. But for now, it is not clear, how much resources we can invest here in the short-range.
The way to go is to extend the "PreferredCSSToolkit" with newer bootstrap versions and to use the abstractions provided by . The provided dict has to be extended, but when this is done, the goal is to switch between these major bootstrap revisions without code changes.