Alexa, When is the UK Fest?

The Umbraco UK Fest is just around the corner and I am really looking forward to being there, as a speaker, this time! Hard work, but I am excited!!! I will be speaking about Alexa and a little skill I developed called Friendly Events. I developed this skill as a demo for the talk I did at the Polish Festival. At that time it supported just one request "How many days to Codegarden". For the UK Fest I have extended it to support few more requests -  "When is the UK Fest", to tell you the date information and "What is the talk at 10:30am at the UK Fest?" , as an example, to retrieve and present you with the agenda at 10:30am.

The skill card for the skill is here.

P.S. The agenda of the festival might change slightly over the coming days but I plan to keep it as close as possible so that the skill has teh most up-to-date information!

I will be updating this post with more details as we move closer to the day of the fest. I have certain points that I cannot include in my talk without the risk of over-running on time massively, so for those points, I will put up some notes in my blog post. Further, I will be collating all the resources into this blog post as well as we approach the day!

Hope to see you all soon!

Resources

ASK Documentation
https://developer.amazon.com/docs/ask-overviews/build-skills-with-the-alexa-skills-kit.html

Understanding Custom Skills
https://developer.amazon.com/docs/custom-skills/understanding-custom-skills.html

Interaction Model
https://developer.amazon.com/docs/custom-skills/create-the-interaction-model-for-your-skill.html

Choosing Invocation Name
https://developer.amazon.com/docs/custom-skills/choose-the-invocation-name-for-a-custom-skill.html

Intents , Slots & Utterances
https://developer.amazon.com/docs/custom-skills/create-intents-utterances-and-slots.html
https://developer.amazon.com/docs/custom-skills/slot-type-reference.html

Functional Requirements for you API
https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-a-web-service.html#manually-verify-request-sent-by-alexa

Alexa Design Guide
https://developer.amazon.com/docs/alexa-design/get-started.html

Advanced Topics

Speech Synthesis Markup Language
https://developer.amazon.com/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html

Dialog Delegating/Intent Chaining
https://developer.amazon.com/docs/custom-skills/delegate-dialog-to-alexa.html

Alexa Presentation Language
https://developer.amazon.com/docs/alexa-presentation-language/understand-apl.html

Related Courses
https://www.pluralsight.com/courses/amazon-echo-developing-alexa-skills

Github Code
https://github.com/apleroy/AlexaSkillsProject

Code Demo from my talk in PL Fest and UK Fest
https://github.com/poornimanayar/IOT.Demo



Recap of Umbraco Sweden Festival '19

Do you want to travel into a cosy, little town in Sweden, talk about all things Umbraco and enjoy your evening with a dinner inside a medieval castle? That is exactly what I did during my attendance at this year's Umbraco Sweden Festival. The festival was organised by Impera and Webmind and it was the third year Umbraco Festival in Sweden.

The festival took place in a little town called Örebro on September 19th. One of the organizers, Impera, have their main offices here. Its about a 2hr train ride from Stockholm. Don't be put off by the length of the journey because a train ride by the Swedish countryside is totally worth it. Wikipedia tells me it is the 7th largest city in Sweden and what a beautiful place it was! Cobbled streets, a river, a medieval castle, lots of greenery with the fall setting in. I am quite convinced that the crispy air I experienced at Örebro is THE definition of fresh air.
Beautiful Örebro 


The festival kicked off with a pre-party on the evening of September 18th. I reached Örebro around 1700 on the day. I checked into my hotel, made a quick phone call back home and went straight into the pre-party organised at a restaurant called Makariet, 2 mins away from the hotel. I didn't know many people from the Umbraco community in Sweden but that was the whole point of my trip, meet and greet new people. Of course, there was a good attendance from the HQ and Callum from the UK. The evening was very chilled out. Lots of friendly chit chat, amazing food and great ambience! It was a great way to break the ice, meet new faces and relax. Undoubtedly, one of the best pre-parties I have attended. I retired to my hotel room before midnight to put an end to my long day and check that my slides for the next day are in order.

