Blog

Create your DotNest sites now within the Azure Portal

DotNest has been available in the Azure Marketplace and Microsoft AppSource for quite a while. Both of these marketplaces are for people looking for Microsoft-adjacent technologies, and you could discover DotNest there. However, until now, you couldn't actually create and manage DotNest sites within the Azure Portal. But now you can!With this new integration, you can go to the Azure Portal, click "Create a resource", and from the search feature look for "DotNest" or "Orchard Core": There, you can subscribe to the Free plan, and create an Azure resource for your site:Once subscribed, you'll be able to create your site on dotnest.com by clicking the "Configure account now" button: After that, you'll be able to create your site with the familiar site editor as usual: Such sites function in exactly the same way as sites created right from dotnest.com. You get access to all the same features and pricing plans. Additionally, the site you created like this will be available as an Azure resource, just like other resources like virtual machines, Web App, SQL Server databases, or anything else. You can check it out by going back to the Azure Portal and browsing to the resource: You can get to the site editor from the "Open SaaS Account on publisher’s site" link, or by opening the Site Management Dashboard on dotnest.com. And canceling the subscription on the Azure Portal deletes the site.All of this makes it a lot easier for you to create and manage DotNest sites along your existing Azure services, and thus integrate DotNest-hosted sites into your infrastructure better. So, check it out on the Azure Portal!

DotNest sites upgraded to the latest Orchard Core (2.1.6) version

We have recently finished upgrading DotNest to the latest Orchard Core version (2.1.6) so that you can enjoy the very best and latest Orchard has to offer on your own sites too!Coming from version 1.8.3, it was a fairly large task as both .NET/ASP.NET Core and Orchard introduced tons of changes: Some of them breaking, but also a large number of bug fixes, improvements and new features. Version 2.0 was especially impactful, as it includes important changes under the hood that increase the overall performance and reliability of the whole application. We are thankful for the huge (and ongoing) community effort that went into these releases!Besides making everything more stable and better overall, how does this affect you as a site owner/operator? There's no easy answer, because it depends on how your site is configured, but we encourage you to check out the Orchard Core 2.0.0 and 2.1.0 release notes. Here are some of the highlights:We disabled the Email feature on sites that do not send emails (e.g., for user registration, password recovery, workflow email activity) so it won't bother you. Please let us know if this happened on your site by mistake.The Twilio SMS provider is no longer enabled by default, so if you use it to send text messages, enable it under the SMS settings.Media Indexing is now split up into a handful of features specific to a file types, so enable those if you want to keep indexing PDF, plain text, and Office files.Improvement: Dashboard Widget stereotype makes it easier to create dashboards.New features:Azure AI SearchUser Localization (on the Admin Dashboard)Secure Media Files give you control over how your media files are accessed.URL Rewriting for improved SEO.Workflow Trimming cleans up workflow instances beyond a specified retention period. This feature cannot be disabled and the retention period is maximized in 180 days.New workflow event: User ConfirmedNew permissions:Disable Two-factor AuthenticationApply ThemeSite Owner permission is deprecated, Administrator role is now a system role.Improved culture support in Liquid. Also see our tips on customizing the theme of your site.How do you like this upgrade? Let us know in the comments below and thanks for using DotNest!

DotNest.com now runs on Orchard Core

Believe it or not, while you could create Orchard Core sites on DotNest for years, until now, this website still ran on Orchard 1 :). This is now the past, though, and DotNest.com is as up to date as the DotNest sites!You'll get the familiar DotNest experience, nothing new to learn. There are a couple of notable improvements, though:You can now secure your account with two-factor authentication. Check it out here.The new site is much faster, you'll like it!And finally, you'll be prompted to update your password on the next login - just something we needed to migrate the accounts to the new site. All your data is intact, especially your sites, which had nothing to do with this migration anyway (they run in a different app).Enjoy, and our case study is coming soon!

GPU Day case study: Migrating another Orchard 1 DotNest site to Orchard Core with smart compromises for quicker implementation

