Inside a software publisher’s workshop: new in BlueMind and ongoing projects – part.2

Halfway through this atypical year, we thought we’d take stock of BlueMind’s latest features and ongoing development areas in a two-part series.

Here is the second and final part of our journey into BlueMind’s production workshop (read part 1 again). The core of our activity is about improving and consolidating our solution – a task which typically accounts for 70% of any software publisher’s daily activities. Among our recent or ongoing endeavours, we will go over:

  1. Calendar upgrades
  2. Progress on BlueMind’s new webmail
  3. Baseware maintenance and update
  4. Improvements to the TICK monitoring tool
  5. Shared folders on mobile devices
  6. Password expiry
  7. Performance improvements

.

1. Calendar upgrades

Like shared mailboxes, shared calendars can seem like a basic feature, on the surface. In fact, it’s a very complex functional implement that covers from recurring event management (including exceptions) to share permissions and delegations, to meeting and invitation workflows and synchronisation, and has to work across a wide range of devices and software (pc browser, mobile phones, Outlook, etc.), each with its set of models and non-editable constraints.

One of the challenges for a calendar application is being able to offer a wealth of features, all of which must be compatible with different software clients while staying user-friendly and straightforward.

To do this, we’ve made several upgrades and streamlining improvements:

  • A new event duplication feature – for simple events, meetings or a series of events.
  • The ability to save events as drafts – this enables users to prepare an appointment or meeting and save it without sending invitations to complete or finalise it at a later time. This replaces the ability to accept an invitation without sending a reply which users found confusing.
  • Improved and simplified event series management (recurring events) – all actions on a series of events (edit or delete) can now be applied to all the events in the series, that event and subsequent instances, or that instance only.
  • Optimised external calendar syncing with Google calendar.
  • From BlueMind 4.3, shared calendars are available on mobile devices again. As the ActiveSync protocol doesn’t include the notion of shares, we show shared calendars as user calendars.

.

2. Progress on BlueMind’s new webmail app

We’ve been working on a makeover of BlueMind’s web interface for two years, starting with Mail. This project, with a dedicated team of ergonomics and graphics specialists and developers, follows a UX-based development process. A mockup of all the interfaces, including features and specifications, was created ahead of the development phase.  

A beta version of our new webmail application will be available in the fourth quarter of 2020 – it has already been in production at BlueMind for a few months – and will include, in addition to standard features:

  • A new design with a new state-of-the-art streamlined interface,
  • Responsiveness – designed for and adapted to mobile devices (with mobile-specific behaviour),
  • BlueMind technological standards – Java, Javascript and API (PHP discontinued),
  • Offline mode,
  • API webservices based solution (IMAP discontinued),
  • Transition management – by groups of users, concurrently with the current app, changeover through an option in BlueMind,
  • Different display modes – list view or conversation view.

.

3. Technical upgrades, baseware maintenance and update

Software evolution – i.e. keeping technical architecture to the state of the art, resolving technical debt and supporting new Linux versions or components – is any software publisher’s continuous driving force, in particular for BlueMind whose solution is made up of multiple components. 

Some recent upgrades include:

  • Support of new distributions – Debian 10, Ubuntu FOCAL (20.04 LTS), RedHat Entreprise Linux 8 and CentOS 8. Supporting new distributions is a substantial task that involves:
    • Ensuring and deploying the correct component versions,
    • Testing components as well as the overall software,
    • Adapting to OS specificities such as startup systems,
    • Building everything into BlueMind’s continuous integration chain as part of deliverables and tests for each construction of the solution,
    • Including the new distributions in updates.
  • PostgreSQL has been updated from version 11 to version 12. This update brings several performance improvements, including to the partitioning system BlueMind now uses.
  • netty 4.1.51 and Vert.x 3.9.2 have been updated (with BlueMind patches).
  • A new component enables SMTP email injection.
  • JDK has been updated to version 8u252.
  • LDAP directory API has been updated to version 1.0.3.
  • NGinx has been updated to version 1.18.0 and systemd is used for the bm-nginx package.
  • HTTP2 support.
  • bm-locator” has been removed. This component is no longer used and automatically deleted.
  • “external-url” is no longer configured through /etc/bm/bm.ini. Its value is edited in the database through the admin console or bm-cli sysconf.
  • The default domain isno longer configured in/etc/bm/bm.ini. The “default domain” value is now applied without requiring a restart.
  • Automatic technical domain management for each domain in order to facilitate changes to domains over time (new name, etc.).
  • Automatic Edge server management – BlueMind now supports the complete configuration of Edge servers – the nginx server is configured automatically. Existing installs are not automatically managed by BlueMind in order not to interfere with operations. For BlueMind to manage an edge server, the “bm/nginx-edge” tag has to be added to the server using the admin console.
  • Web Application (Calendar, Contacts, etc.) – We now use”Service Workers” to cache web application files. The former “Application Cache API” system is deprecated in recent browsers.

.

4. Improvements to the integrated TICK monitoring tool

BlueMind incorporates a monitoring console that watches the solution’s internal operations to help troubleshoot the application and its components. You can read our full article on monitoring and watch our Technical Director’s conference on the subject or, if you’re pressed for time, here’s a  2-minute summary!

This tool is continuously improved in response to user feedback. This includes:

  • Updated TICK monitoring components –Telegraf 1.14 ; Chronograf 1.8.4 ; InfluxDB 1.8.0 ; Kapacitor 1.5.4
  • Improved Mail Insight metrics – Active EAS session count has been added.
  • bm-sds-proxy memory monitoring.
  • A YSNP metric to find out authentications’ confirmation response time.
  • A dashboard for viewing the status of internal caches used by BlueMind.
  • A dashboard for object storage status monitoring (SDS).

.

5. Shared folders included in mobile syncing

The Exchange ActiveSync protocol doesn’tinclude thenotion of shared calendar or shared mailbox. This feature had been added in BlueMind version 3.5 by showing shared items as though they belonged to the user. This feature is now also available in BlueMind 4.3. We’ve added the possibility to subscribe to shared mailboxes, as well as shared calendar or address books.

.

6. Password expiry

BlueMind now includes a password expiry feature. When it is enabled, users are forced to change their password when it expires. A password can be expired with immediate effect by an administrator to force a user to change it. Our documentation describes in detail how this feature works and how to use it.

.

7. Performance improvements

Improved performance is a constant driver for BlueMind as it has to be capable of supporting ever-larger installations while keeping enterprise email collaborative features running smoothly (unlike telecommunications operators’ email applications).

Significant improvements have been made to object storage, as well as to Cyrus IMAP for large installs.

Before mobile devices are synced with BlueMind, all changes made to address books, calendars, etc. must be saved. The related information is saved as database in the t_container_changeset table. On large installations, this table might become big enough for users to perceive performance issues. BlueMind 4.3 partitions this table into smaller sections in order to maintain good performance levels while handling a large amount of data.

The bm-cli command line tool has been optimised to reduce startup time.

.

Conclusion

That’s it for our summer round-up of BlueMind’s production workshop activities. A software publisher’s work never stops. Keeping technical architecture to the state of the art, resolving technical debt and supporting new Linux versions or components, we’re always hard at work on a multitude of updates and upgrades.

To discuss our ongoing or upcoming endeavours, click here!

Happy back-to-work!

Leslie Saladin

Leslie Saladin

Share this article

Leave a Reply

Your email address will not be published. Required fields are marked *

84 − = 80

Subscription to the newsletter

One e-mail per month to keep up to date with all BlueMind news