The event took place at the Elite Hotel at Örebro and trust me when I say that the conference hall was one of the most beautiful event venues I have ever been to. A big conference room, with high ceilings and some beautiful chandeliers. I must say it felt great to present in such a conference venue.



Views of the magnificent conference room

The festival kicked off with a keynote delivered by Nuria Gonzalez-Candia from Google. She spoke about how mobile-first is still very relevant. The keynote sat very well in the context of some other talks during the day - Emelie's talk on how to optimize your site post-launch and Erik's talk on improving the performance of your site. Some of the stats that came across were mind-blowing.

  • According to the data Google has, only 8% of businesses do the mobile-first approach properly.
  • By 2021, 42% of e-commerce purchases across Europe will be over mobile, while this will be 75% across APAC.
  •  In 2000 attention span while using mobile or online was 12s whereas now, 3s is the recommended load time. 
  • 53% of of users abandon a website that takes more than 3s to load.

 All of this speaks a lot, we have real work to do around mobile, attracting and retaining users over mobile. Progressive Web Apps seems to be the future of the web.

Nuria also mentioned the need for a mobile budget and strategy which was a whole new topic for me. Overall, I found the keynote very insightful and something I thoroughly enjoyed.



After the "Fika" break talks separated into two streams - business and tech. All the talks I attended were tech talks. The first one was Callum's talk "Wrong way or Another" which dealt with the many ways of doing things in Umbraco. In Umbraco, there are many ways to achieve the same thing. This talk was based on Callum's extensive experience in tech leading Umbraco builds and setting things right with inherited projects. He spoke on how you can arrive at a good, future-proof way of doing things and some of the best practices or standards that he has been sticking to when it comes to his projects. He covered topics like having a home page picker to take over the home page of your website to the way he uses ModelsBuilder in his projects. After using Umbraco for about 8 years I have also started doing things in a standard way in my projects and it was reassuring to see that what I am doing is in line with how the community does it. Sometimes there is no right way, only the better way and this talk was all about that.



The next talk was Alice Puricica's talk on how she worked on an e-commerce website, which can act as a B2A, B2B, B2C and B2D platforms. This was one of the talks I was looking forward to as the case sounded very interesting. "An inspiring story of how a client who went from only having a simple PHP site to having a commerce swiss army knife that can also handle 36 million price variations and has an extremely flexible discount awarding system." I am currently working on a website in Umbraco v7 with Merchello provisioning the e-commerce aspect of the website so I approached the talk with the view of ideas and what you can do. It was very clear from the talk on how Alice and her colleagues have pushed uCommerce to its limits to deliver a performant, do-it-all e-commerce platform.


The first talk after lunch was mine and I spoke on the topic "Open Source Takeaways from Umbraco". This was my second attempt at a talk, the first one being in Germany earlier this year at the Umbraco Festival Deutschland. The subject is something I am passionate about. I am a part of the Pull Request Team which is a good enough case for me to choose the topic. Further, I started contributing to Umbraco in 2017 and over the last year I have managed to become one of the top 10 contributors to Umbraco. This was a target I had set to myself - to make sure my face is visible in the GitHub Contributions sections on the homepage of Our, before you click the "Load more" button. Sounds silly, I know but sometimes you need to have a go at the silliest, craziest ideas to keep fuelling you ahead. I have managed to do it and its something I am quietly very proud of. I have learnt many things during my journey and the message I wanted to convey was "If I can do it, so can you". If you attended my talk, feel free to let me know what your thoughts are and reach out to me if you need any help too :-) I am happy to help in whatever possible ways I can. Jens, thank you for reaching out to me and having me as one of the speakers at the festival :-)


The next talk I attended was the session on performance improvements by Erik Lissel. It was amazing to see how some of the simple things can matter much when it comes to performance and increasing your score for Google. He spoke about why the speed of your website matters, how you can measure it. Some of the tips included how you can effectively bundle your CSS and Javascript, lazy load images, async loading of scripts. He also spoke about the usage of ImageProcessor. The imagery on any website is something I personally find quite hard to strike a balance. Its one of those things where you really need to collaborate with your front-end developer and arrive at the best possible way of doing it. A very effective talk and something I enjoyed. I will be trying out the tips I learnt on imagery for sure!



