Custom Code for Umbraco Uno
We recently introduced a new SaaS platform called Umbraco Uno, making it possible to spin up a complete website on Umbraco Cloud without having to write code or understand the technical details of Umbraco CMS. In case you’ve missed the introduction of Uno, take a look at our launch post.
With Umbraco Uno, you can get from an idea to a ready website in no time. But what if you are an experienced Umbraco developer and want to take it further than the original themes and widgets currently support? Well, very soon you can. With custom code access for development and staging environments, you can get access to the settings section of Umbraco and get access to the underlying code repository just like you are used to on Umbraco Cloud, making all developer customization of an Uno project possible.
The custom code feature is expected in July and will be available for standard and professional plans for both new and existing customers on Umbraco Uno.
GraphQL for Umbraco Heartcore
A big update is coming up for Umbraco Heartcore, our Headless CMS service on Umbraco Cloud, as we introduce native GraphQL support for all starter and professional plans.
In this product update, we wanted to give you some more details on GraphQL and how you can benefit from it using Umbraco as a Headless CMS with Heartcore going forward. More information will follow as we get closer to launch.
If you are not familiar with GraphQL or haven’t had a chance to dive into what’s possible, you might wonder what all the hype is about. GraphQL is an open source data query and manipulation language originally built and released by Facebook. It gives the client application the power to define and structure the data needed, greatly reducing the amount of API calls required and ensuring data returned is structured and only contains the information requested.
So, no more iteration of multiple levels of content and API calls just to render the title and links for your menu or to get a simple name list and pictures for your “About us”-page, instead you construct the exact query you need for your result and get the data in one go.
Below is an example of how you could use GraphQL to retrieve specific content for your website or app. We’ll continue to push out examples once the feature is available and we are also adding GraphQL to the Umbraco Heartcore trials, so you can try it out. We are even adding a nice GraphQL Playground directly in the backoffice.
Example: Extracting products and features
This example is using “The Starter Kit”, which is our own starter kit for Umbraco. Within the website, you will find a bunch of different products each of which has a section called “Features”. A single product can have multiple features with a name (text field), details (text area) and for instance an image (media picker).
Now, imagine that somewhere on our website we want to highlight the features of the Biker Jacket, for instance, a product blog post. So given the URL of the product, we want to retrieve the features, which are based on the element type called feature (this is what is used with Nested Content) and we select the name, details and the URL for the image. The screenshot below shows the GraphQL query and the result.
This is a very simple example but demonstrates how you can tailor the request to get all the details you want in one go and easily work on the presentation of the data with the structured JSON data retrieved in the format you define. As you work with more complex data structures and bigger datasets the benefit of GraphQL increases and enables you to move efficiently and easily from query to result.
GraphQL will be publicly available on Umbraco Heartcore during Q3.
Content Delivery Platform
Both the GraphQL feature and the upcoming Preview API feature of Umbraco Heartcore are based on a new part of Umbraco Cloud we call the ‘Content Delivery Platform’ (CDP). The CDP is a highly performant and scalable platform built to make Umbraco Cloud more native to how content and metadata is stored and served (as JSON), handling the mapping and conversion of data as content is saved and published, focusing the CDP and its APIs on fast delivery of content to the client.
We are also very excited about our partnership with Cloudflare, which acts as the point of entry for all the Umbraco Heartcore APIs making them fast and reliable across all regions. We’re very happy with the low latency and performance of this setup and we expect to introduce further Cloudflare capabilities to Umbraco Cloud in the near future.
As already mentioned, we got a ton of stuff going on these days, here are a few additional updates:
👉 Development on the new Block Editor backed widgets for Umbraco Uno has started. We’ll release the new widgets together with the release of Umbraco 8.7 in Q3.
👉 We’re still closing up the last parts of Umbraco 8.7 which is expected to have a release candidate ready in August. One of the more exciting improvements that are still in progress is the enabling of detailed input validation in multiple levels for property editors, which we’ll introduce together with the new Block Editor. More updates on that in a future blog post.
👉 The next release of Umbraco Forms (details in a previous update) has been slightly delayed and is currently expected to be released mid-August.
👉 Work on the alpha release of the .NET Core version of Umbraco CMS is progressing nicely and still expected in Q3. Take a look at the recent post by Bjarke Berg on automated testing for Umbraco and follow our public issue tracker for options to involve yourself in this exciting project.
Until next time, take care.