This blog post will act as a diary for my experiences throughout the 2 day Umbraco UK Festival in London on 2nd and 3rd November 2017.
The first day is a hackathon where fellow Umbracians will get together and fix some of the bugs in Umbraco Cms.
The second day is the main event, the Umbraco UK Festival. There will be talks throughout the day and activities to take part in. I can't wait.
There will be a pre-festival party and a post-festival party which should be a good opportunity to get to know some of the other Umbraco developers.
I'm so grateful to my employers MEDIAmaker who have allowed me the time out of work and have paid for this trip.
My alarm was set for 4:00am but I woke up naturally at 3:30am and I didn't want to risk falling into a deep sleep and missing my train.
I'm on the train, I've managed to connect my iPad to my laptop having downloaded and setup Duet Display. It's so cool.
This is going to be so useful at the hackathon later today. It's not normally feasible to take a second monitor with you.
I've forked the latest Umbraco source code on GitHub so I'm all set for the hackathon.
As I understand it, we will be going through the issues on the issue tracker and trying to fix them. Here is a link to the easy issues.
I've submitted a couple of pull requests to Umbraco before, but none of them have ever been accepted and merged in.
I'm hoping to finally get one of my pull requests accepted today. If you are planning to contribute to Umbraco, here is a getting started guide.
I made it here safely at around 8:00 am. I've been mooching around, waiting for the hackathon to start. I've met some nice people already and have spent most of the morning with Lewis Smith so far. We are going to work on the hackathon together.
Now it's time to start the hackathon
It's been a great morning of coding so far. I've been working with Lewis on a couple of the issues.
Firstly we started off by trying to fix this issue and we had help from Callum at Cogworks, but we couldn't get past a problem with angular validation so after an hour or so, we had to move on.
I was a bit starstruck when Niels Hartvig (the founder of Umbraco) came and sat next to me to work. I introduced myself and he said "I know who you are, you're the guy who does all the videos". Which was nice.
Anyway, we moved on to another issue in the tracker, and with help from Sebastian, showing us where to look in the massive Visual Studio solution, we managed to fix the issue and submit a pull request. It was a great feeling, even though we just changed the date format of the Created Date and Updated Date in the properties tab to work with CurrentCulture.
We've got pizza and sandwiches for lunch. Time to go and meet some more people.
By the end of the hackathon, there were 21 Pull Requests submitted from about the same number of people. It was a good experience and we now know how to properly contribute to Umbraco. Next it is time to check in to the hotel, have a shower and join everyone for the party at Finch's bar opposite Finsbury Square.
The pre-festival party was good. We were in a room at the back of the bar. It was so noisy in there from people talking. I don't think there was any music on at all, but I could hardly hear anyone. There was a real buzz in the atmosphere. People kept arriving, who had travelled to London during the day.
I got talking to some more people who knew me from my videos on YouTube. One lady called Emma said her 8 year old son thinks I'm famous, bless him. I'm definitely not famous, but it was nice to be recognised by some people and it was a good conversation starter.
I had the same feeling myself when I saw these people I recognised from the community. Normally I would see their avatar next to their name on our.umbraco.org or on the Umbraco slack channel, but there they were in real life form.
I had to leave the party at 21:00 as I had been up 18 hours by that point and I was just so tired. I needed a good sleep to prepare for another long day, after all the hackathon was just a warm up, tomorrow is the main event.
It's the day of the Festival, I woke up at 05:30 after having 8 hours sleep. I wanted to lie in but I just couldn't go back to sleep. I've thought about a solution to one of the issues in the tracker which we failed to find a fix for. I'm going to see if my simple fix solves it and if it does I'll submit my 3rd pull request of the event.
I need to decide which talks I'm going to today. There are 3 separate streams happening at the same time, so I won't be able to do it all.
Here is the PDF with the schedule on it.
That idea I had on how to fix the bug from yesterday was a flop. It didn't work at all. Time to put my laptop away and go and get some breakfast.
I've looked through the schedule for today, whilst eating my breakfast. I've decided which sessions I'll attend. So now it's time to head back over to the venue and get ready for it to start.
The day started well with a good ice breaker session and introduction. They got people up onto the stage who had either never been to Code Garden before or had not got all of their certifications in Umbraco yet. They made them dress up in 80s fancy dress and at the end they gave them free tickets to Code Garden in Denmark next year and free tickets to Umbraco Certifications. They are fantastic prizes. I wished I had been picked after I found that out.
A look at Umbraco v8.
This was a great session with Stephan Gay who is like the Gate Keeper for Umbraco. He showed us how Umbraco v8 is coming along. What direction it is going in, and mainly how it is being cleaned up. They are de-coupling things to make it cleaner and faster and easier to test.
After the talk I went over to talk to Stephan about the architecture of v8. I asked about which IOC Container package it is using and he said it uses LightInject. He said you can't use more than one type of Dependency Resolver, so it is a good idea to get using LightInject on any v7 projects now to get used to it. Here is a post on Our Umbraco to help you get started with it.
In his demo we had a look at how they have changed Nested Content and we saw how they were able to easily test it. The unit tests were using NUnit and Moq.
Next I went to see Kevin Jump's talk on Translating Umbraco. He showed us how difficult it can be to manage translation in Umbraco currently. Then he showed us a package that he made, called Translation Manager. It makes things so much easier. He did a very good job of selling it to us, but then at the end, he revealed that the license fee is £500. For that reason, I'm out. Maybe a client will need it one day so the fee will be worth it, but not right now.
The pace of the day is very fast. You don't get much time between sessions. You need to get up and get out quickly to get to the next session. The Barbican is very big and is like a labyrinth so it is easy to get lost. There is so much going on there. In fact I saw Lewis first thing in the morning and didn't see him again after that. I imagine he is lost somewhere, trying to find his way out.
There was a cafe on the bottom floor, cinema on another floor. A library, an Art gallery, an indoor garden and many other things, as well as being a conference venue. It doesn't look very attractive. It is basically all concrete, but if you look past the concrete you see it is actually quite beautiful, especially outside where the water is.
I went back to the main room to watch the talk about making media awesome. Steve Temple gave a good talk about how people manage the media in their Umbraco site and how it could be improved. He showed us how a package he created, calls Vision APIs from Azure and Google to identify and tag media items. He also showed us the faceted search that he built into his package which lets you search for those items by tags, categories and keywords.
It was an interesting talk and it gave me inspiration for what I can do with my Umbraco sites. The vision APIs aren't perfect, but they can be quite accurate at times.
A bit of fun
Try using the Azure Cognitive Services Vision API here. You could upload your picture and see what it comes back with. When I upload an image of me, it comes back saying "Austin St. John posing for the camera". He is the Red Power Ranger. I'll let you decide for yourself whether or not I look like him.
Before lunch time, we were back in the main room for the C# 7 and C# 8 features talk with Marcin Zajkowski. He is a freelance developer from Poland who does training in Umbraco through Cogworks. He is super enthusiastic about C# and Umbraco. This came across in this talk. It was a very well prepared talk with excellent code examples. The main points I took away from this talk were to look into Tuples and pattern matching.
At the end of the talk, Marcin gave us the chance to win a 'dev date' with him. He asked us to name 3 variables from his slides. I was first to tweet him with the right answer, so I won the prize. He is going to get in touch with me next week to arrange our Skype call.
Lunch time is a great chance to get some food, top up with caffeine and get to know some of the fellow Umbracians. I had a chat with one of the our.umbraco.org community members Poornima. We talked about our experience with Umbraco and how the festival was going so far.
The next talk was with Sebastian Jensen from Umbraco HQ. It was about how you can secure your Umbraco site. He showed us lots of different settings we can apply in the web.config file to prevent things link XSS, CRSF and much more.
One of the most interesting parts of this talk was when he added some code to the console whilst viewing the barclays.co.uk site. It played the harlem shake music and made all of the images wobble on the site. It also worked on the BBC website. After this he showed us the config setting to fix it.
One of the most interesting talks of the day was the talk by Per Ploug who told us about Headless Umbraco.
Basically that have been working on the rest APIs to allow you to get content as JSON. This allows you to render the content from your Umbraco backend into almost anything which understands JSON. This will be great for mobile apps, and as Per pointed out, you could have a website which is nothing to do with Umbraco and just use the rest calls to insert managed content.
By this point in the day I was feeling very tired and was struggling to take anything else in.
I went over to the Community garden thinking I would be attending a session about Authoring the backoffice, but it was a Question and Answer session with Niels Hartvig (the founder of Umbraco). It was interesting listening to the questions and answers. The main theme was about how to monetise the packages in Umbraco.
Callum Whyte from Cogworks showed us his new innovative extension to the Umbraco backoffice. He set up Two Factor Authentication using facial recognition. There were obvious flaws in this method, holding a photo up for one, but it was still an interesting concept and food for thought.
After a short break we all went back into the theatre for the Keynote speech. Niels showed us new features from Umbraco v7.8
One of the highlights was the new 'Backoffice Tour' feature. It guides the user through tasks such as creating content and even editing templates. The best bit about this is that you can create your own tours. So if you have a user who only goes onto the site once in a while and forgets how to do things in the meantime, they can use the tour feature to remind them.
After the keynote, I went looking for somewhere to eat with Alan Mac Kenna from Serve IT.
We ended up at Chinese restaurant near Finsbury Square. This was the strangest Chinese restaurants either of us had ever been to. At one point, 3 members of staff approached us. One was filming us with her camera phone, another was trying to get us to try some home made Pimms and the other was there for moral support.
I didn't want to try it or be in the photos /videos so I said I don't drink. Alan was politely sipping on the drink and hadn't spotted the camera, as she was behind him. When he turned around and spotted her with the camera, his face was hilarious. We just didn't know what was going on. "If you like it, you can buy a glass of it for £6". Needless to say, neither of us bought a glass of the home made Pimms.
Despite the strange setting, we had a good evening chatting about Umbraco, the event and life in general.
After wandering around Islington looking for a quiet bar, we ended up at Finch's bar where the rest of the Umbraco lot were. I was introduced to some lovely people who made me feel welcome. I had a good talk with Lars about his unit testing session and witnessed some great magic from a guy called Damien from Belgium.
I got invited over to sit and have a chat with the guys from Crumpled Dog and Skrift.io. They were a lovely bunch and made me feel very welcome, which was just what I needed as Alan had gone and I didn't know anyone else there.
I made my way over to St Pancras Station to get the train home to Derby. I had a ticket for the 23:15 to Derby. I thought at the worst it would be a 2 hour journey. It turned out to be the route which takes 3 hours.
I'm still on the train, updating this blog post, reflecting on the last 2 days and wishing I was in bed.
I've had a brilliant time, but I just need sleep now.
This post tells you how to solve the error assets file project.assets.json not found in Visual Studi…Read Post
This post gives you some razor code to help you see the values of the IPublishedContent item's prope…Read Post
This post shows you how to fix the 403 error on preview after you have upgraded it.Read Post