The last talk of the day, before the keynote, was from Claus and Bjarke at the HQ. They spoke about what is happening with v8, many things that have changed between v7 and v8, the reasons why it was done. The topics ranged from infinite editing, variants, custom sections, the new log viewer to some of the work that is in progress. Looking forward to seeing some of it in action soon in v8 :-)



Finally, it was time for the closing keynote from the Chief Unicorn himself. I am not going to say much about it as it was as inspiring as it always has been. He spoke a lot about community, his recent decision to focus on the product and community to the amazing numbers of PR's around Core and Documentation.



The festival was followed by a Gala Dinner at the Örebro Slott, a medieval castle. It was a wonderful experience! I can't say anything more than this as the food was amazing and it was my first experience dining inside a castle. Another interesting fact was that Emelie Borg, one of the speakers at the festival and Web Analyst happened to work here as an intern and she shared some of the facts about the castle with us. What a venue it was!


uSweFest19 was my second attempt at attending a country festival other than the UK. The first one was UFD19. And I enjoyed being there. You don't need me to tell you about the fantastic community in Umbraco and its the people aspect of the community that brings me back to the various meet-ups and festivals I attend. uSweFest was no different. Amazing people, great talks and above all a day to learn to enjoy and have fun. Thank you Impera and Webmind for the wonderful hospitality! I had a great time at the festival. #H5YR to Rasmus Söderström and Jens Josefsson for taking care of every possible aspect of the festival. It was a very well organised event. Every aspect about the event, from the venue, food, to the back up laptops, cables, you had it all thoroughly covered. You've certainly set the bar quite high and I hope uSweFest20 turns out to be a rocking event.

A few clicks from the day before I sign off...

"Fika" Break - Amazing cakes


















A selfie which went quite wrong!
With Jens and Emily from Webmind



With Ilham and Helle from the HQ








Alexa Skill for Umbraco - Umbraco Scoop

Hello all!  The past two months after CodeGarden '19 has been very busy for me - finishing up the refurb of our home, finishing up my contract and moving on to a new one. But it all ended up well and finally, I got some time to think about learning something I wanted to for a long time - IOT Device Development. Now that I have done something about it, its time to blog again, with some exciting news :-)

Alexa, ask Umbraco scoop for what's latest in Umbraco

As I said above I always wanted to learn to develop some Alexa skills. Being an Umbracian I had no doubt on what I wanted to prototype and learn - news from the Umbraco world. I took help of some Pluralsight courses, blog posts and worked my way through, and I could see that the skill was taking shape. It was great fun seeing the simulator getting the results back from the API. Somewhere along the line, my brain told me that I should probably try and submit the skill for certification. I checked the skill store to see whether anything was already available. There were none, so I contacted Ilham at the Umbraco HQ asking whether it's okay to go ahead with the project. She was very prompt with a reply, giving me a green signal.

The first step to certification is to fill up the distribution details. It includes details like description, icon, example phrases etc. Once it validates you can move over to the functional requirements.  Amazon has a checklist of security requirements which you need to fulfil before functional tests can pass. It's quite detailed but very well documented. I followed a Pluralsight course and a github repo to help me through this. Amazon recommends that both distribution details and functional tests pass before the skill is submitted for review. Not doing so can cause delays in certification. Once passed you can submit the skill for review. I submitted mine over a weekend, I woke up Monday morning to find the "Congratulations" email in my inbox.

The whole process was not without challenges.

  • Fulfilling the security requirements was quite a challenge. I managed to break the skill completely during the process. But more about how I managed to fix it in another blog post :-)
  • There were times where my utterances were all over the place. Sometimes it would bring me the content from my API , sometimes it would even bring me news from BBC. I had the word "news" all over my invocation name and utterances. I figured out that these were keywords which corresponds to flash briefing skill and can confuse Alexa. 

 Over the past week I have been trying to tweak the prompts and make it better. A big shout out to Emma Burstow and Paul Seal who helped me test it and provide feedback!

