Helping Kast build a multi-tenant platform on Orchard Core

Kast is an Australian company and one of their primary goals is to implement the Kast platform with the Kast Group Finder component. We worked together with Seth Cleaver (Co-founder and Director of Kast) on this tool to be able to create an intuitive self-service process that enables people within a church to easily find a suitable group to attend, simplify the administrative processes required for getting people into groups, and provide information to the group co-ordinators that might assist in planning and measuring effectiveness.

Background information

Every tenant of Seth's platform has a complex architecture that consists of two huge components: Event Management and Group Finder. Besides multiple church services, the Kast platform has a lot of events, including youth groups for a range of different ages, interest groups such as dances and art, men's and women's events, and so on. Some of these are single events and others are recurring. The Event Management component is responsible to provide the community and the members to easily discover these events using an attractive and easy to understand platform.

They have two websites, all running on Orchard Core:

Since March 2019 we've been helping Seth to build the Kast platform. Before starting to code together, we started with a training to give an overview of what can be achieved with Orchard Core, how can you do the content modeling, build your own custom theme from scratch and use Vue.js in Orchard Core to create multiple apps.

But what does Seth say about this?

The team at Lombiq have been an integral part of the delivery of the first release of our SaaS product in 2019. Lombiq's unique combination of expertise, talent and experience mean that they not only understand the requirements of the project they are undertaking but how it contributes to the wider vision for your product. The value of this can not be overstated. Having personally been in the web development space for over 16 years, I have found that Lombiq are one of those rare finds that consistently deliver more than expected in all that they do.

Now let's have a closer look at the Group Finder! But before doing that we have to get a deeper knowledge about how groups are made up.

Overview of what we've developed

First of all, every group has gatherings at different times. For example, a group could have gatherings every Saturday or every second Saturday at 4:30 p.m. - 5:30 p.m. To store the frequency of the recurring events that can be added to the user's calendar we decided to use RRULE strings. By using that we can programmatically define recurring and scheduled events. But of course, the users don't want to enter this kind of strings on the admin side of the site when creating happenings for the groups. We needed to implement a UI, where they can easily set up the start date and time with the end date and time and of course set the frequency. To solve this issue we implemented a form something similar that you can meet with on this page. This event date editor is created by using Vue.js.

Many churches already maintain group information and more in a church management system (ChMS), therefore our next task was to do the integration between Seth and his company and Elvanto. Calling Elvanto APIs and parse the JSON response could be not so tricky, but constructing the Group content types based on the input data involved more work.

The Group Finder app itself is a Vue.js application responsible for returning groups based on various search conditions. First, users have to provide a few details about themselves, then choose the relevant group types to show the right groups. For this, we needed to provide different pages with different kinds of forms. The Vue Router (which is the official router for Vue.js) is responsible for the navigation between the pages and to build this Single Page Application for easy usage. We used our open-source Vue.js module for Orchard Core to add the Vue.js component templates to Group Finder. If you are curious about how to use Vue.js within Orchard Core, you could see some great examples in our Orchard Core Training Demo module.


There are many times when building an application for the web that you may want to consume and display data from an API. There are several ways to do so, but a very popular approach is to use axios, a promise-based HTTP client.

When users get the list of the groups they can choose between them to find the relevant groups. When users would like to connect to a group, they need to send an expression of interest first with a personalized message. This means that the user, the group coordinators, and the group leaders will get an e-mail notification about the new person who would like to join the group.

Conclusion

The platform for Seth and his company involves lots of settings using the dashboard. By using Orchard Core, we could implement an interface for users with higher permissions to easily access the settings they need (and not more) without building the whole backend of the platform from the ground. Thanks to our new custom workflow tasks that users could easily set up, sending emails to the preferred addresses are solved in a very extensible way. And because Orchard Core itself also using Vue.js in some of the built-in modules, we didn't have to go far if we needed to find great examples to solve a given problem.

Is your company also ready to make the Orchard leap? Let's have a call!

Other recent posts

Municipal government permit management run on Orchard Core - GovTech company case study

