HB3 Roadmap Vision

Our philosophy at Tickbox is to create web technology with digital tools that impact positively on the world around us. Our vision is: Tech for good!

The world of technology is constantly changing, affecting tech frameworks, coding languages, browsers and device platforms. At the same time users expect new and innovative ways of engaging with organisations via digital tools.

The nature of Hummingbird’s centralised core, along with core plug-ins and the ability to add bespoke plug-ins means we can meet this challenge, while staying cost-effective. clients work collaboratively with us, connecting us to their specific user experience so we can develop our tech around the needs of organisations and their audience.

Hummingbird’s full licence model covers:

  • Essential Maintenance
  • Enhancement to current core CMS and Core plug-ins
  • New Core functionality and core plug-ins (subject to Tickbox roadmap / specification)

What isn’t included in your HB3 License

  • Client Adaptive or Change Requests to existing Core CMS, Core Plug-ins or Custom Plug-ins
  • Correctives or Adaptive updates to client Custom Plug-ins (outside of warranty)
  • Designing and building front end HTML sections, pages and landing pages
  • Creating module templates
  • Working with non-standard third-party API (feeds)
  • Web and marketing content
  • Customisation of the core and plug-ins that is outside of our confirmed roadmap/specification
  • Planning and Project Management of your website strategy or build

Revision History

Latest Release details:

Release Date: 5 June 2020

Release Notes: This release features a range of updates aimed at improving the current system by means of adding or updating existing functionality. We’ve also fixed issues that have hindered page and user moderation.

WHAT’S NEW IN v1.1.13

  • New class declaration to help us store, handle and collect the correct system version. Replaces old Config setting.
  • Added new tests to ensure future compatibility
  • New Trait to help shortcodes be rendered else where throughout the site. Please note this is only temporary and will be removed in coming versions.
  • Filters to make sure URLs are accessed through a single lowercase route. Except for the backend.
  • CMS users, who have been deleted, can be re-instated
  • Modules and Templates
    • Updated the modules templates view, in the CMS, to not show a warning message if the module file (.blade or .php) does exist
    • Tidying up the module library for rendering the include files for module templates
    • Users, who have access to templates, can now view the template of any module via the edit area of modules
  • Updated composer packages
  • Updated directory name for “tests”, inside “app/hummingbird”, to camelcase
  • Search no longer looks at Searchable items in BOOLEAN mode – gives a better rank indicator for related items
  • Images (in page content through WYSIWYG) can now be inserted in a better way and also includes captions (wrapped in figures and figcaption syntax)
  • CMS login areas are no longer indexable by Google or other search engines

BUG FIXES IN v1.1.13

  • Page rendering has been found to fail, occassionally, if specific server variables are incorrectly set – or set at all.
  • Validation of taxonomy, by invoking the original button click (for actions related to content such as “save”, “preview”, “publish”) on any content publishing page
  • Page URL sluggification – when editing and creating bespoke URLs rather than the automatically generated permalinks


  • All sites will need to have their config files updated to have “version” removed. If config files are published, then make a copy of site config, re-publish and then apply previous settings and then upload
  • Upload new composer.json, making sure you maintain the original client composer packages. Some clients may have additional packages in use (backup and compare before upgrading)
  • /app/hummingbird/tests folder needs to be renamed to “Tests”

Release Date: 2 March 2020
Release Notes: A small core update for planned system maintenance and functionality.

WHAT’S NEW IN v1.1.12

  • Ability to clone page templates for page/post content.

BUG FIXES IN v1.1.12

  • Issue with images uploaded with the incorrect orientation. CMS now rectifies this.


Release Date: 4 February 2020
Release Notes: This release features a range of updates aimed at improving the current system by means of adding, updating and removing functionality. We’ve also fixed a few bugs (see below).