So here it is, Umbraco Scoop . Give it a go on your Alexa devices and let me know what you think. It can tell you all about what's latest in Umbraco, upcoming meetups, festivals and latest package releases.

You can say "Alexa, ask Umbraco scoop for what's latest in Umbraco" to retrieve the latest happenings in Umbraco. For meet-ups say "Alexa, ask Umbraco scoop for meetups". For festivals say "Alexa, ask Umbraco scoop for festivals". For packages say "Alexa, ask Umbraco scoop for latest packages".

Here is a little demo, I have covered only packages and festivals in my demo to keep the video under a minute :-)


Umbraco Scoop Demo from Poornima on Vimeo.

What next

I am sure this is not the end to the project. What I have is quite basic. It's just a trial to see how things go. At the moment I manage the news myself using Umbraco (couldn't be anything else, obviously!), keeping an eye out on the Twitter feed and adding in what is relevant once or twice a day. I know it can be made smarter, but I didn't want to go all guns blazing at my first attempt. But the most important thing is to get this out and gather the feedback and then take it from there.

P.S. I can't tell you all about the level of Imposter Syndrome I am experiencing right now, as I am about to publish this post, but I am taking the plunge. Here we go...Umbracians, get it on your Alexa devices, give it a go and let me know what you think :-) 

I am an Umbraco MVP!

Yes, I am a Umbraco MVP this year. CodeGarden 2019 is over. I am back home and my home refurb is in the last phase. I am off to my holiday latter part of this week and some blog posts are long overdue.


The email with the news came as a massive surprise and I couldn't believe it for once. It felt absolutely great once the excitement settled down. When I started following the community quite keenly a few years back little did I know that there would be a day when I would blogging about this. I never planned for it, I just wanted to be a part of the community and help out with contributions. But I am a Umbraco MVP today. I am back at my desk and the statuette is smiling at me from my show cabinet in the lounge and I start thinking the reality about it. Like 2 sides of a coin, there is the exciting part and a tricky side to it.

Poornima Nayar Umbraco MVP 2019



The exciting bits

  1. People want to work with me. This is always good and gets even better because I am a freelancer. Its always fab to be in a position when people want to work with you.
  2. I get a cloud site for free which I can use for my learning purposes
  3. I am supercharged and motivated and I want to learn more and explore new stuff 
  4. I did a talk, my first one, earlier this year at the Umbraco Festival Deutschland 2019 and I wish to do more talks going ahead. And I am going to try and learn more and share my learnings with the community
  5. I wish to blog more often about what I do and maybe reflect some of my thoughts and views.
  6. I wish to spread general community love.
Now for the trickier bits or the trickier questions/ thoughts that come to my mind

  1. Now that I am an MVP should I be contributing more?
  2. Can I ask questions?
  3. Am I expected to be the go-to person for all answers?
  4. Am I supposed to be a programmer at the top of my game?
  5. Am I allowed to make mistakes?
Stupid, silly and I now have the infamous Imposter Syndrome taking me over! But I have decided that I need to convert the tricky bits into positives. I went from 1 to over 20 PRs across the various repos and even did my first Hacktoberfest last year. It was quite a big jump for me which I was quite pleased about. I am simply going to continue doing what I did. The rest of the thoughts are around my knowledge. I always believe that I should not know everything or even when I know things to the minutest detail I possibly can, I still think I can learn something new and be better at what I do. Every day I try to learn something and when I stop doing that my learning path stops. I dont want that to happen. So I am going to continue thinking that I am allowed to ask questions, research and come up with answers, try and be better at writing the best possible code. And when I make mistakes, I learn from them and move forward rather than being stuck at it. And above all, maintain the right attitude because I believe that when someone has the right attitude, the correct mindset, it can go a long way.

Let me know what you think :-)







Roundup of Umbraco Festival Deutschland UFD19

