Task #13530

Create new versions of existing themes with Bootstrap 5

Added by José Raddaoui Marín 4 months ago. Updated 4 months ago.

Status:In progressStart date:06/17/2021
Priority:MediumDue date:
Assignee:José Raddaoui Marín% Done:


Target version:-
Google Code Legacy ID: Tested version:
Sponsored:Yes Requires documentation:Yes


This ticket is part of a long-term process to upgrade AtoM's version of Bootstrap from version 2.3.2 to the latest version 5. The goal in doing so is threefold:

1) Reduce technical debt

Bootstrap 2.3.2 has been deprecated since 2013. This means it is no longer receiving updates, including important security updates. It also has its own dependencies, which are also deprecated. By upgrading, we move to a supported version and benefit from its ongoing maintenance, and are able to begin removing deprecated components from AtoM's codebase. Additionally, since the supported widgets and UI elements are expanded in v5, we may also be able to replace and remove components from other deprecated libraries in AtoM, such as YUI or Drupal components.

2) Improve overall accessibility

Accessibility work in AtoM has previously been ad-hoc - release 2.3 saw several enhancement to public-facing elements, but this work has not been consistently implemented throughout AtoM, nor has it been consistently maintained over time. Later versions of Bootstrap have increasing default support for accessibility, as well as additional documentation specific to this topic for implementers to consider. By upgrading to BS5, we will benefit from the base accessibility support in the latest version, and will have a much more consistent and maintainable implementation overall. Further, since the upgrade requires a review and reimplementation of all major templates and page elements, reviewing these with accessibility in mind will allow for greater and more consistent coverage overall. Finally, we will also make a point of documenting best practices and adding these to our coding standard and code review documentation, so that work carried out now can be more easily maintained in the future.

3) Improve overall responsiveness

Similar to point 2 above, later versions of Bootstrap also include enhancements to the default responsive behavior of the library and its components. Also similarly, AtoM's responsiveness has mostly been either inherited from the base Bootstrap 2 behaviors, or spot-fixed as needed in certain areas (such as the header bar). By upgrading and re-implementing our templates, we can benefit from the latest library defaults and be more consistent in how we implement responsive support overall.

<hr />

This work will eventually seek to replace the base Dominion theme in AtoM with a new base theme based on BS5. However, such an upgrade will be disruptive for users with custom themes in place. To alleviate this as much as possible and provide community users with enough time to address any required changes, we will be performing this upgrade in stages. Upon its first inclusion in a public release, we will continue to maintain the old Dominion theme (and BS2), alongside the new base theme and its related upgraded templates. A subsequent major release will later remove support for the earlier version. Additional tickets will be created as needed and linked to this one to capture other elements of this work.


#1 Updated by José Raddaoui Marín 4 months ago

Work in progress pull request: https://github.com/artefactual/atom/pull/1326

#2 Updated by José Raddaoui Marín 4 months ago

  • Related to Bug #13492: Unit tests fail on Docker added

#3 Updated by José Raddaoui Marín 4 months ago

  • Related to deleted (Bug #13492: Unit tests fail on Docker)

#4 Updated by Dan Gillean 4 months ago

  • Description updated (diff)
  • Sponsored changed from No to Yes
  • Requires documentation set to Yes

Also available in: Atom PDF