Umbraco

Unicore team visit at Umbraco HQ

The .NET Core team visited HQ for the first time

When bright minds come together, great ideas come to life. And that’s exactly what we had in mind when we introduced the Unicore team in mid-January. During the last days of January, we all gathered at Umbraco HQ for our very first meeting. We had two amusing, productive days, getting a lot of things done! Let me take you through it all:

The visit at Umbraco HQ 🤗

It was a real pleasure for me to meet the Unicore team in-person. They all bring extensive experience in Umbraco and great enthusiasm for this project. Furthermore, in this team, we represent multiple different stakeholders, which I find extremely valuable when we discuss topics.

We started the visit by defining the mission and goals for the team. We ended up agreeing on the following mission:

We help future-proof Umbraco CMS by transitioning to .NET Core through community involvement and making it friendly, transparent and social to contribute.

Furthermore, we added some more words to our focus areas and goals. The full outcome of this session can be found here.

And here’s the awesome Unicore team:

Work on the project 💪

The next session was an introduction to the current status of the project. It's a pre-premiere of the presentation I have planned for UmbracoSpark next month.

After the presentation, I had prepared four topics that were ready to be specified. The four topics were:

  • Users/Membership
  • Imaging
  • Install process/NuGet
  • Publishing

We started with a review of the description of the Users/Membership task. This task mostly involves implementing the ASP.NET Core Identity. Emma and some of her colleagues from Rock Solid Knowledge will take charge of this topic. We hope to also open up-for-grabs tasks regarding this topic because it is one of the areas where a lot has changed.

Next, we took a look at the Imaging topic. This is all about preparing the code base to replace the dependency to ImageProcessor, which is not available for .NET Core. We aim for a general abstraction that can be implemented for multiple interchangeable implementations. We have a couple of open up-for-grabs tasks about this.

We then jumped into the Install process/NuGet. The issue here is that NuGet in the version required for .NET Core projects does not support transformations of config files and execution of PowerShell scripts when installed. Both things are done in the current UmbracoCMS NuGet package. We spent some time investigating alternative ways to execute the transformations and ended up writing this RFC.

Finally, we started a PR about extracting the publishing logic out of Umbraco.Web and into its own .NET Standard project. The biggest unknown in this task was our dependency on a BPlusTree-algorithm, where the original package does not support .NET Standard. Luckily there is a fork of the project that is ported to .NET Standard, but we needed to try this out.

After all the hard work, we, of course, also spent some time socializing (and eating delicious food🍴). 

Check out what the Unicore team said about the visit: