This is the first part in a series introducing Umbraco to EPiServer developers, however, it can also be seen as an introduction to EPiServer for Umbraco developers. It all depends on your perspective. Please keep in mind that this is not an attempt at comparing the two for the sake of which is better, and I do not make the argument for either platform. Both have their pro's and con's, but I leave it up to you to select the platform that best suits your needs and requirements.
In my experience Umbraco is seen as a competent OSS alternative to EPiServer. In my opinion, EPiServer is a very competent product, although, the license costs often excludes it from consideration by many organizations. Umbraco, too, is very competent. They employ similar patterns for some of their functionality, and completely different approaches for some.
I've planned the disposition for the series according to the list below, but it may change as I write. I'll update this post as the series progresses.
Part 1. The administration user interfaces.
Part 2. Document vs. PageData
Part 3. DocumentType vs. PageType
Part 4. DataType vs. PropertyType
Part 5. Property vs. PropertyData
Part 6. Media vs. the VPP
Part 7. Members vs. Users
Part 8. Event hooking
Part 9. Scheduled tasks
Part 10. Building a Custom DataType, vs. Building a Custom PropertyType
Part 11. Extending and customizing the UI.
Part 12. Template vs. PageTemplate
Part 13. Macros vs. DynamicContent
Part 14. Macros (XSLT/Razor/UserControl/Python) vs. WebControls/UserControls
Part 15. Searching with Examine vs. FindPagesWithCriteria
I have been working with both platforms for many years, and I think both offer excellent performance and functionality. However, regardless of that experience, I may have gotten some things wrong, and I hereby invite anyone to correct me, add information, or otherwise express their opinions.
(This post was previously published here.)