Emergency Maintenance

Update: Maintenance was completed successfully at 6:13am.

Following this morning’s problems we’ll be performing some emergency maintenance tomorrow (11th May 2012) to ensure the same problem doesn’t affect services again.

At some point during 4.30am until 6.30am (GMT+1) repository access will be unavailable for around 1 hour for some users within Codebase. While repositories are unavailable, you will receive a message saying your repository is temporarily unavailable. We will also be performing some maintenance on our database servers, which may result in some servers being unavailable for a few moments.

Today’s issues – 10th May 2012

This post is only relevant to users of Codebase and Deploy. No other services were affected by these issues.

Today at 12.04pm, our monitoring system alerted us to some issue with one of our storage nodes. The issues initially presented themselves as extremely high load on the node in question however we were unable to access the server in order to perform any checks. Following our internal procedures for such an event, we proceeded to investigate any causes for high load and were unable to find any reason for this on our application servers.

At this point, we had to consider the possibility of a more serious error on the storage node in question. We despatched a team to the datacentre to investigate the host and discovered the server was displaying the same symptons as those experienced around 200 days ago. This meant we needed to hard reboot the server which, including a disk check, took around 25 minutes to complete and the service was back to normal at 13:15pm.

Unfortunately, there were a number of points which could have been performed better which we are already working to improve:

The failure of a single storage node had too much impact on the Codebase application. In the event a failure of a storage server, Codebase is designed to handle this by disabling repositories which are located on that server to avoid congestion on our frontend web processes. Unfortunately, this did not kick in as desired and our web processes quickly became saturated with requests for data stored on the unresponsive storage node. We have already implemented procedures to ensure that un-affected repositories remain accessible in the event of any future failures of this nature.

We were misled by our monitoring when we assumed high load on the server. The process to determine the root cause of the failure was slowed down by investigations surrounding the failed node. We have implemented internal procedures to ensure that detecting issues such as these is faster.

Emergency Maintenance. We are going to be undertaking some emergency maintenance tomorrow morning from 4.30am until 6.30am (GMT+1) which will mean that repository access is unavailable for around 1 hour for some users within Codebase. When repositories are unavailable, you will receive a message saying your repository is temporarily unavailable.

I’d like to take this opportunity to apologise for any inconvenience caused by these issues and assure all our customers & users that, as always, we’re working tirelessly to ensure the Codebase platform remains fast & stable.

CSV Ticket Export

We’ve recently added the ability to export ticket reports as CSV file. Just create a ticket report using the quick or advanced search tools as normal, then click the new link at the bottom of the table which will export all of the selected tickets and columns to a CSV file.

There you have it. Your tickets exported as a CSV file.

Updates to Time Tracking

Today we’ll be introducing some changes to the way that billed time sessions work and at the same time we’ll be deploying more flexible ways to filter your time sessions.

Billed Time Sessions

We’ve had frequent requests for billed time session groups to be account-wide, so that time sessions from different projects can be grouped together under one billed group for billing purposes.

Your time session groups will now be able to contain sessions from any project in your account.

Account Wide Filtering

As well as making time session groups account-wide, we’ve also improved the filtering ability to filter time sessions from the global report. Just hit the ‘Filter Time Sessions’ button and you’ll be able to search on Occurred On, User, Company, Ticket Number, Milestone or Billed Group.

We hope these updates make time sessions easier to use and more flexible.

Live updates on Sirportly ticket views

We’ve just pushed a new feature out to Sirportly which should make working with a team in Sirportly much easier. When you’re viewing a ticket, we will automatically keep an eye for any changes and make sure your browser is aware of them too.

  • If the ticket properties change while you’re on this page, the appropriate details will be updated live in the tab banner at the top of the page.
  • If another user or the customer posts any further information to the ticket, it will be automatically inserted into the page.
  • If another member of staff opens up the same ticket as you, a small alert will be displayed on the page to both users letting them know who else is viewing the ticket.

Temporarily Disable Users

One of the more frequent feature requests we get for Codebase is the ability to temporarily disable users. Starting today you’ll be able to do just that. The user management page has a new “Disabled” button nestled between “Edit” and “Delete”.

Selecting this link will immediately log a user out and revoke their access to the web interface, repository acces, RSS feeds and the API. Additionally, a user will not receive any watcher notifications while they’re disabled.

To re-enable a user, just go back to the user management screen and click “Enable”.

Say hello to Dan #2

We’ve just taken on our second Dan, who joined the aTech family a few weeks ago. Dan (Quinney) is joining us as a backend software developer and will be working on improving a number of our existing products as well as working directly with customers on the support side of things.

He’s already got stuck in working on the new Sirportly WHMCS module and is now furiously working away at creating import tools for it too!

If you need support with any of our products, you’ll probably be hearing from him soon!

Quickly login to aTech services

I’d like to share a quick #protip with you which will allow you to easily login to your aTech services directly from your bookmark bar without needing to constantly enter your username & password.

If you use aTech Identity to login to our services, you can follow the steps below to add links to your browser’s bookmark bar.

  1. Head over to identity.atechmedia.com and login with your aTech Identity username & password. Ensure that you click the ‘Remember Me’ checkbox.
  2. The aTech Identity page shows all the services which are assigned to your account. Simply drag one of these links to your bookmark bar.
  3. Click the link to quickly login to the selected service. This will achieve the same behaviour as clicking on URLs from the aTech Identity bar. within our applications.

All new “remember me” in Sirportly

We’ve just pushed a new feature to Sirportly to change the way user’s can remember their login in their browser. For the last few years I’ve continuously been frustrated at myself when I login to a website and forget to click the ‘Remember My Login’ button and it being too late to do anything about it. In Sirportly, we’ve done things a little differently… as soon as you login you will be asked whether you wish to remember the login on your computer or not in a little dialog.

As soon as you click “Remember Me” the dialog will disappear and we’ll remember your session for the next 6 months before you will be asked to re-confirm your credentials.

Ensuring many browsers can be remembered

In this modern day, a user doesn’t usually just use one browser (or computer) to access the web – for example, you may use an iPad or other mobile device to access your Sirportly account as well as your normal web browser.

A problem which many websites suffer from is only allowing you to have one browser associated with your account which means as soon as you login and remember your session with another browser, any other browser you have done this on will be immediately invalidated. This mostly happens because developers store a token on your user object which is overridden with a new token each time you press “Remember Me”.

In Sirportly, we store our tokens (in fact, we don’t store plain-text tokens at all, we just store hashes of them) in a separate table with a link back to your actual user account. This allows us to easily see which tokens are activate, along with other information such as the last user agent & IP address to authenticate with the persistence token.