We’ve already presented a case study for the Show Orchard website focusing on migrating an Orchard 1 DotNest website to Orchard Core with content migration using the Orchard 1 Recipe Migration feature; you can read that here. Now, the GPU Day website is very similar except the content migration was simplified and we didn’t overhaul the website markup and styling. It’s a great example of how you can easily transition to Orchard Core keeping everything as is if you don’t have the time or budget to modernize every area of the site. As most of what we at Lombiq do, this project is also open-source. If you’d like to follow along, you can have a look at the theme’s source code here. This is a post by Márk Bartha, software engineer at Lombiq. Introduction GPU Day is a conference organized by the Wigner Scientific Computational Laboratory that focuses on massively parallel computing, visualization, and data analysis in both scientific and industrial applications. We also presented our Hastlayer .NET hardware accelerator project many times there too. The website serves as an information hub for these annual conferences. It was initially running on Orchard 1 DotNest, but now it was time to migrate it to Orchard Core. While these migrations always come with certain challenges due to the new features introduced in Orchard Core, we tried to keep things easy by not changing the frontend of the site, even though it's somewhat outdated. Rethinking content types Each GPU Day event needed to display various types of information, such as the schedule, speakers, and location details. Previously, with Orchard 1, this process required creating separate content items for each type of information and then linking them using the Projection or Content Elements in the Layouts editor. However, Orchard Core offered a more streamlined approach and we could simplify it. First, there was no real need for the option to organize the elements' position, so we didn’t just replace it with FlowPart. We used content fields instead, for example, the "About GPU Day" section is now just an HtmlField instead of a separate content item. For organizing the event schedule, we introduced an Event Day content type to represent each day of the event, capturing its title and date. Additionally, we created an Event content type for each specific activity, detailing its time and other relevant information. There’s another content type called Event with their details along with the date and time of it. With all this information we were able to add a BagPart called Schedule to the GPU Day type and let the admins add Event Day items. Then, there was a query responsible for fetching all the Event items where their day matches with the one set to the Event Day item. The Speaker items, similarly to the Event items, are managed separately, but we also use a Taxonomy called Year. It’s the same implementation we had on the Orchard 1 site: if the Year value matches with the one selected in the Year TaxonomyField on the GPUDay type, then a query can fetch the related speakers. Migrating the old events While we didn't utilize the migration utility, we still needed to transfer all the past events. Although there weren't many content items, recreating the events manually would have required us to also create all the speakers and scheduled programs, and there were around a hundred of them. Considering these events are already in the past, the easiest solution was to create a content type called Old GPU Day with an HtmlBodyPart and simply grab the markup from the live site. The only adjustments needed were to the image URLs. The relative paths were fine since we copied the entire media library, but in the old system, they were prefixed with "https://dotneststatic.com/”. We had to replace this with a Liquid media filter (e.g., https://dotneststatic.com/media/images/wigner-logo.png became {{ "~/mediatheme/images/wigner-logo.png" | href }}). Finally, we ensured that these are rendered exactly the same as the normal GPU Day items and that the queries listing the old events capture both the old and new ones, ensuring that a visitor won’t notice any discrepancies. Keeping the original styling completely Back then, the theme was originally built on a third-party template. We implemented multiple shape templates where the markup followed the original design. With the migration, we didn’t aim to overhaul or modernize the styling. We still wanted to use our NodeJS Extensions for asset compilation, though. So, we simply copied over the old .scss files along with the third-party assets and ensured they compiled, resulting in the same styling. It was more or less straightforward; however, we had to fix a few breaking changes with the new compiler, such as using math.div() instead of a slash (see more about this here). To keep the markup as it was, we copied the original Liquid code into their corresponding templates. The Liquid code had to be modified since it is not entirely compatible with Orchard Core, which uses a different library and set of filters. For example, the {% Href "~/Themes/GpuDay.Theme/Images/wigner-logo.png" %} code was changed to {{ "~/mediatheme/images/wigner-logo.png" | href }}. Lombiq modules and utilities involved During development, the NodeJS Extensions utility proved invaluable, as it automatically compiles all assets during the build process. The Lombiq Media Theme is an ideal choice for developing a media theme for DotNest, compiling your templates and assets into a deployable package; refer to the documentation for further details. Lastly, we used the Lombiq Privacy module to ensure GDPR compliance. Summary Migrating old websites from Orchard to Orchard Core doesn’t have to be a huge hassle if you're willing to make some compromises. We were content to use the old markup and assets, and we managed to store the entire HTML markup of the old events in an HtmlField to keep the process simple and less labor-intensive. Ultimately, the admins can now enjoy the more user-friendly content editing capabilities of Orchard Core to create this year's GPU Day event – see what Balázs Kacskovics told us about it: Our work became much easier with the new admin panel. With fewer menu items, it became much more transparent and intuitive than before. Now, finding the relevant options and content items is a simple task. Also, fewer content types mean less hassle for us, e.g. the editing of the new GPUDay content item is more efficient and less time-consuming, also we can make fewer mistakes with the new frame. If you're considering migrating your Orchard 1 website to DotNest Core, this is an excellent time. Should you have any questions or encounter challenges don’t hesitate to reach out to us. We're always ready to bring our expertise to your unique project needs. Get in touch with us today, and let's start making your Orchard Core website even better!