I haven't blogged for a while and I haven't had any blog posts since 2019 started. I thought of jotting down something but I have been so busy of late that everything has taken a backseat. But its always a pleasure to get back to writing, especially when I have attended a great Umbraco Festival. ANd I think its a tradition in the community as well. When you have attended a festival or CodeGarden at least for the first time you blog about it or speak about it.

The UFD19 happened over 2 days this year - April 4th and 5th. There was a half-day hackathon and a pre-party on April 4th and of course the festival on 5th April. The festival and Hackathon is organised by byte5 digital media GmbH . It was the 7th Umbraco Festival in Germany. It started off in 2012 as umbOktoberfest but was relaunched in 2017 as Umbraco Festival Deutschland. You can read all about it here.

Day 1 Hackathon


The first day, 4th April, there was a Hackathon and the pre-party. The Hackathon was held in the afternoon. I was there, representing the Pull Request Team and the co-host as well alongside Sören Deger. The attendees had two options - work on Umbraco issues or work on a package. It was a general consensus that it would be the package that we would be working on. The package that was chosen was the Look who's editing package. The one we would focus on during the Hackathon would be a Content App in v8 which lets you have the same information. I think its fair to say we laid the foundation for the package that day and it was a good introduction to some of the attendees who were fairly new to Umbraco.

UFD19 Hackathon

UFD19 Hackathon


It was time for the pre-party soon. Callum, Carole and I decided to have a quick snack from the town before pre-party and we were joined by Henk and Ramona.  I had to call it a night pretty early as I had to prepare for my talk the next day.

Day 2 The Festival

The festival venue this year was at Westendcarree by Design Offices. It was a great space, lots of room for the attendees to hang their coats, get enough caffeine and of course 3 rooms for the talks. The day started off with registrations and securing ourselves the UFD19 t-shirt. We grabbed a tea for ourselves and the festival started off with the Welcome and Warm-up from Christian Wendler and Pete Duncanson . While Christian focussed on the event, the venue and some other details for the day, Pete spoke about how can us, audience, be interactive and help be a part of the talk and improve it. It was delivered in true Pete style! :-) 
UFD19 Warm Up & Welcome


UFD19 Warm Up & Welcome


Next up was the keynote from Kim and Jacob. The stats from the HQ came through and suddenly there was Kim ripping his shirt in context with his talk. It was hilarious and one of the highlights of the day for me. Sorry folks, I don't have the picture. 

UFD19 Keynote from Kim and Jacob

UFD19 Keynote from Kim and Jacob
This is one of my favourite slides from the day. Umbraco is 3 things - Software, Company and Community :-) 

UFD19 Keynote from Kim and Jacob

We resumed the talks after the morning coffee break. I chose to attend Carole's talk on "Empathy in Tech". It was a great talk, something I could personally relate to. It gave great insight into how the little things we do, little things we talk about can make workplaces and tech communities a better place to be in the long run. She is doing the talk at CodeGarden this year, I would recommend the talk to everyone. 


Next, I chose to attend Henk's talk. The title of the talk was "Deep Learning with Unicorns and Umbraco". Another great talk coming from the AI expert! AI is getting so popular these days and this talk was a great showcase of the powers of AI.

UFD19 Deep Learning with Unicorns and Umbraco


It was time to break for lunch and we had amazing food. It was getting closer to the time for my talk as well and I was extremely nervous about it. But having a chat with friends and a good lunch helped me calm down a lot. I must say the food was awesome! It was one of the best lunches I have had at a conference.

UFD19 Awesome Lunch



It was soon time for me to set-up my laptop and prep for my talk. The topic I chose was "Helping yourself to be a part of the Umbraco Community". I think I did okay considering it was my first time. I shall tell you all about my experience separately but I think I am happy about what I spoke and how I presented the matter. I strongly believe in the community that Umbraco has and for that reason the subject and the talk was special to me!


UFD19 Poornima's talk

I was relieved once it was done but I remained excited and happy after that! 

It was now time for the umbraCoffee baristas' talks. Callum spoke on "Umbraco with Functions and Logic Apps" and Marcin spoke on "What's new in C#8". Both of them great as usual, great content and delivered in style and with confidence! 