Governments use Orchard Core too! Even in this blog, we've seen how Lombiq worked with the municipal government of Santa Monica and with the Smithsonian Folkways Recordings, which is an agency of the US federal government. But did you know that apart from flashy websites, Orchard can also provide important services for citizens behind the scenes? The multi-tenant case management platform of a GovTech company we worked with does exactly that: If you live in a US city, you may have dealt with your permit or other license via the platform! And as you may have guessed, we're working with the company as Orchard Core experts.We've been helping the company since late 2022 with a variety of Orchard Core consulting, troubleshooting, and development tasks. This started with a general review of the GovTech app, and how it's hosted in Azure, to find areas of improvement or potential issues. Since Lombiq has run Orchard, then Orchard Core projects, and hosted apps in Azure for a decade now, we can always pinpoint things we recommend changing.They also asked us to deliver some specific development tasks that improve the UX of the permit management platform or help the development team. Here's a quick overview of some of these: Setting up automated QA tools. For these, we utilized our Orchard Core-optimized projects: Lombiq UI Testing Toolbox for automated UI testing, Lombiq .NET Analyzers for checking the code for any possible issues, and Lombiq GitHub Actions to provide full-featured CI builds and Azure deployments. These all help keep the platform working well, improving the development team's productivity. A WYSIWYG editor for the Orchard Core admin area, utilizing the user-friendly Froala editor. Users of the platform weren't fully satisfied with Orchard's built-in editor, so this was a welcome improvement. Chunked file uploads: Hosting environments commonly have some restrictions on the size of an HTTP request. So, if you want to allow users to upload larger files, the app needs to upload them in multiple chunks (parts). This was important for them since files related to permit management can routinely grow beyond the usual size limits. So, we've implemented chunked file uploads both in the platform and as a contribution to Orchard Core. Since we at Lombiq are really focused on open-source, it's always great to work with clients who understand how the open-source ecosystem works and that you also have to contribute back. This is what their CTO & Co-founder says about us working together:Lombiq excels in SaaS technology development, particularly in the context of Orchard Core. Their distinctive expertise and capabilities enabled us to expedite the expansion of our platform. They were consistently responsive, delivered high-quality code, smoothly transitioned each project to our development team, and assumed full responsibility for their tasks. I highly recommend collaborating with them for any SaaS related project.Do you also work with government clients and want to make sure your Orchard Core app runs smoothly? Get in touch with us and let the Orchard Core experts help you!

Modernization and Orchard Core Migration of hastlayer.com

With a strong background in migrating websites to Orchard Core, we embarked on a journey to revamp hastlayer.com, the home of our cutting-edge .NET hardware acceleration project Hastlayer. This transformation was not merely a migration from the older Orchard 1 CMS; it was an opportunity to embrace Orchard Core's superior performance, modularity, and development experience. However, this migration was more than just a technical upgrade. It was a chance to refresh our website's appearance and align it with contemporary design trends. Hastlayer’s website was due for a facelift, its design needed a modern touch to resonate with current web aesthetics. Leveraging our expertise and experience, we utilized several of our own open-source projects developed over the years. Key Orchard Core modules such as Lombiq Privacy and Lombiq Helpful Extensions, along with utilities like Lombiq NodeJs Extensions, played a pivotal role. The Lombiq Base Theme as well as the theme of our company website served as the foundation for our theme, providing a robust starting point for customization. A distinctive aspect of this project was the creative process of reimagining hastlayer.com. Unlike client projects where we respond to external requirements and feedback, this was an internal endeavor. Collaborative brainstorming sessions shaped the vision and identity we wanted to communicate to our audience. We aimed to maintain a visual coherence with lombiq.com’s design, simultaneously, we aspired to inject a sense of uniqueness and distinction into hastlayer.com. To maintain simplicity, we reused numerous design elements and built upon them. Aligning the team's diverse perspectives required several iterations, but it ultimately led to a cohesive design that represented Hastlayer's ethos. The result is a revamped site that we are immensely proud of. It reflects our identity and the services we provide. We invite you to explore the new hastlayer.com and experience the innovation that defines us. As we revel in the success of this project, we look forward to future opportunities to renew and refine our digital footprint. Stay tuned for more exciting updates from Hastlayer, and more Orchard Core migration projects!