DotNest is 10 years old - celebrate with our special offer!

It's incredible to think about it, but DotNest just turned 10 today. Yes, we started on the 4th of March, 2014! While we're primarily an Orchard Core SaaS today, at that time, it was Orchard 1, of course. And since then, you've chosen us to host almost 6700 Orchard sites - wow, thank you! We wanted to celebrate this unique occasion with a very special limited offer; read on to see what you can get now if you launch a new site on DotNest. You can create an Orchard Core site on DotNest any time for free. However, we offer some premium features too. The most popular paid feature is the ability to use a custom domain name (like example.com) with your DotNest site, instead of the default example.dotnest.net one. If you purchase that service for a whole year, then we give you a month for free. But now, to celebrate 10 years of us working together, for every new site you can have an additional 10% off of this yearly fee! Instead of $275, one year of custom domain usage now is only $248. But this is not all. You can do a lot with your DotNest site, as you can see from the knowledge base. While we have everything documented, having a mentor for this, who gives you some guidance and a helping hand surely makes it easier. We've done this with many companies and individuals before, as you can see from our case studies. And now we'd be happy to help you, too: If you launch your new site, we'll provide you with one hour of expert one one-on-one consulting! Do you want to launch your DotNest site and use this special offer? Be sure to do it before the end of March, because we'll have this in our birthday month only! Contact us to make use of this limited opportunity and we'll get you going.

Interactive Orchard Core tutorials now available with Lombiq Walkthroughs

Do you want to learn about the most important Orchard Core features with a hands-on tutorial that guides you with interactive tooltips, right there in Orchard Core? We now have a module available for you! We recently added the Lombiq Walkthroughs for Orchard Core module to the selection available to all DotNest sites. This module teaches you the Orchard Core fundamentals by guiding you through step-by-step tutorials right there on the Orchard Core admin. Popups and tooltips tell you what to look for and what to do, as well as they include links to further recommended resources. Check out a demo video of this module here. And now you can use it right away on DotNest! Just create a new DotNest site, select the Walkthroughs recipe when running its setup, and you'll get a neat Orchard Core tutorial starting right on the homepage!

Show Orchard case study: Migrating an Orchard 1 DotNest site to Orchard Core