UFD19 Callum talking on Function and Logic Apps

UFD19 Whats new in C-Sharp 8 by Marcin

It was time for the afternoon coffee break and I was required to do a small interview for a video. I was supposed to do a solo one but the interviewer had an idea and chose to interview me, Callum and Marcin together. I had great fun doing the interview. It was another highlight of the day for me.

UFD19 Speaker's interview - Callum, Poornima and Marcin



The final talk I attended was Ramona's "Testing... Anyone Can Do It, Right?" . Testing is a topic which really excites me and I love working together with testers. I have also worked with some testers who were ace in what they did which naturally piqued my interest in the topic and it has helped me improve as a developer. The talk was great and was fun! It gave an insight into how testing was a team effort.



We had the post-party after the event and it was live music, a lot of food and a lot of chatting and as usual, I had an amazing time! The ambience was absolutely awesome! Towards the end, Damiaan did some impromptu magic tricks where we all sat down! I didn't make it to the karaoke bar but decided to call it a day after what was a really long day. Myself and Carole walked around the city for 10mins before we got a cab to the hotel. 

Overall it was a great experience for me. The festival was very very well organised and a #h5yr to Laura and the team at Byte5 for organising the event! It was my first Umbraco Festival outside UK and I gave my first talk - on my favourite aspect about Umbraco - Community and I enjoyed every minute of the two days. It was physically exhausting for me given I have builders at home which means I have not had much rest even back home but hey, who cares when you are off to attend an Umbraco Festival?  I hope you enjoyed reading this article as much as I enjoyed the Festival and writing about it! I am closing off with some more pics of the day :-) Happy Tuesday everyone! And here is to many more UFD's and Umbraco Festivals!

Yummy UFD Shortbread
Yummy UFD Shortbread


Amazing food at UFD19

Mocktail - "Umbraco Drive" it was yum!
Mocktail - "Umbraco Drive" it was yum!

Tall buildings in Frankfurt

Carole and I exploring Frankfurt at night

Frankfurt at night

The umbLadies at UFD19
The umbLadies at UFD19

The journey to my first article (and my blog)

Okay, my last post was about a month ago and my blog was pretty unloved the rest of November! Last month I had two trips - one to Disneyland Paris to celebrate our little girl's birthday and the next one, 10 days later, to the Umbraco HQ. The two trips kept my November pretty busy! But I had been thinking of what to write about. And just as I land on something another idea strikes me. Why not share the story of how I summed up the courage to start a blog of my own.

For those who are reading this and have gone through my last two blog posts, let me tell you that the first article I wrote was for 24 Days in Umbraco. My blog happened afterward! It all began with Jan Skovgaard, one of the team members of 24 Days in Umbraco, contacting me earlier this year asking whether I would be interested in writing an article for 24 Days in Umbraco this year. For those who don't know what 24 Days in Umbraco is, its a community initiative by some lovely Umbraco folks.  "This is the 24 Days In Umbraco Christmas Calendar, that's what it is." - this is what the team says about it. It was started by  Jan Skovgaard (@TheRealBatJan), Dave Woestenborghs (@dawoe21) and Chriztian Steinmeier (@greystate). You can read all about 24 Days in Umbraco here . Back to the original topic, I was really excited at the opportunity and thought of writing an article. 24 Days is something I really like and follow through December every year. The articles cover a broad range of topics. So I didn't have to think twice before agreeing to do one. We left it there but the minute I agreed my nervousness kicked in and started to shout at me"What on earth are you going to write about?" But I was far too busy, as always, as a full-time working mother, so I decided to park my nervousness, or even completely forget about the fact that I had agreed to pen an article. I would revisit things a month or so later when I really have to think or even start putting together something to meet the deadline.

