Modernizing hajosnep.hu: Rebuilding an Orchard 1 website with Orchard Core on DotNest
Hajosnep.hu is the website of TIT Hajózástörténeti, -Modellező és Hagyományőrző Egyesület (TIT HMHE), a Hungarian non-profit civil association dedicated to preserving and promoting nautical history and ship modeling. As Hungary's longest-established maritime history organization, the association combines historical research, model building, public education, and cultural preservation in its activities. They regularly organize exhibitions, model competitions, publish materials related to maritime history. Fun fact: the name "hajosnep", or properly written, "hajós nép" means "seafaring nation". Something that Hungary, being a landlocked country, definitely isn't. However, the site's name is a homage to the time when Hungary in fact was a seafaring nation, with ports on the Adriatic sea and a shipbuilding industry that launched not only merchant vessels but also submarines, cruisers, and even a battleship for World War I. Something that TIT HMHE members research with scientific rigor. This project focused on renewing the association's long-running website by rebuilding it on Orchard Core and deploying it to DotNest. The goal was to modernize the visual design, improve usability across devices, and merge previously fragmented blog content into a single, maintainable system. This case study was written by Ádám Jakab, software engineer at Lombiq, who also carried out the technical implementation of the project. Why modernization was important The original website was launched in 2010, originally built with PHP and a custom CMS, to share news, activities, media about the association, and information about NAVIGA ship model competitions. While the site evolved over time, it had not received a major redesign since 2012, when it was migrated to Orchard (1) CMS. The passing of time resulted in an outdated visual appearance and a lack of mobile-friendly design, which made modernization overdue. In addition, blog content was split between the website and an external blogging platform, blog.hu, making content management fragmented. For a direct visual comparison, representative pages from the old (top) and renewed (bottom) websites are shown below. Technical details The project was approached as a renewal rather than a strict migration. Instead of attempting to recreate the previous Orchard 1 setup feature by feature, the focus was on rebuilding the site using Orchard Core's modern capabilities while preserving existing content where it made sense. Starting point To establish the core structure, the association's other website, lajtamonitor.hu (which also runs on DotNest), served as a proven foundation. Both sites utilize Orchard Core's built-in Blog recipe, providing ready-made content types for blogs, posts, pages, and tag-based taxonomy. Most individual pages were built using the standard Page content type with an attached Flow Part. This allowed me to compose pages using multiple Liquid Widgets, with each widget representing a distinct section of the page. To ensure a consistent design, I used Lombiq's Base Theme, which provides reusable mixins and shared components that keep the styling maintainable. Developing for DotNest Building an Orchard Core application for DotNest primarily focuses on custom theme development. To achieve this, I used Lombiq's DotNest Core SDK, which is specifically designed for building themes and sites in a SaaS environment. Because DotNest is a restricted SaaS platform, I utilized Lombiq's Media Theme module. This allowed me to deploy the theme directly to the Media Library, giving me full control over the site's appearance while working within the platform's constraints. Building on these foundations, the site's search functionality was implemented using Orchard Core's built-in Lucene during development, with Elasticsearch used in the production environment. To ensure a cohesive user experience, I applied consistent styling across the main search page, the blog search, and the various taxonomy-based results. I also used custom Liquid templates and overrides to define the site's layout and content presentation. To manage static assets like SCSS, images, and JavaScript, I used Lombiq's NodeJS Extensions. This provided a modern asset pipeline with SCSS compilation, CSS minification, and npm dependency management, allowing me to easily integrate frontend libraries such as Swiper, Lightbox, and imagesLoaded. As an example, here is the Swiper image gallery in action: Key challenges and solutions Developing for DotNest requires working within the platform's constraints, most notably the inability to use custom back-end C# code. To overcome this, the project was implemented entirely using built-in Orchard Core features, and Liquid templates, overrides and theme-level customizations. By using Liquid, I was able to handle complex tasks such as building dynamic breadcrumbs, managing resource injection, and creating sophisticated content, part, and field overrides. This project demonstrates that by using custom shapes and Orchard Core's flexible templating system, it is possible to achieve high-level functionality and design without the need for custom server-side logic. Keeping accessibility in mind Accessibility was an important consideration throughout the development of the site. The templates and layouts were implemented with semantic HTML, proper heading structure, sufficient color-contrast and keyboard-friendly navigation to support assistive technologies and improve overall usability. To help ensure ongoing accessibility compliance, automated UI tests were added using Lombiq's UI Testing Toolbox. These tests integrate axe-core to validate pages against common accessibility rules and detect potential issues early during development. By running accessibility checks as part of the automated test suite, regressions can be identified quickly as the site evolves. This approach helps maintain a consistent level of accessibility across the website while reducing the manual effort required to validate changes. Migrating blog posts from blog.hu A key part of the project was consolidating content from the association's external blog on blog.hu. Using the platform's export functionality and a custom-built Python script, I successfully migrated blog posts dating all the way back to 2010 into the new system. The migration process involved several technical steps:Format Conversion: The original XML export from blog.hu was converted into an Orchard Core-compliant JSON recipe.Asset Management: I automated the download of all necessary images and files, migrating them into the new site's Media Library.URL Rewiring: To ensure a seamless transition and preserve SEO value, I rewired all content URLs and internal links to match the new structure. By leveraging Orchard Core's recipe functionality and AI-assisted data transformation, I was able to preserve over a decade of history in a modern, unified format. Future plans At the time of writing, the website is primarily available in Hungarian. However, the site was built from the ground up with multilingual support in mind. The content structure and Liquid templates are fully compatible with Orchard Core’s localization features, allowing additional languages to be introduced without any structural or code changes. An English version of the site is planned as the next major step. While the website already hosts a small number of English-language blog posts, extending full bilingual support will make the association’s research and nautical history work accessible to a much broader international audience. Until then, here are few English blog posts for you to check out: https://hajosnep.hu/blog/book-about-the-history-of-the-yacht-rumijahttps://hajosnep.hu/blog/inspirations-japanese-naval-engineering-student-revives-long-forgotten-plans-for-the-steamship-nederland-of-1914https://hajosnep.hu/blog/the-success-of-scientific-activityhttps://hajosnep.hu/blog/inspirations-solving-the-puzzle-investigating-the-details-of-an-abandoned-projecthttps://hajosnep.hu/blog/the-development-of-oceangoing-steamships-1840-1940 Summary The renewed hajosnep.hu website now provides a modern, mobile-friendly platform for the association to share content, engage with the community, and showcase Hungary's maritime history. The site is fully maintainable, accessible, and prepared for future multilingual expansion, ensuring it can evolve alongside the association's needs for years to come. If you are considering a website renewal or migration, especially on Orchard Core or DotNest, this project demonstrates how a robust theme foundation and an automated asset pipeline can help modernize even complex legacy sites in a maintainable and future-proof way.