If you're looking to migrate an Orchard 1 website along with its content items to Orchard Core, whether on DotNest or any other Orchard Core website, the DotNest Core SDK and Orchard 1 Recipe Migration feature make the process straightforward. The Show Orchard website is a practical example of this, what we just migrated to Orchard Core. This is a post by Márk Bartha, software engineer at Lombiq. Introduction Show Orchard is an Orchard CMS showcase, displaying only the best Orchard Core and Orchard 1.x powered sites from around the web. It was started by Ryan Drew Burnett, now maintained by Lombiq Technologies. When we took over the project, we already implemented it on DotNest, but at that time it was an Orchard 1 site. Since DotNest fully supports Orchard Core, it was time to migrate it. However, since a lot has changed since Orchard 1, it required us to rethink a few widgets here and there, and also we had to take care of the existing content items. Do you want to jump right into the code? You're lucky since the Media Theme-based theme of Show Orchard is open-source and available here! Preparations Creating a DotNest site is most efficiently done by utilizing the DotNest Core SDK. The SDK is an actual Orchard Core website that comes equipped with a preset of features and themes that are already available on DotNest. It also activates the Media Theme feature, a tool used for hosting your theme assets and templates conveniently in the Media Library. There’s also a handy utility known as the Media Theme Deployer that takes your Liquid templates from the Views folder and assets from the wwwroot folder, packaging them into a Media Theme recipe ready for import on DotNest. We used a fork of this SDK repository for our own DotNest sites and started to develop the theme as if it were a typical Orchard Core site, always mindful of the limitations. Content types and UI components The websites and their data (e.g., URL, developer name and contact, image, category) are stored using the Website content type. The AutoroutePart is attached for the friendly URL, and the HtmlBodyPart is included for the optional interview with the developer. The configuration of this content type, including the category taxonomy, aligns with the Orchard 1 version of the content type. The header and the footer are implemented directly in the Layout.liquid file for simplicity. This approach has been effective, as it hasn’t required editing for years; if it did, we would have used a widget. The menu is implemented utilizing the Menu feature and is displayed with the Menu shape. There is a specialized Categories menu that requires additional implementation. This menu lists all the terms from the Category taxonomy, each linking to a page displaying the corresponding content items. To accomplish this, we created a new menu item content type (the stereotype being MenuItem). We then used a Query to retrieve the Category taxonomy in the menu item's shape override, displaying the term items' display link. The Queries feature proved invaluable for other components as well. For instance, the stepper on the Website content item detail pages and the listing of related Website items both leverage this feature to fetch the necessary content items. Automated styling compilation The original styling of the Show Orchard site was outdated. It was built on an old version of Bootstrap, utilized LESS for styling, and the classes didn’t follow our favored BEM conventions. To modernize and enhance the styling, we shifted to Bootstrap 5 and adopted Sass for styling. Lombiq’s Orchard Base Theme served as the foundation for the theme, offering helpful shapes, including the GoogleTag shape designed specifically for Google Analytics integration. Compilation of the assets was efficiently handled by Lombiq's Node.js Extensions utility. Migrating Orchard 1 content items to Orchard Core The Orchard 1 Recipe Migration feature in the Helpful Extensions module proved to be extremely useful for this task. It’s a feature that adds a page to your Orchard Core website where you can import an Orchard 1 recipe, converting it into an Orchard Core recipe. However, there were a few challenges encountered. We had to create IOrchardContentConverter and IOrchardExportConverter implementations to address specific data needs. These providers are designed to extend the recipe converter logic with custom logic, either per imported content or after the whole export, to carry out additional tasks. For us, it was essential to ensure the Category taxonomy terms were imported accurately, and their IDs were correctly assigned to the Category taxonomy fields. We also faced a task with the exported Media; in Orchard 1, Image and other content types represented a media item and had their ID referenced in Media Fields. In Orchard Core, it’s directly associated with a relative path to the media file. To address this, we used an IOrchardExportConverter to map the legacy IDs to the media paths and assign them to the new media fields. We decided against including the actual images with the media recipe step in the recipe, as it would result in a massive file size and a potential timeout. Uploading them manually to the appropriate Media Library folder wasn't a significant issue. Conclusion Though the Show Orchard website is simplistic in its design, migrating data and re-implementing various elements presented its own set of challenges. Nonetheless, we are pleased to announce that the site is now seamlessly operating on DotNest Core. Our next step is to transition all of our remaining DotNest sites to Core as well. If you're considering migrating your Orchard 1 website to DotNest Core, this is an excellent time. Should you have any questions or encounter challenges don’t hesitate to reach out to us. We're always ready to bring our expertise to your unique project needs. Get in touch with us today, and let's start making your Orchard Core website even better!

DotNest upgraded to Orchard Core 1.7