WHAT’S NEW IN v1.1.11

  • New command for cleaning the search table
  • Ability to store Emoticons in the CMS content areas (Pages, modules+module templates as well as page templates) – see upgrade notes
  • Pages which are no turned off, or deleted, are removed from the search index
  • Pages can be retrieved, for navigational purposes, based on whether they’re allowed to be shown, or not.
  • Added a scope query for retrieving items and whether they’re set to show in the nav (Yes, No or all).
  • Page template (functional) ordering is now ordered by name
  • Maintenance mode upgrades to remove dependancy for manual files to be created (.maintenence) for bringing websites down
  • Removed timestamp from all uploaded media items
  • SoftDeleting traits are now no longer supported:
    • Menus and menu items. Menus, when deleted, will have menu items purged automatically.
    • Modules and Module templates – all deleted modules/templates will be deleted permanently. Please backup your system before upgrading

BUG FIXES IN v1.1.11

  • Temporary fixes ready for the search table to improve efficiencies and how it queries the search table
  • Pages entering the search table when they’re not published
  • HTML not rendering shortcodes on rendering plugin views
  • Fixed findImage() function to stop errors being thrown if an image doesn’t exist or is it not retrievable
  • Breadcrumb issue, for incorrect URLs, causing the site to crash when rendering breadcrumbs
  • Issues around rendering theme views and duplicating page content.

If you are upgrading from an earlier version please make sure your files and databases are backed up. The following instructions will allow you to upgrade your settings, if you want to.

  • Emoticons update: If you’re DB_CHARSET or DB_COLLATION is not “UTF8MB4”, then emojis will not store.

Release Date: 28 August 2019
Release Notes: Planned system maintenance featuring new stable Core updates and bug fixes.

WHAT’S NEW IN v1.1.10

  • New Model for saving/retrieving MetaData (first phase)
  • Terminology for Article areas in Page edit
  • Moved summary box, to below page content in Page edit
  • ModuleTemplate Controller @postAdd – updated validation to check the name as this was not storing unique names.
  • Module relation to Pages has been removed (never existed)

BUG FIXES IN v1.1.10

  • Help block fell outside of form element, in Module edit
  • Empty and commented code, to keep it clean, in Module edit


Release Date: 30 July 2019
Release Notes: Planned system maintenance featuring new stable Core updates and bug fixes.

WHAT’S NEW IN v1.1.9

  • Page excerpts/summaries can now be added
  • Page content builder has been updated to clean the template when retrieving new page templates
  • Permission listings to only show when a filter permission is selected


  • Incorrect/Duplicate keys and settings appearing in modules
  • Issue where categories can’t be removed if we’re removing a single category from the relationship.



System Critical

Item (in order of priority) Notes Business case Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
Progress Notes
PHP 7.2 upgrade Investigate L4.2 upgrade via: Interoperability and system critical Y1-Q1/Q4
System critical Upgrade PHP Framework (with or without PHP 7.2 upgrade) In testing In progress Core CMS is currently being tested for all PHP7 related update issues.

Plugins will need testing before we can successfully release this.

ETA: Before Y2-Q1 (August 2020).

System testing 1. 4 stages of testing should be observed:
o Unit Testing
o Integration Testing
o System Testing
o Acceptance Testing
Throughout all cycles as we make the CMS more robust and easier to test/deploy
Upgrade PHP Framework (with or without PHP 7.2 upgrade) 1. Upgrade to L5.5 or L6 (with or without PHP 7.2 upgrade)
o L5.5 is supported until August 30th 2020 (Bug fixes until August 30th 2019)
o L6 is the new Long Term Support (LTS) and is supported until Sept 3 2022 (bug fixes until Sept 3 2021)

Potentially done with/out PHP 7.2 upgrade

Interoperability and system critical Y2-Q4 Not essential right now, but as part of a bigger Core overhaul in Y2 as we’ll be going straight from L4.2 to L6 or L7 – skipping out versions of Laravel all together.

Functionally Critical

These elements effect a lot of areas of the system and can do with looking at and made more robust to provide that necessary functionality.

Item Notes Business case Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
Progress Notes
Loading System/Plugin Settings Currently the site can load system/plugin settings erractically causing many connections to the database. We need to load all needed settings at the first load and then access them through a secure interface Y2/Q4
Media Centre Upgrades 1. Allow uploading globally and from within any page

