3.1 KiB
Migration to Twitter Bootstrap 3
https://blueprints.launchpad.net/fuel/+spec/tbs3
Migrate from Twitter Bootstrap 2 (TB2) to Twitter Bootstrap 3 (TB3).
Problem description
Currently Fuel UI is based on TB2, which is not supported for more than a year. The current version of Twitter Bootstrap is 3.3.4. Also, our styles file (for TB2) is poorly structured as we haven't refactored it since the very beginning.
Proposed change
We should migrate to TB3 and reimplement Fuel UI markup according to Twitter Bootstrap changelog. Migrating to a newer version of Twitter Bootstrap is a great chance to reduce technical debt: we'll also have to reimplement all the styles.
Migration can be done in a few steps:
- Base layout markup (navbar, footer, page wrapper)
- Simple pages (support page, login page, releases page, etc.)
- Cluster page markup
- Cluster page tabs
- Nodes tab screens (disks, interfaces)
- Dialogs
Alternatives
Migrate to some other HTML framework, though it doesn't makes much sense.
Data model impact
None.
REST API impact
None.
Upgrade impact
None.
Security impact
None.
Notifications impact
None.
Other end user impact
As we're changing markup, we also can alter look of some features to match the new style.
Performance Impact
There could be slight impact to performance of Fuel UI in browser as we overhaul the styles and markup, not sure if it get worse or better.
Plugin impact
None.
Other deployer impact
None.
Developer impact
Fuel UI contributors should be aware of the changelog of TB3 to efficiently write new code.
Infrastructure impact
None.
Implementation
Assignee(s)
Primary assignee: * Vitaly Kramskikh <vkramskikh@mirantis.com>
Other contributors: * Alexandra Morozova <astepanchuk@mirantis.com> * Bogdan Dudko <bdudko@mirantis.com> * Julia Aranovich <jkirnosova@mirantis.com> * Kate Pimenova <kpimenova@mirantis.com> * Nikolay Bogdanov <nbogdanov@mirantis.com>
Mandatory design review: * Vitaly Kramskikh <vkramskikh@mirantis.com>
QA engineer: * Anastasia Palkina <apalkina@mirantis.com>
Work Items
As described in Proposed change
section, though some
changes could be more granular.
Dependencies
None.
Testing
Existing functional test suite should be modified to support new markup.
Acceptance criteria
- New TB3-based markup is applied without any significant flaws (sizing and layout issues).
- Every existing UI feature works as it worked before, no missing information or controls.
Documentation Impact
Screenshots of Fuel UI in the existing documentation should be updated.
References
- #fuel-ui on freenode