Orchard Core, the CMS behind DotNest sites is constantly improved by its community, including us. Now it got its v1.7 release, which is available on all DotNest sites too. The community recently released the latest 1.7 version of Orchard Core with several new features and additions! There's a new SMS and SMS Notifications module that provides a way to send SMS messages and notifications to users using SMS services. And by utilizing the new two-factor SMS Method feature, you can also transmit a two-factor authentication code to the user via SMS. And yes, this means that starting with version 1.7, Orchard Core is shipped with everything you need to secure your app with two-factor authentication. The Lucene and Elasticsearch features are capable of searching within PDF files because PDF files are indexed by default. As an enhancement, we added a new feature called Media Indexing which extends the media indexing capability to also encompass searching within files with the following extensions .txt, .md, .docx, and .pptx. And we have a lot more to cover! Check out all the details of the release in the official release notes. All of the DotNest sites can now use these new features, and the other improvements that the new version brings, because we upgraded the platform to Orchard Core 1.7 too. Actually, your site already used a pre-release version of 1.7 for a few weeks, due to us updating to it to get some bug fixes. Enjoy the latest and greatest Orchard Core version! There shouldn't be any problems apart from this obscure one, but if you notice anything, please don't hesitate to get in touch with us via our support channels.

Your DotNest site (almost) never goes down

You're trusting DotNest with your Orchard sites because you want some convenient, flexible, and reliable hosting. It's surely convenient (just a couple of clicks and you have an Orchard website running), and it brings all the flexibility of Orchard Core and Orchard 1. However, about that reliable part: How reliable is DotNest, actually? Pretty damn reliable! So, let's look behind the scenes and see some numbers. When it comes to the availability of a web app, we're talking about it serving users (requests) with correct results (i.e. not just error pages but what they're actually looking for) within some performance metrics (like if a page takes a minute to load then technically it's working but we consider the app unavailable). If it does this almost every time, then we can say it's reliable. What does this look like for DotNest? You may already know that DotNest runs on Microsoft's cloud, Azure. We collect telemetry data about how the platform performs with the Azure feature Application Insights: It's quite a useful tool to see all kinds of metrics and charts about how fast DotNest is, whether there are any errors, and all kinds of details down to the individual requests. It also immediately notifies us if something is off, even if you don't notice anything wrong with your site! But for cases when you do notice, we also use Application Insights availability tests: This pings endpoints of the platform periodically, much like an ordinary user would, and verifies that they load correctly and within 30 seconds (this is the minimum threshold that's possible to configure). It does this from multiple locations around the world, so we can also know if there are network issues. For DotNest, Azure pings the app every 5 minutes from 5 locations. A failure means that the request's response is incorrect or takes more than 30 seconds. If it fails once, then it'll try again within 20 seconds, and then once more again; the app is considered unavailable if it still fails on the third try. Here are the availability metrics of one of those endpoints for the Orchard Core sites for the last 3 months: Yeah, that's 17 failing availability checks in 3 months! The tiny blip you may notice on the chart around mid-July was because of that; this was the only outage we had, for a total of 5 minutes. Sounds pretty reliable, right? All this translates to an availability of 99.99% which is something we're quite proud of being able to provide for you! BTW the reason why checks from the East US region are the fastest is because the app is hosted in the East US data center of Azure. For the rest of the locations, it takes this much for the data to travel back and forth via the internet. If you don't done it already and want to host your sites on the hugely reliable DotNest, create your site here! We also guarantee reliability in our Terms of Service.

Cloudflare CDN and protection for all DotNest sites

If you're hosting your Orchard Core or Orchard 1 site on DotNest, you don't have to worry about a lot of things, like the basic security and speed of your site. That's kind of the point, right? Now the good news is, that we improved both the security and speed of your website with a service called Cloudflare, that you don't have to worry about either! Cloudflare is a great service that can sit in front of your site and make it a lot better by providing the following and a lot more: Automatically renewed SSL certificates so the communication between users and your site can't be eavesdropped. We already had secure connections for your sites forever, but this is even better. Speed up by utilizing Cloudflare's worldwide Content Delivery Network (CDN). When a user visits your site, instead of their browser downloading the content directly from DotNest's servers, which are on the East coast of the US, they'll now download it from one of Cloudflare's close CDN nodes. This can make things a lot faster, especially if that content was already requested by somebody else from the area, thus making it available from the local node's cache. Security features, e.g. masking e-mail addresses from spam crawlers, defending against spam pots, and offering DDoS protection. And all of this is now available for all DotNest sites! BTW if you used a custom domain, our recommendation has long been to use Cloudflare for that too. Do you want to see for yourself how a DotNest site works together with Cloudflare? Create one here for free!