2. Configurable settings for uploading media items

3. Remove trailing characters on upload

4. Delete and purge tools

5. Move resources between collections

User experience and expectation to be able to upload resources from content pages. Y2/Q1-Q2 Moved to Q2 as we’re currently focusing on PHP7 as well as fixing any issues that occur through all systems.


Updating Existing Functionality

Item Notes Business case Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
Progress Notes
Updating password encription Effects:
o Pages (password protected)
o Settings (certain plugins)
Security and integrity Y2/Q2 Still progressing – but moved to Y2/Q2 from Y1/Q1
1. Alert panel to confirm delete
2. On page refresh, remember pagination/search/filter details rather than returning back to page one (1).
User experience and expectation to be able to upload resources from content pages Y1/Q4 Y2/Q1-2 Alert panels are currently in testing and are due to be released imminently.

Page refresh has been moved to Y2/Q1-2

Activity Logs Loading issue (for some clients). System failure Y1/Q4 Investigations into this area are ongoing.
SEO Management Rather than being hardcoded, this will be system based. To include:
• No Indexing
• OpenGraph
• Twitter Cards
• Sitemapping
System performance relating to SEO Y1/Q4 Basic overhaul of SEO have begun so that sites can have automatically generating
Taxonomy Management Show deleted and purge deleted categories User experience and expectation Y1/Q4 TBC.
WYSIWYG Editor Plan and decice what WYSIWYG editor will be used going forward. Current editor is Redactor Y2/Q1-2 Moved to Y2.
User / Role Management 1. Improve the styling/layout of permissions especially around filters (e.g. Pages/Categories)

2. Deleting users means you can’t re-add them

User experience and expectation 1. Y2/Q4 Styling and any layout changes are now on hold until CMS re-design has been completed.
Deleted user re-instate has been completed (v1.1.13)
Other (non-categorised) 1. Storing emojis in the database System failure Done Completed in v1.1.12

Extending Existing Functionality

Not really new things but things we could do with adding into HB3 to provide more functionality.

Item Notes Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
Progress Notes
Automatic Core Updates Deploy HB3 version updates automatically. Should be done with backups. Y2/Q4
Core vs Plugin Checks (before installing) The version of the CMS that the plugin is compatible with Y2/Q4
Plugin Dependancy Checks (before installing) For example: Ecommerce Plugin requires: Customers, Transactions plugins (for example) Y2/Q4
Page Content 1. Add clone button (for current page) Y2/Q2 Moved to Y2


Administrator User Experience

Functionality that can be added to, to help improve the user experience and content management.

Item Notes Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
Progress Notes
CMS: Standardised Content Areas To stop bespoke pages being created or needed.
Will be used across the board to keep uniformity
Y2/Q4 On hold until CMS re-design and platform updates have been planned and documented.
CMS: Standardised Search Filters Filters per area (can be registered) – see Teamwork filters.
Default would be “Search”
Fields can be added/removed.
Y2/Q4 ^
CMS: Extra “non-bespoke” data attached to content 1. Attributes (standard key > value)

2. Advanced: Plugins to determine what fields show/appear. Can be new/custom.

Y2/Q4 ^
Permissions (Registering/Filtering/Validating) Move the permissions outside of database control and register these on system/plugin load. Y2/Q4
Theme handling Theme handling Theme functions for handling themes, versions and registering resources:
• JS / CSS – can then return with the Theme Version attached for ease of keeping cache up to date.
• Assets
• Theme paths
User/Role Management • Add ability to filter by role
• Sort users alphabetically
• Add ability to sort by email, role, last logged in, latest activity

Admin Theme – HTML and layout only

Item Notes Business case Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
Progress Notes
Complete design process with appropriate designs, sketches and frameworks used. Build template pages following the HTML development process so we can play around with new elements easily.

For example: http://webapplayers.com/inspinia_admin-v2.9.2/

All components should be designed/built before integrating with HB3. Such as:

• Build properly (SASS, latest version of BS and JS)
• Fix theme styles
• Standardise views
o Breadcrumbs
o Site content