A month later, I was invited to the team's Slack channel and I still had not decided what to write. I was really nervous. I thought of writing about something but wasn't sure about it, so ditched the plan. IMPOSTER SYNDROME! I started looking for ideas and then it struck me that last year I happened to do web applications(multi-brand, B2B applications) and that has not been really done as an article with 24 Days during any of the previous years. I shared my idea with the team and it was appreciated. Bingo! I had the subject for my article decided. The first hurdle was behind me! The next big task was to write it all down. It wasn't easy, trust me! I was writing something for the first time and I was super mega nervous. The more I wrote the more I started questioning myself whether I was doing it all well. IMPOSTER SYNDROME, YET AGAIN! But I decided to just complete what I started with. I initially did a part of the article which I shared with the team and threw some ideas as well which gave me the confidence that it was all taking shape. From there I went on to complete the article, Chriztian, Jan and Dave reviewed it, we made some corrections and I made sure my code was available for anyone who would like to have a spin on the work themselves. And on December 5th I had my article published and it was appreciated by the Umbraco community. You can read it here. A website I had been following for the past few years now has an article written by me! How exciting!

Now about my blog, as I gained confidence with my writing I decided that I must think of setting up my own blog. I always wanted one but never had one which I kept updating even on a semi-regular basis. I decided I have to action it NOW. So I quickly set up one on Blogger. I already had ideas for my first article and that saw daylight. It was quite a motivation and I do think about what to write about these days. Although I am not very regular at it, I try to sit down when I can find some time between my work and home. Now that I have a blog I have better plans for it next year, trying to make it look better and continuing to do atleast 1 article a month.

I can quite proudly say the opportunity to write for 24 Days really helped me with this decision. Thank you Dave, Jan and Chriztian for giving me the inspiration to go ahead and set up my blog. You guy have been doing a great job reaching out to new authors every year. I am quite sure that many of the authors who have written for 24 Days in the past have a similar story to share. So keep the good work going :-)

The biggest takeaways I have had from my experience of writing was

  1. Look at any article as a way of sharing what you have learnt. There could be mistakes but you are allowed to do that. 
  2. For all those who want to start a blog I would say just do it. Ideas will flow in and you will be able to do it. 
  3. Imposter syndrome is like the good and bad fairy. It helps bring out the best in you but try to defeat it and move on when you feel stuck.

Merry X'mas and a Happy New Year well in advance!



Hacktoberfest 2018 - Thank you!!!

Hey, I am back! This time I am going to share how my first Hacktoberfest experience was. For those who don’t know what Hacktoberfest is, it is a month long event run annually by DigitalOcean in partnership with GitHub and Twilio. It happens in October and developers across the globe can take part by signing up to Hacktoberfest anytime between October 1st and 31st. During the month of October they have make 5 quality Pull Requests to any Open Source repository which can be any repository out there but cannot be their own! And you get a Hacktoberfest t-shirt if you complete your count of Pull Requests. This year marked the 5th Hacktoberfest.

This year was my first attempt at Hacktoberfest. I wasn’t sure I would be able to do 5 but still decided to sign up this year just to see how far I could go. I wanted to make sure I do at least one PR. Since I work a lot with Umbraco CMS and always always wanted to improve my contributions to the core it was a no-brainer choosing which repository to contribute to. I started off with the Umbraco Docs. I had spotted something and submitted a pull request to the Umbraco  Docs. I then started looking at Umbraco CMS to see if there are things to improve. Having volunteered myself to be a part of the Umbraco PR team had made me realise how small, but worthwhile some PRs can be. I started looking around and saw some UI features that could be improved/cleaned up. I started doing them one by one and I managed to complete my 5 PRs for the Hacktoberfest fest. I got my email about redeeming my t-shirt few days ago. I am so looking forward to it arriving!

You can see my stats here https://hacktoberfestchecker.jenko.me/user/poornimanayar

Here is what I have learnt from my experience
  • I am going to sign up for Hacktoberfest next year definitely with a view of completing my count of PRs.
  • It’s such a great challenge for developers. You can learn a lot which goes without saying. I always wanted to improve my contributions to Umbraco as I mentioned. One of the reasons why I failed is because being a developer who works with Umbraco I did not quite see it from the angle of being a software itself. The hackathon I attended helped me change my perspective but Hacktoberfest definitely gave me the focus needed. It has definitely improved my confidence.
  • For any devs out there who want to improve their OSS contribution you need not necessarily start with software itself. There is even documentation you can contribute to. https://docs.microsoft.com/en-gb/ is an example. There is usually a list of OSS repos mentioned on the Hacktoberfest site to help you get started.
