" vlog "


Warning: Illegal string offset 'paged' in /srv/users/serverpilot/apps/mattstone/public/wp-content/themes/blogify/archive.php on line 55

Warning: Illegal string offset 'tag' in /srv/users/serverpilot/apps/mattstone/public/wp-content/themes/blogify/archive.php on line 55

How to add Microsoft Office 365 Shared Calendars to Apple Calendar for OS X

I’m not the biggest fan of Microsoft products, anyone who knows me will tell you how much I love my Apple products (ironically just 6 years ago I was an Apple-hater but am now one of their biggest fan boys!). The office I’ve been working at for the past year uses Microsoft Office 365 as their email provider, I helped them migrate from a 3rd party hosted Exchange solution to Office 365 and it hasn’t been without some really odd issues that defy common sense. I’m talking about issues that most Office 365 administrators have experienced, things that don’t work as common sense would expect such as the Office 365 Shared Calendars which are great as long as you are using Microsoft Outlook as your client.

We have 9 Mac users in the office, most of whom have switched recently from Windows and are happy to use the Outlook client to access their emails and calendars, but a few of us prefer using the native clients on OS X including myself. I recently switched from using Sparrow to Apple Mail and have struggled to get my shared calendars working in either Apple Calendar or my preferred client, Sunrise Calendar (despite Sunrise being owned by Microsoft it still doesn’t support shared calendars, a trait shared with the Microsoft Outlook for iOS/Android apps), so I’ve spent some time working out how to this and decided to share the information as I found it difficult to find on Google.

Pre-requisites

I’m using OS X 10.11.3 so the instructions are based on the version of Apple Calendar that ships with it but you should be able to apply these instructions to older versions of Apple Calendar/iCal although be aware some of the file paths might be different. You will also need Microsoft Outlook setup on a Mac or Windows machine with an account that has administrative access to Office 365 as this is needed to change the permissions on your shared calendars.

Granting users Permissions on your Shared Calendar(s)

Even though you may have already given a user access to a shared calendar via the Office 365 Exchange Control Panel (if you haven’t it’s probably best to do this before going any further) this won’t provide them with permissions that Apple Calendar uses to add delegated calendars!

  1. In Microsoft Outlook right-click on the calendar you wish to access in Apple Calendar and click Sharing Permissions:
    Microsoft Outlook
  2. On the permissions dialog you will need to add your user(s) and select what level of permissions they will have (they will need at least Read > Full Details permissions):
    Microsoft Outlook
  3. That’s it! Now the user(s) can add this calendar to Apple Calendar (repeat these steps for each calendar you wish to add).

Adding Calendars to Apple Calendar

  1. Open Apple Calendar and go to Preferences, click on the Exchange account and click the Delegation tab:
  2. Click on the + button and then type in the name or email of the shared calendar. Don’t forget to tick Show.
    iCal_Setup_-_Step_3
  3. You should now be able to see your shared calendar in Apple Mail, but wait why can’t we change those automatically selected colours? It turns out either by design or a long-standing bug that Apple Calendar stops you from changing calendar colours on calendars you don’t own. See my next article below to see how you can manually set colours of your choice.

Next Steps: How to change colours on Microsoft Office 365 Shared Calendars on Apple Calendar for OS X

Sparrow Mail: Finally a replacement for this awesome (but discontinued) email app?