User experience and expectation

Standardisation will improve how the functionality evolves



Brand new functionality

Item Notes Business case Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
Progress Notes
Core/System/Theme/Plugin Documentation Provider User and Developer documentation so that we can expand on our developer base (if needed) or allow the team to install with ease Collaborative innovation and client expectation Ongoing
Access to Hummingbird CMS System settings to restrict access to the CMS by IP address(es) and IP ranges. Y2/Q3
Automatic autosaving website content Autosave areas that can be saved (pages, news) where it uses versions Y2/Q3
Dashboard widgets Register, display widgets which can be customised by each user (and by permissions) as to what they want to see.

For example:
1. Ecommerce admins may want to see new orders
2. Fundraisers may want to see new donations

HOLD On hold until CMS re-design and platform updates have been planned and documented
Error management 1. Add a way of tracking (unique) URLs where resources have been accessed from, and thrown errors, as an external log. Y2/Q2-3
Login/Forgotten Password in CMS 1. Forgotten password requests:
a. Show validations errors
b. Email user with new link to verify and reset their password
i. CMS Super-Admins are sent a copy of the email to track all outgoing requests
Media Centre Upgrades 1. ZIP downloads of collections

2. Allow users to have a set-working directory. Therefore restricting access to a particular collection.

3. Uploading
a. Collection based on permission preference

4. Allow users to download media items from an external URL

5. If import directory exists and files exist then allow import button to show, which will allow users to specify with collection items can go into.

1. Y2/Q1
Modules and Module templates 1. Deleting / purging content automatically when deleting modules/templates

2. Move content into separate table (rather than serialized)

User experience and expectation Y2/Q1 Modules and templates now delete all related data when needed – see v1.1.13
Template/Page Builder 1. Restructure for UX and UI (needs an overhaul as currently very buggy)

2. Support for different grid systems (Bootstrap, Grid, Skeleton etc)

3. Registering widgets to embed

4. Inserting page builders on to other content pages:
a. Pages
b. Events
c. News
d. Shop etc…

User Profiles Allow users to:
• Upload cover image (only on their dashboard of profile and edit facility)

• Upload profile image (gravatar.com will be used by default)

HOLD On hold until CMS re-design and platform updates have been planned and documented
System Request Queuing Reduce time between doing concurrent actions. Such as connecting to thankQ, sending bulk emails etc.. Interoperability Y1/Q4 – Y2/Q1 Currently being built and just needs testing and setting up for each client

System – Settings

New/Existing settings that we can do with adding the CMS for Super Administrators (non-critical):

Item Notes Timeline details i.e. Y1 Q1-4,
Y2 Q1-4.
• Default: ‘/usr/local/bin/composer’
• Notes: In the event that composer is not in that location
• Example: /opt/plesk/php/5.6/bin/php /usr/local/bin/composer install

o PHP location
• Default: ‘php’
• Notes: Can be overridden for servers using more than one version of PHP
Example: /opt/plesk/php/5.6/bin/php /usr/local/bin/composer install

o Setup From Name
o Setup From Email
o Setup reply-to (not required) (for Core Configuration)
CACHE SETTINGS • We also need to allow users to clear cache and temporary files such as:
o /app/storage/cache
o /app/storage/meta
o /app/storage/sessions
o /app/storage/views
o Website Title
o Website Meta
o Website Keywords
o Backend URL
o Timezone

• Change password expiry time (none by default)

1. Y2/Q1-2
2. TBD
WEBSITE SEARCH SETTINGS • Customise and adapt website search settings to enhance search results
o Content matches
 Title: +1%
 Content: +5%

o Content freshness
 Less than 1 month: +10%
 Less than 3 months: +5%
 Less than 6 months: +2.5%
 Older than 6 months: +1%
 Older than 12 months: 0%

o Category Match – 5%
o Tag match – 10%
o Item Weight – 1 (default)

These values will be customisable by each client.

PASSWORD STRENGTH/GENERATOR A strength calculator to be used as well as a list of system wide unaccepted passwords for both frontend and backend. Y2/Q3