Plus mentions implemented in a fairly nice way
March 24 2016: Here’s some snippets from my daily life in the education and software industry.
Last night and today I got ‘plus’ mentions working nicely in our new product Changedesk. This was the biggest hurdle to get over, as the implementation was quite custom, meaning we couldn’t just use an off-the-shelf library.
(The interface still needs a lot of styling work done.) The code uses AngularJS for the data binding and templating, and a stripped down version of CKEditor for the text input. I know, CKEditor is very heavy, but it’s also fantastically stable and just works across all browsers. It also exposes a great API for range selection, DOM manipulation within the editing surface, and handles pasted text extremely well. I’ve used it for many other projects, so I have a pretty good understanding of how it works, and while I could have used a much more lightweight editor, it is very powerful, and supports a lot of useful things out of the box that many lightweight editors don’t support.
I also provisioned a live instance of the site on Amazon Web Services. I have a fairly standard way of provisioning my Django apps. I believe in putting in more work at the beginning, to save time down the track. That’s why I write server build scripts for all my apps, so when a new web node needs to be deployed, it’s just a matter of running one command.
Code deploys should also be automated, so I use Github webhooks to call a ‘build’ URL on each web node upon pushing new code. This makes managing the infrastructure really easy, as I rarely have to SSH into a server to do anything.