This guide is the ultimate Episerver resource page. From this page you will find links to resources that will help you master this EPIC CMS system π₯π₯ 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 (π±βπ€π±βπ€π±βπ€), bookmark this page!
Episerver CMS is built upon the Microsoft ASP.NET technology stack. In order to get the most out of Episerver, you will either need to be proficient in C# and understand ASP.NET, or you will need access to a developer who has these skills. 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.
The first step in mastering any CMS system is to play with it and get to know the product. You need to find out firsthand what features it provides and understand what type of custom code you will need to write. Episerver CMS is not a SASS product, this means you need to install it to play with it. The good news is that trying out Episerver CMS is free. You can get a developer license and access to the installer easily at no cost to you. This means you can install and play around with the CMS as much as you want to. Installing Episerver does require technical knowledge. You will need to be a developer with Visual Studio installed on your PC to install it. If you are completely clueless about installing Episerver, I would suggest reading one or more of this article. 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. You have the option to use the Alloy template when you install Episerver. Choose this over the blank template the first time around!
Become A Content Editor For A Day
After installing Episerver CMS, you may be tempted to just start coding, however, I would recommend familiarizing 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 have worked with countless developers who have worked with Episerver for months, however, they still don't really understand the full capabilities of the platform. This situation always occurs simply because they never spend the time to actually use the CMS to write content. Unfortunately, it's also these developers who seem to need the most amount of help.
An Episerver powered website is very bespoke. You will have to design all the page types and block-types yourself. Episerver provides no form of settings management within the CMS. You will need to decide where the site settings will live. This means that the way you build an Episerver website matters in terms of content editor experience. 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 requirement to every project I build. I think that one of the main reasons a good backend architecture is overlooked in the majority of Episerver builds is because developers never try to write content using the CMS and fail to understand just how painful a badly designed CMS system can be to use. Only by using the editor for a long period, you'll come to appreciate the difference between good and bad design. When you learn Episerver, you need to use it. Write content within the CMS and understand it. Your solution design will benefit from this knowledge"
If you architect your solution in a way that forces your content editors to make many unnecessary clicks, they will complain.. usually very LOUDLY. A company might completely re-platform and scrap all your hard work if everyone deems the site unusable. This step of learning Episerver as a platform is very often overlooked as it might seem obvious, or boring. 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 should definitely understand and try out all the concepts listed in it.
Development
Once you have Episerver installed locally and you have familiarized yourself with how the CMS works, you can now focus on writing some code and building your website. You can do this in several ways. First, if you have the Alloy 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 free of charge, available here. After getting the sample site installed, try creating some common website components like a mega-menu, contact us form, header or footer.
Mastering any subject takes time and knowledge. Personally, I find the most efficient way for me to master a new framework, is to read around a subject. There are plenty of Episerver resources available online. On this site alone you can find everything you need to master the CMS. I've written extensively on Episerver CMS for years. At the time of writing, there are over 300 Episerver articles on this site alone to help you out. 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:
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 Programmatically In Episerver?
- How to Preview a Block in Episerver
- Extra divs in content areas, 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
Learn Episerver Under The Hood
Unfortunately, Episerver isn't open-source so you can not go to GitHub and view all the code, however, you can use Dotpeek or a similar reflection tool to look at the code within some of the Episerver's key assemblies. Looking at the code will help you to get a feel for what's happening under the hood. This is a great way for you to learn and understand how and why things work. If you want to do this, I suggest you look in these assemblies (found in your bin directory)
- Episerver
- Episerver.Configuration
- Episerver.Framework
- Episerver.Data
I think the two key topics to understand is how the routing works and how 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 as your page loads are taking too long!
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 Episerver commerce. After gaining some mastery of the CMS, you should learn about the other Episerver products. These other products can often help you from re-inventing the wheel when building new features:
Learn Episerver Best Practices
Thousands of websites have now been built using Episerver. Figuring out how to architect your Episerver website is a well-trodden path. You can normally look at a blog post or the forums to get advice on how to build something. 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 or set of rules that will be applicable to everyone. Understanding the different options and paths available to you will allow you to make better technology choices. In order to learn about some good practices, I recommend you read these articles:
Get Involved With The Episerver Community
Like any project, you will invariably get stuck and need help. I get emails most days from people who need some Episerver advice. I don't have time to fix every problem, however, in most cases, I can point you in the right direction. I tend to write 2 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) are pretty good. When you get stuck, you can ask questions there that fellow Episerver gurus can help answer. From my experience, I've always gotten an answer within a few hours. Keeping an eye on and reading questions on the forums can help you gain CMS knowledge. 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 Episerver World 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.
That should give anyone wanting to learn Episerver a good few weeks of solid material to learn from. Good luck on your Episerver quest π. Happy Coding π€