Archive for July, 2021

Reset Invoice Counters

We’re giving administrators the ability to reset invoice counters in MIDAS v4.28.

Previously, invoice counters could only be reset through the optional MIDAS API.

What are invoice counters?

Each time a new invoice is generated or created in MIDAS, it is assigned a unique incremental number. This is prefixed with an editable string of characters.

So for instance, if the invoice prefix was set to be “MIDAS”, then the first invoice added in MIDAS would be numbered “MIDAS0001“. The second invoice would be automatically assigned “MIDAS0002“, the third “MIDAS0003” and so forth.

Separate counters and prefixes exist for both deposit and cancellation invoices too, as well as for credit notes.

Whilst their prefixes can be changed at any time, the numeric “counters” themselves are internal and couldn’t – until v4.28 – be easily changed.

That meant that if your invoice counter was up to 0123 and you wanted to change prefixes from “MIDAS” to “TEST”, the next invoice to be generated would be “TEST0124”.

Why you might wish to reset a counter

Some of our customers commented that it would be useful to be able to “reset” invoice counters back to 0001.

This is particularly useful for users who first wish to test the invoicing capabilities of MIDAS by creating some example invoices. Then once they’re comfortable with the invoicing features of MIDAS, start using them for “real” invoices.

Until now, the only way to reset an invoice counter was via the optional MIDAS API.

For MIDAS v4.28, we’re providing the means to reset an invoice counter without requiring the API.

Administrators can reset an invoice counter at any time via MIDAS Admin Options → Manage MIDAS → Database → Database Tools → Reset Invoice Counter.

The Reset Invoice Counter screen looks like this:

Reset Invoice Counters in MIDAS
Reset Invoice Counters in MIDAS

The screen displays the current counter for regular, deposit, and cancellation invoices, as well as for credit notes.

To reset any of these counters back to 0001, simply click/tap the corresponding “Reset” button.

To prevent the chance of this resulting in duplicate invoice numbers in MIDAS, counters may only be reset if no other invoices/credit notes with same prefix exist in the database.

Therefore, before resetting a counter it’s recommended that you either remove all existing invoices with the current prefix, or change the prefix to something else.

Invoice/Credit Note prefixes may be modified via MIDAS Admin Options → Manage MIDAS → Invoicing.


Watch for Venue Availability

In MIDAS v4.28, we’ve introduced a new “Notification Center“. In earlier versions of MIDAS, this functionality could be found within the “My Messages” screen.

As part of the new “Notification Center”, we’ve added a brand new type of “Watch” notification. “Watch” notifications allow you to be automatically notified whenever certain activity occurs within your MIDAS booking system.

For example, you may wish to be notified whenever a new booking is added to a particular venue, or when a particular type of booking is modified. You may also wish to be notified whenever certain “consumable” resources are running low.

From MIDAS v4.28 you can now create Watches for “Venue Availability”.

Receive notifications when a space becomes free and available in MIDAS
New Venue Availability Watch option in MIDAS v4.28

We know it can be frustrating when you go to book a room and find that it’s already been booked.

Well, wouldn’t it be great if MIDAS could automatically notify you should that timeslot become available again?

That’s exactly what Venue Availability watches allow you to do!

Simply select a currently occupied date, room, and time slot, add a new Watch, and MIDAS does the rest!

Should the unavailable time slot become available again (for instance, if the existing booking is moved or deleted), MIDAS will automatically notify you.


New Notification Center

For MIDAS v4.28 we’ve overhauled the “My Messages” screen, and renamed it to the “Notification Center”.

All the previous functionality of “My Messages” has been retained, but we’ve given the screen itself a bit of a “facelift” to de-clutter and simplify things.

We’ve even introduced a new “Watch” option… but more on that later.

For users with the “Can use Notification Center” permission, their Notification Center may be accessed via the new “bell” icon in the MIDAS toolbar.

Here’s how the new Notification Center itself looks:

The new "Notification Center" (formally "My Messages") in MIDAS
The new “Notification Center” (formally “My Messages”) in MIDAS

The Notification Center comprises three components:

  • Messages
  • Reminders
  • Watches

The numbers in the upper right corner of these component’s icons denoted the number of notifications currently in each section. Clicking the corresponding icon toggles the display of notifications for that particular section.

In the lower right corner of each icon, there’s a smaller icon that allows you to add/configure each section.

Messages

The “Messages” section displays internal messages you’ve received from other users in your MIDAS system. The “+” icon allows you to leave a message for another user:

Leave a message for another MIDAS user
Leave a message for another user

For more information on messaging another user, please see the Help Documentation.

Reminders

