Getting started with Episerver CMS Development
I frequently receive e-mails from developers who want to learn how to become an Episerver developer and need advice on where to get started. For anyone new to Episerver and wants to learn how to become an Episerver ninja in no time, today's post will attempt to help you out.
Episerver CMS is built using the Microsofts ASP.NET technology stack and in order to get the most out of Episerver you will either need to be proficient in C#/.NET, or you have access to someone who is. If you don't have any programming skills and you don't know anyone who is proficient with Episerver and you need some advice, please get in contact with me, here, as I regularly help companies find the right Episerver resources.
Install Episerver CMS
The first step in mastering any CMS system is to download Episerver and get to know the product, find out firsthand what features it provides and understand what type of custom code you will need to write. If you are completely clueless about installing Episerver, then I would suggest reading one or more of these articles:
For first time users, I would recommend installing the Alloy Demo Sample site. This sample site will give you a taste of how you should structure your project.
Become A Content Editor For A Day
After installing Episerver CMS, you may be tempted to just start coding, however, I would recommend familiarising yourself with how Episerver works from a content editor's perspective. Go into the editor, create pages, blocks, set-up visitors groups, create a project, run some scheduled tasks, try setting up workflows etc.. I've worked with countless developers who have worked with Episerver for months but still don't really understand the full capabilities of the platform simply because they never spend the time to actually use it and figure out what it is capable of. Unfortunately, it's also these developers who seem to need the most amount of help. If you've read enough of my online writings, you will know that I consider creating a slick and smooth back-end experience for content editors as an essential aspect of every project. I think one of the biggest reasons the backend is overlooked on the majority of Episerver builds is the lack of understanding from the developers about how painful a badly designed Episerver back-end can be. Only by using the editor for a long period you'll come to appreciate the difference between good and bad design. If you architect your solution in a way that forces your content editors to make many unnecessary clicks, they will complain.. usually very LOUDLY to the business and before long, a company might completely re-platform and scrap all your hard work. This step of learning Episerver as a platform is very often overlooked as it might seem obvious, or boring, but by spending some time and figuring it out will help you get to know some of the basic concepts of Episerver CMS. To make your life as easy as possible, Episerver provides an Editor’s Manual that you can download from here. You don’t have to read through it all like War and Peace, but you should definitely skim it and make sure you understand and try out the basic concepts.
Once you have Episerver installed locally and you have familiarised yourself with how the back-end works, you can now focus on writing some code and building your website. You can do this several ways. First, if you have the sample site installed you can have a look through the code and get a feel. If you don't know which sample site to use, you can always download my Episerver Sample Site, available here. After getting the sample site installed, try creating some common website components like a mega-menu, contact us form, header or footer.
Learn Important Key Concepts
Mastering any subject takes knowledge and for me, that knowledge always comes from reading around a subject. I would recommend reading up on Episerver. There are plenty of Episerver resource available, I've written extensively on EpiServer and at the time of writing, there are over 300 Episerver articles on this site alone. To get started I've written an Episerver beginners course, which guides you through some key concepts that you should read. To get started head to this page, EPISERVER DEVELOPERS GUIDE If you just want some quick reads, then some of my favourite articles include:
- How the Episerver pipeline works
- EPiServer 7 Routing For Dummies
- How To Create a page pragmatically
- How to Preview a Block in Episerver
- Extra divs in content area how to remove them ?
- How to get a page in EPiServer 7 ?
- How To Render A List Of Objects In a Page Or Block… PropertyList Explained
- Can not upload an image file in EPiServer?
Learn Episerver Under The Hood
Unfortunately, Episerver isn't open-source, but you can use Dotpeek or a similar reflection tool to look at the code within some of the Episervers key assemblies. Getting a feel for what's happening under the hood is a great way to understand how and why things work, I'd recommend looking in:
One key topic to understand in any CMS is how pages and items are cached. Caching can be a complex and tricky beast to deal with, especially at the end of your project. Understanding how to write code in the most optimal way can save you a lot of headaches when deadlines approach and people start shouting and jumping up and down in anger.
Learn About The Episerver Add-ons
Episerver does more than just CMS.. it also has some cool add-ons. Some are free like Episerver Form. Some are commercial products like commerce and Episerver find.
Learn Episerver Best Practices
Thousands of websites have now been built using Episerver and figuring out how to architect your Episerver website is a well-trodden path and isn't something you need to figure out yourself. Like any best practice advice, individuals will always disagree and have thoughts or opinions. The simple truth is that every company and project team is different, so there is no one guideline set in stone that will be applicable to everyone.
Get Involved With The Episerver Community
Like any project, you will invariably get stuck and need help. The first thing I would recommend is using my contact page here. I get emails most days from people who need some Episerver advice. I don't have time to fix every problem, but in most cases, I can point you in the right direction. I tend to write 3 blog posts a week and coming up with inspiration can be tough at times, so your questions help me grow this site. One of the nice features of working with Episerver is the forums, available here. When you get stuck you can ask questions there that fellow Episerver gurus can help answer. From my experience, I've always got an answer within a few hours. The other way you can gain Episerver expertise is by simply trying to answer other people's questions. This tip isn't just focused on Episerver, but any technology you want to learn. You join the forum, read people's problems and then go out and try to solve them. Even if you don't get the accredited answer, figuring out how to solve 10 forum questions a week will turn you into an Episerver ninja in no time. Episerver has good meet-ups and if you live in the London area you can attend the monthly meet-up available here. You can also go to the annual Episerver conference, Ascend that occurs worldwide in Sweden, London and Vegas here.