Update (23/03/2018): I no longer use Apple Mail as my primary email client, I’ve started using Spark (https://sparkmailapp.com) and whilst the early versions have been very buggy and frustrating it’s now a fairly stable app and reminds me so much of Sparrow in it’s simple interface and uncluttered views. I still recommend reading this article and make up your own mind but certainly check out Spark!

When I first entered the world of Mac in 2012 a friend recommended that I use Sparrow as my email client which at that point was one of the most popular email apps for OS X, as a long time Gmail/Google Apps user it was perfectly suited to my workflow and introduced me to a new concept called ‘Inbox Zero’.

I love everything about Sparrow. It has a nice simplified user interface that is reminiscent of Twitter (perhaps it’s name has some connection with that?), is quick to load and has some clever little features built in such as a Dropbox integration that allow you to automatically upload files and attach a public link inside your email instead of sending the file directly, great for getting around mail server attachment limits (alternatively you could use box.net for the same purpose). It also has great support for Gmail with label support and an archive button which moves your email to the All Mail folder.

Only 6 months after I started using Sparrow and it’s companion app on my iPhone the Sparrow team announced they had been acquired by Google, great you might think, now Gmail had a brilliant desktop app that would only be improved now they were behind it. Not so. Google have a history of buying out some great apps and services for the people that built them and the skills they can contribute to the Google Team.

So from that point to now I clung on to my Sparrow, I slowly watched my friends switch to Apple Mail, accepted the last minor bug fix update in October the same year, and then become the only person I know still using it.

That’s not to say I haven’t tried adopting a replacement, in no particular order here is a list of the clients I’ve trialled, bought or downloaded for free, that for one reason or another that I won’t go into detail in this post, have not replaced the features and User Interface which I know and love on Sparrow:

I’ve tried so many clients, and while I’ve really enjoyed using a few of them (Airmail, Mailpilot and Nylas N1 all came close) none of them have felt to me like they completely replace what I personally like about Sparrow. So until last week I’d accepted that I was going to become a bit like that person that we’ve all met who is still using a mid-nineties version of Lotus Notes while all his colleagues are all using Gmail or Office 365… that was until I decided it was time to force myself to change to a different client, and for me that was going to be Apple Mail! Part of this decision was influenced by the fact I’ve just rolled out Xink.io to automate email signature updates for our team and it only support Outlook for Mac and Apple Mail on OS X.

Just for a little background, I’m a reformed Apple hater who has become a complete Apple Fan Boy in a few short years, I’m constantly selling the benefits of the Apple eco-system to my friends, family and colleagues to the extent that I often get asked if I’m on commission! Despite this I’ve always bitched publicly about how much I hate the Apple Mail client even though I tend to prefer Apple’s own software over third party alternatives. Until recently I’ve felt that the team behind Apple Mail were stuck in the past and purposely have delayed making Apple Mail as good as the company’s other apps just to keep the old school Fan Boys happy, but all that has changed in the last 12 months.

Yosemite and El Capitan have brought some much needed upgrades and I finally think I’ve found my Sparrow replacement, albeit with some heavy customisation to make it look and feel more like the client I’m used to. There’s still a few features I can’t replicate without third party add-ons (Icon only Sidebar, Top Bar Notification Icon, Dropbox integration) but for now it will do until either someone brings out a client that better suits my needs or I decide to develop my own (unlikely to happen anytime soon)!

I’ve attached some screenshots below to show what my Apple Mail looks like in comparison to Sparrow:

AppleMail

Apple Mail, most buttons removed except for Sidebar Toggle, Compose, Reply All, Archive, and Delete

 

Sparrow Mail Client

Sparrow in it’s default configuration. Simple, concise and perfect for me!

The desk of Disney Fan

The life and times of a Disney fan…

I love Disney… there isn’t really much more to add here, I could end this blog right now and it would explain a large portion of my personality.

Like a lot of children I grew up watching Disney movies and was lucky enough for my family to make a visit to Walt Disney World in Florida in the spring of 1992. We visited all of the main Disney parks including Magic Kingdom, Epcot Centre, and MGM Studios (now known as Walt Disney Studios), we also visited Universal Studios, Busch Gardens, Seaworld (if the 7 year old me had seen Blackfish I’m sure I wouldn’t have visited), and a few other Florida landmarks that escape me.

My first experience of the Disney theme parks happened when I was 7 years old so no doubt is now seen through rose-tinted glasses but I’m confident that when I do make a return to Florida my experience will be just as magical, and will be the start of an annual pilgrimage for someone who finds everything Disney to be something magical.

Although it’s been 23 years since that epic holiday, I’ve filled the gap by visiting Disneyland Resort Paris on multiple occasions, in fact next month for our wedding anniversary myself and my gorgeous wife Dianne (see her blog at http://www.dianne-stone.co.uk if she ever gets round to posting to it!) will be celebrating our 2nd wedding anniversary at Disneyland Paris staying at Sequoia Lodge which in the lead up to Christmas is probably one of the best hotels to stay at with its mountain lodge theme.

This will be my 10th time at Disneyland Paris, and next year we are planning to visit Walt Disney World, we also want to make a visit to Disneyland, Anaheim (earlier in this blog you’ll see we drove Route 66 but for reasons which now allude me we didn’t visit the original Disney park and opted for the Warner Brothers Studio Tour instead!).

This upcoming trip to Disney comes at a time when Disneyland Paris is going through a transformation after being brought under tighter control by the Disney Corporation and is currently undergoing a massive refurbishment programme to update the rides for their 25th anniversary. I’m particularly excited about this as I often point out to my wife on our visits the lack of maintenance in this park that doesn’t ‘adhere’ to the Disney standards I become accustomed to in Florida in the early 90’s.

Laravel Forge Screenshot

Fixing the nginx $_SERVER[‘HTTPS’] issue on a Laravel Forge Load Balancer

Recently I’ve been experimenting with Laravel Forge and Linode to build a new server platform for the new CloudMonitor app I’m currently building (http://www.rockandscissor.com), and after a couple of attempts and quite a few support tickets to Taylor Otwell, Creator of Laravel and Forge, I’ve finally managed to configure a Load Balancer and 2 servers running a MySQL Master-Master sync, and using Unison to keep the web directories synced.

However I came across a problem which is fairly common on Load Balanced or Reverse Proxy setups that use SSL. The Load Balancer itself terminates the SSL connection on port 443 and the traffic is sent from the Load Balancer to the servers across the local network on port 80. The problem arises with any software that uses the $_SERVER[‘HTTPS’] = ‘on’ global variable such as WordPress, Magento, OpenCart etc due to this global variable not being set, this is because traffic comes to the server through HTTP (port 80) instead of HTTPS (port 443).

So how do we fix this? Well even though this isn’t technically a bug (please excuse my title on this article) as the traffic isn’t coming to the server in a secure fashion, and the $_SERVER[‘HTTP_X_FORWARDED_PROTO’] global variable is set to indicate which protocol is being used to the server. Unfortunately for reasons I’ve yet to discover, and I’m sure there are technical reasons, the software mentioned above doesn’t look at this additional variable to do SSL detection. The most common solution for this problem is to modify your source code to look at this global variable, or to install a plugin/module that incorporates the workaround. Whilst this would fix the problem I wanted to find a way to add this fix that would work for any application I decided to install without having to modify the core source code or add additional plugins/modules. On each of the servers you will need to edit your nginx configuration files and change the following code section from this:

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}

to this (add in the red lines to the existing code):

set $my_http "http";
set $my_ssl "off";
set $my_port "80";

if ($http_x_forwarded_proto = "https") {
set $my_http "https";
set $my_ssl "on";
set $my_port "443";
}

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param HTTPS $my_ssl;
include fastcgi_params;
}

Many thanks to Taylor Otwell for responding to my continuous questions and Sonassi.com for their great article which pointed me in the right direction for my Nginx Reverse Proxy/Nginx setup: Magento HTTPS Re-direct Loop.