Hacktoberfest 2018 is now over.  But you can sign up for updates now. Here is the site for those who don’t know https://hacktoberfest.digitalocean.com/


7 Steps to your first PR in Umbraco


Step 1 Create a fork of the repo

The first step to your contributions is to create a fork of Umbraco repository.  Umbraco hosts the code on Github. So its essential you have a Github account. By forking a repository you are creating a copy of the repo for your own use so that you can make changes, essentially have a play around, without affecting the actual repository. So, to fork Umbraco repository go to https://github.com/umbraco/Umbraco-CMS and click the “Fork” button



Step 2 Clone your repo

Now that you have forked the repo you can clone it locally. So in my case I would go to my own fork of the repo and clone it like you would to any Github repo. For v7 of umbraco the branch you should be using is dev-v7. All your branches must be created off this branch. 

Step 3 Setting an upstream

As much as you have forked the repo it is essential to keep it in sync with the original repo. This can be done by setting an upstream on the cloned repo. You can do it via command line or using your Git client. I shall use Sourcetree for this purpose.

In Sourcetree go to Repository -> Repository Settings and click Add in the dialog. Type in upstream as the Remote name and https://github.com/umbraco/Umbraco-CMS.git .Save the changes. 

You can now pull changes from the original repo dev-v7 branch to your dev-v7 branch.Switch to your dev-v7 branch and click Pull in Sourcetree, change the remote to upstream and select dev-v7 branch and click ok. Usually Sourcetree alerts you by indicating the number of changes to be pulled in by the Pull button. 



You can even push the changes you have pulled from the original repo to your own fork.

Step 4 Setting up the solution

You can now set up the solution locally. There is a very good guide on what you need to do in the Umbraco repo which can be found here

Step 5 Decide what you want to work on

With Umbraco you can create new features or do bug fixes. You can always look at the Umbraco issue tracker and try and work on any of the issues marked community/up for grabs.

If you notice a bug yourself in Umbraco you can create a issue in the issue tracker. Be as clear as you can with the bug report and include any screenshots if you can. The HQ has made a great template for Bug Report which tells you exactly what to do. 




Similarly if you would like to request a new feature you can do that by creating a feature request. There is a detailed template for this too. 


There are more templates and info available , all of which you can see when you use the New Issue button by the issue tracker.

Step 6 Working with the code

Once you have an idea on what you need to work on you can start off by creating a branch for your work. For Umbraco v7 you always need to create a branch off the latest dev-v7 branch. I usually name my branches by the issue number, but you can give yours a meaningful name too if you want. 

It is highly recommended that you go through the guidelines available in the repo. 

An important thing to note is that the back office is an AngularJS app. Any changes you make to the views, css or js(basically, any changes to Umbraco.Web.UI.Client project) requires a gulp task to be run. I usually use my Visual Studio Task Runner Explorer for this. Right-click build and click Run. Once this has completed successfully you can open the application in your browser.  




Usually the above step clears the cache and picks up your changes. Another little setting that can help here is Disabling Cache in your browser developer tools. 



Step 7 Create your Pull Request

Commit and push your changes to the branch after testing. You can now create your first pull request. You can either do it from Github or do it via SourceTree. I usually do it from Sourcetree by right clicking the branch and selecting “Create Pull Request”. This should then take you to Github where you can fill the details about your work.

Pull requests for Umbraco v7 must always be created against dev-v7 branch. As with the bug report, there is a template which says what you need to include. Always put the issue link in place. This makes sure that the issue reflects the information on the PR. Include any steps to reproduce the issue and any screenshots if you can. For eg : what the bug was and how does it look after fixing. 



Now click the button and there you have your first PR to Umbraco! Someone from the HQ or the Pull Request Team should be in touch with you after this testing your changes and advising you on further steps!