The “Reminders” section displays both booking and custom reminders you’ve set. To set a new booking reminder, simply select a booking in the Booking Grid, and then “Add Reminder”. To set a custom reminder, click the “+” icon near the bottom right of the “Reminders” icon in your Notification Center:

Set yourself custom reminders in MIDAS
Set yourself a custom reminder

For more information on Reminders, please see the Help Documentation.

Watches

The “Watches” section displays watch notifications. These are generated when certain activity that you specify occurs within your MIDAS system. The “cog” icon adjacent to the “Watches” icon is used to configure your Watch notifications.

Configure Watch notifications in a MIDAS booking system
Configure “Watch” notifications

There are three types of Watch notification available:

  • Bookings
  • Consumables
  • Venue Availability

Bookings” allows you to monitor and be alerted to new activity in certain venues, and/or for certain booking types, and/or for certain resources.

Consumables” allows you to monitor levels of your consumable resources.

Venue Availability” allows you to be alerted if and when a currently unavailable time slot for a given venue becomes available again. This is a brand new feature introduced for v4.28, which you can read more about in this post.

For more information on Watch notifications, please see the Help Documentation.

Notification Center Settings

You can adjust your Notification Center settings from within the Notification Center via the “cog” icon in the upper right corner.

MIDAS software notification center
Notification Center Settings

These settings allow you to control how and when you receive notifications from your Notification Center.


Migrating to MariaDB from MySQL

Migrating to MariaBD from MySQL

As of 4th July 2021, all our cloud-hosted customer’s MIDAS databases have been migrated across from MySQL to MariaDB.

MariaDB What is MariaDB?

MariaDB is a community-developed “fork” of the popular MySQL database engine.

It was created by one of the original founders of MySQL, who forked it over concerns surrounding MySQL’s acquisition by Oracle Corporation in 2009. These concerns centered around rumors that Oracle were considering killing off MySQL to prevent competition with their own “Oracle” database. In the end, that didn’t actually happen and MySQL continues to remain available. But MariaDB continues to gain in popularity year on year, and has a number of advantages over MySQL.

Why migrate from MySQL to MariaDB?

  • MariaDB offers improved performance over MySQL in many scenarios.
  • MariaDB is community-driven, whereas MySQL is owned and developed by Oracle Corporation.
  • MariaDB has 268 contributors vs 83 contributors to MySQL *
  • MariaDB is arguably in more active development. (MariaDB has 193,318 code commits – the latest was today, MySQL has 163,534 – the latest was 3 months ago *)
  • MariaDB continues to gain in popularity.

* correct at time of writing

Now, we’ve been thoroughly testing MariaDB in our MIDAS development environment for well over a year now. In fact, it’s now become our “preferred” database engine over MySQL. We now only use MySQL for testing purposes. Because we now develop primarily using MariaDB, it made sense to move cloud-hosted customers over to this database engine too.

Will I notice any difference?

Our cloud-hosted customers may notice small performance improvements when performing certain operations in their online booking system. Other than that customers shouldn’t notice any other obvious changes.

That doesn’t mean that there aren’t any additional benefits to MariaDB though! One of the things we’ve now been able to do in to MariaDB is implement “data-at-rest” encryption.

Data-at-rest encryption

When it comes to encrypting data send over the internet, there are broadly two different types of encryption; encryption in transit, and encryption at rest.

Encryption in transit deals with the secure transmission of data between your browser and a server. For example, if you submit a form on a web page, the data you entered needs to be transmitted (or “sent”) to a server. If the form was on a web page severed from a URL beginning “http://”, the data is transmitted unencrypted to the sever. This means that they data you’re submitting could potentially be intercepted and read during transit.

A form submitted on a website accessed over httpS, with correctly configured security certificates, will mean than the data will be encrypted in transit to the server.

All of our cloud-hosted MIDAS systems are accessible over secure https only. We support the latest standards and protocols (including TLS 1.3), and disallow older/obsolete/insecure protocols (like SSL 2/3, and TLS 1.0/1.1). If you’re interested, you can view our A+ rating on SSL Labs.

Encryption at rest on the other hand deals with how data is actually stored on a server (i.e. on a physical disk). Data may be encrypted in transit, yet not encrypted at rest, or vice versa.

The most secure systems are those which encrypt data both in transit AND at rest.

As of 4th July 2021, we’re pleased to announce that all our cloud hosted customer’s databases are also now encrypted at rest too!

What about self-hosted customers?

This month’s migration from MySQL to MariaDB affects cloud-hosted customers only.

Self-hosted customers have a choice between either using MySQL or MariaDB for their MIDAS database.

We have no plans to discontinue support for MySQL in the foreseeable future, and will continue to provide support to customers who are using MySQL for their MIDAS booking systems.