Git-hg Mirror is running on Orchard Core

Git-hg Mirror is a site of our own, that was previously built on Orchard 1 and was migrated to Orchard Core. The site is a simple-to-use (at least this is the intention) web application to automatically keep a Git and a Mercurial repository or two Mercurial or two Git repositories in sync. This allows you to create mirrors of repositories in the other version control system. The site’s FAQ page provides more information about the site’s purpose and functionality. This case study delves into the intricate journey of transforming Git-hg Mirror from its original Orchard 1 roots to the contemporary Orchard Core, highlighting the technical challenges and solutions that made this transition possible. Migrating a site from Orchard 1 to Orchard Core is beneficial because it allows you to take advantage of the latest features, improved performance and a more modern architecture, ensuring your website remains up-to-date and competitive in the ever-evolving digital landscape. As usual, we leveraged many of our own open-source modules that we've built and refined over time, such as Lombiq Helpful Extensions, utility modules like Lombiq NodeJs Extensions, Lombiq Base Theme as a base for the themes, Lombiq Hosting Tenants for tenant management, and Lombiq Helpful Libraries, as the name suggests, for generally useful libraries. The migration needed some work with User accounts (mainly a converter from Orchard 1 to Orchard Core and depersonalization maintenance, which is responsible for replacing the registered user's sensitive data like email address, the repository URLs or access tokens with randomly generated data for privacy reasons) thus this resulted in new additions to our open-source modules. Feel free to check these out, the User converter is now part of the Orchard 1 Recipe Migration feature and the depersonalization maintenance is included in the Lombiq Hosting Tenants project. Because of the user account migrations, the previously registered users will just have to reset their password the first time they try to log in, but they will get a notification about it and once they have done it, they will be good to go, nothing else has changed. We are happy with the results and the additions to our open-source modules and stay tuned, as we keep the migrations rolling.

Lombiq’s Journey with WTW’s Client Portal

WTW is a multinational company that provides businesses with various services such as insurance brokerage, risk management, and human resources consulting to help them manage risks and optimize their operations. Recently we had the opportunity to implement a specialized Orchard Core-based Client Portal for them. This portal, targeted towards insurance companies, was intended to be a replacement for an old portal used to download on-premises software & license keys, raise support tickets, and read knowledge base articles. WTW chose us to be partners on this project because we are large contributors to the open-source community, and found us to be knowledgeable and experienced based on our previous work. Our flexibility during the initial conversations was also a huge factor in their decision. With this opportunity, we got the chance to improve our experience in developing a user-friendly portal with a modern front-end framework and how it can be integrated into Orchard Core’s content management capabilities. The Client Portal, which was designed to be used by the customers, is just one crucial component of an overarching system architecture. The rest of the systems were responsible for managing software and license keys by administrator users. WTW specifically chose Orchard Core for this portal because of its robust content management capabilities. Content manager users now create announcements, external training materials, manage the product and services catalog, and arrange different widgets throughout the webpages using the Admin UI. Other components on the platform pull in information like product download links or license keys from other parts of the WTW system using web APIs. Given that it's a customer-facing portal, user experience was a priority. While it’s always a good idea to rely on Orchard Core’s display management the only way to use that is with page reloads during navigation between pages or filtering. Paginations are filters on the pages that should always be asynchronous, so we had to come up with a solution that uses modern front-end technology along with Orchard Core’s great features. During the course of this project, we’ve developed an open-source Vue.js module for Orchard Core to make user interactions smoother while still maintaining the built-in display management capabilities, such as widget and menu functionality. For quality code and maintainability, we utilized Lombiq's .NET Analyzers, Gulp Extensions, Helpful Libraries, Helpful Extensions, and NPM MSBuild Targets. Stability was critical, so we implemented several UI tests using the UI Testing Toolbox, ensuring they were executed before introducing a new feature using our reusable GitHub Actions. It was an exciting project and we delivered it on time. While the final steps on the rest of the architecture are being completed the whole portal is gradually being rolled out to users during the summer of 2023. If you're thinking about integrating a powerful CMS like Orchard Core into your architecture, we're here to help. We can either do the work for you or guide you through it in our consulting calls, just get in touch with us!