Our blog contains the activity stream of Orchard Dojo: general news, new resources or tutorials are announced here.

Featured tags

IIS
API
SMS
SEO
All tags >

Orchard Harvest 2024, log file path based on orchard_app_data environment variable - This week in Orchard (12/04/2024)

Add cache busting parameter to media thumbnails and links in Media Library, the log file path now based on the orchard_app_data environment variable, and the latest news about this year's Orchard Harvest conference! Check out our post for the details! Orchard Core updates Add cache busting parameter to media thumbnails and links in Media Library It's recommended to send long far-future client cache TTLs in HTTP response headers for static resources like images, documents, and CSS files, and this is what Orchard Core also does. However, in the Media Library admin, this causes an issue if you change files since thumbnails and View links will now load the old files. This is especially a problem with CDNs, since then it's not just your browser caching these files but the CDN too, which for an ordinary user is impossible to purge, and thus they won't see the updated files. The solution here is to make Media Library admin thumbnails and View links use the usual cache-busting parameter mechanism. Log file path based on orchard_app_data environment variable As described in the document here, setting the environment variable orchard_app_data doesn't change the log location, and logs are still placed under the App_Data folder. So, if you created an environment variable orchard_app_data with value C:\\orchard_data, and ran the application with the Default tenant, you noticed that the Sites folder created at C:\\orchard_data but logs are generated under App_Data. But because the orchard_app_data environment variable has a value C:\\orchard_data, logs should also be created under C:\\orchard_data. The goal of this change was to fix this behavior. News from the community Orchard Harvest 2024 We had the first online Orchard Harvest last year, and it was so great to see that we had 188 sign-ups for the conference! It was an excellent opportunity to share knowledge, talk about development plans and ideas, and foremost, meet the rest of the worldwide community. And of course, we recorded every session, which means they are available on YouTube! Click the link to rewatch all the inspiring talks and discussions! So, after last year, the Orchard Harvest Conference will be held again in 2024. Last year it was held online due to economic reasons. This year the organizing team has decided to finally organize the Orchard Harvest 2024 Conference in person. Each year, we try to attract as many people as possible, and a face-to-face event helps to build truly productive relationships. Last year, we started organizing the event in Las Vegas, so that's one of the reasons we're going to do it here again this year! Also, most of the active people in the community are either from the US or can reach the US. According to the questionnaire, most people wanted the event to take place in September. With the organizers, we agreed that a Thursday and Friday would be best, so it wouldn't take so many working days away from people. They could even stay for the weekend on an individual basis. Finally, we chose the 12th and 13th of September. It's not right after the summer holidays, people don't travel as much then. There are fewer things that could come up for potential participants that would prevent them from participating. Also important is that it does not interfere with any national holiday. We are currently working with the organizers on a contract with the venue. We are also thinking about what themes the event should be based on. Furthermore, we are trying to put together a set of goals that we will try to follow through. Do you have any ideas that you would like us to consider? Please tell us under this GitHub Discussion! There is a possibility of sponsoring the Orchard Harvest conference, and we are currently in the planning stage. We would be open to it if you would like to sponsor our event. If you are interested, you can contact us using [email protected] or the [email protected] email addresses, and you can also write under the mentioned GitHub Discussion page. If you would like to be kept informed about the events around the conference sign up here to receive our announcements about Orchard Harvest. As we move forward, we will keep community members informed of the details, and you will also find every detail in this newsletter too! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 471 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

Azure Email Communication Services, documentation for Full-Text Search for Admin UI - This week in Orchard (28/03/2024)

Add documentation for Full-Text Search for Admin UI, add support for sending emails using Azure Communication Services, and our Open-Source Orchard Core Extensions solution is updated to Orchard Core 1.8.2! Check out our post for the details! Orchard Core updates Add documentation for Full-Text Search for Admin UI Starting with version 1.7, new options have been introduced to enable control over the behavior of the Full-Text Search in the administration user interface for content items. For instance, consider a content type called Product. Currently, when a user performs a search, the default behavior is to check if the search terms are present in the DisplayText column of the ContentItemIndex for the content item. However, what if a user wants to search for a product using its serial number, which is not part of the DisplayText field? Head to the updated section of the documentation of Orchard Core to see how you can achieve this easily! Azure Email Communication Services A new email provider was added to allow you to send emails using Azure Communication Services. Furthermore, the OrchardCore.Email module has undergone a refactoring process with no breaking changes. However, there are compile-time warnings that are recommended to be addressed: Previously, we used the injection of ISmtpService for sending email messages. In this release, it is now necessary to inject IEmailService instead. The SMTP-related services are now part of a new module named OrchardCore.Email.Smtp. To use the SMTP provider for sending emails, enable the OrchardCore.Email.Smtp feature. If you were using the OrchardCore_Email configuration key to set up the SMTP provider for all tenants, please update the configuration key to OrchardCore_Email_Smtp. The OrchardCore_Email key continues to work but will be deprecated in a future release. So, sending emails is provider-based, and now it's really easy to extend. If someone wants to create their provider for email, they can easily implement the IEmailProvider interface and that's all you need to do to add a new provider. If you navigate to the Features page under Configuration and type email, you will see these three features. Now, let's enable all three features, and let's see what will happen! As you can see, the Email settings page under Configuration now contains three tabs:- Providers: here, you can set up the default email sender provider that you want to use.- Azure: settings related to the Azure Provider.- SMTP: settings related to the SMTP Provider. Under the Email Test menu, you can test your providers where the first drop-down, called Provider, contains all of the active features that can be used to send emails. You can read more about these modules in the documentation, where you will find a page for the base Email module, the Azure Email module, and the Email SMTP module. News from the community Updated Lombiq's Open-Source Orchard Core Extensions This Orchard Core Visual Studio solution contains most of Lombiq's open-source Orchard modules and themes, as well as, related utilities and libraries. Please keep in mind that only those extensions included that use the latest released version of Orchard (i.e., the very cutting-edge ones depending on a nightly build are not yet here). And now, this solution has been updated to the latest and greatest 1.8.2 Orchard Core version. Check them out here, and install them from NuGet or from the source! Bug reports, feature requests, comments, questions, and code contributions are warmly welcome, please do so via GitHub issues and pull requests. Please adhere to our open-source guidelines while doing so. Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 474 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

Updating the Admin attribute, using Vue 3 in the Lombiq Vue.js module for Orchard Core - This week in Orchard (21/03/2024)

Updating the Admin attribute, adding support for the ReCaptcha onload callback, and a demo about using Vue 3 in our Vue.js module for Orchard Core! Head to our post, and let's see the details! Orchard Core updates Updating the Admin attribute Now, all the routes have been moved from the Startup.cs files to the [Admin] attribute to define the admin routes. It's much easier to write and much easier to read. The [Admin] attribute has optional parameters for a custom route template and route name. It works just like the [Route(template, name)] attribute, except it prepends the configured admin prefix. You can apply it to the controller or the action; if both are specified then the action's template takes precedence. The route name can contain {area}, {controller}, and {action}, which are substituted during mapping so the names can be unique for each action. This means you don't have to define these admin routes in your module's Startup class anymore, but that option is still available and supported. Let's take a look at this example: [Admin("Person/{action}/{id?}", "Person{action}")]public class PersonController : Controller{ [Admin("Person", "Person")] public IActionResult Index() { ... } public IActionResult Create() { ... } public IActionResult Edit(string id) { ... }} In this example (if the admin prefix remains the default "Admin"), you can reach the Index action at ~/Admin/Person (or by the route name Person) because its own action-level attribute took precedence. You can reach Create at ~/Admin/Person/Create (route name PersonCreate) and Edit for the person whose identifier string is "john-doe" at ~/Admin/Person/john-doe (route name PersonEdit). Here is a real example from the source code of Orchard Core where you can see how to use the [Admin] attribute in the example of the DashoardController. Add support for the ReCaptcha onload callback Let's say you use JQuery Unobtrusive Validation to validate your forms. It's a common practice to use the ReCaptcha feature to protect the forms against robots. You may want to add validation to the reCAPTCHA form element, which is loaded dynamically and thus can't be added until after the reCAPTCHA is loaded. Fortunately, Google provides an onload parameter that you can provide on the ReCaptcha script. Unfortunately, there wasn't a convenient way to specify that parameter when using the ReCaptchaTagHelper. The solution here is to add an attribute to the ReCaptchaTagHelper to specify the onload callback. Demos Using Vue 3 in the Lombiq Vue.js module for Orchard Core The Lombiq Vue.js module for Orchard Core is an Orchard Core module, that contains Vue.js and commonly used Vue.js components to be used in other Vue.js apps as dependencies. Provides extensibility to create Vue.js component templates as Orchard Core shapes making them able to override in themes or modules. If you remember, we had a demo about it where we showed how you can use Vue.js Single File Components! But this time we will try out something else, because starting version 4.0, this Orchard Core module is using Vue 3 and only supports SFC compilation. Resources are now imported as Javascript modules, so the Vue 3 used by your component is independent of Orchard Core's built-in vuejs resource, and the two can exist on the same page. This module is part of our Open-Source Orchard Core Extensions solution. This Orchard Core Visual Studio solution contains most of Lombiq's open-source Orchard modules and themes, as well as, related utilities and libraries. Please keep in mind that only those extensions included that use the latest released version of Orchard (i.e., the very cutting-edge ones depending on a nightly build are not yet here). So, let's clone this solution and find the project called Lombiq.VueJs.Samples. This project uses Vue 3, even though Orchard Core still uses Vue 2. Interested in how it works in practice? Check out this video to find out! News from the community Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 475 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

User Localization settings, Orchard Harvest survey results - This week in Orchard (15/03/2024)

Updating GraphQL for .NET to the latest version, new User Localization settings, and announcing the results of the Orchard Harvest 2024 survey! Check out our post for the details! Orchard Core updates Update GraphQL for .NET to latest GraphQL for .NET is an implementation of Facebook's GraphQL in .NET. This library is currently on v7.8.0 while Orchard Core used v4.8.0. While this is not hugely old (released in March 2022), it still is, and we were too much behind. This huge update involved many API changes and a lot of work from the contributors. Thanks to them, now you can use the latest version of GraphQL for .NET if you are using the nightly build of Orchard Core! User Localization settings This feature adds the ability to configure the culture per user from the admin UI. It also adds a RequestCultureProvider based on claims. This provider will take precedence over any existing ones allowing to override browser settings and always displaying a unique culture for that user. This is not a User Culture Picker for the front end but a way to set the culture to a preferred one for each user. A User Culture Picker is another RequestCultureProvider with a higher priority than this one. Let's see how it works! First of all, head to Configuration -> Features and enable the User Localization feature. As we mentioned, this feature adds a RequestCultureProvider to retrieve the current user culture from its claims. This feature will set a new user claim with a CultureClaimType named culture. It also has a culture option to fall back to other ASP.NET Request Culture Providers by simply setting the user culture to "Use site's culture" which will also be the selected default value. Now head to Security -> Users and hit Edit near one of the users. You can see the new drop-down here called Default User Culture which contains the cultures which are supported by the site. News from the community Orchard Harvest 2024 survey results For those too young to remember, we had Orchard conferences, called Orchard Harvest. And the conference website was available under orchardharvest.org, but unfortunately, it's not anymore. The last offline was in 2017 in New York. So, having another get-together is very much overdue. If you would like to see or get a feeling of how this looked like before, we have a couple of mood videos on the Orchard YouTube channel, like this one from the first conference. We had the first online Orchard Harvest last year, and it was so great to see that we had 188 sign-ups for the conference! It was an excellent opportunity to share knowledge, talk about development plans and ideas, and foremost, meet the rest of the worldwide community. And of course, we recorded every session, which means they are available on YouTube! Click the link to rewatch all the inspiring talks and discussions! The point is that we should think about organizing the next one, and we at Lombiq can take part in that or provide an organizing role with anybody who wants to take part. We created a survey, and now we have the results! Thank you for your feedback so far regarding Orchard Harvest! We have received a significant number of responses so far which has helped us to get a better idea of the right place and time. As we move forward, we will keep community members informed of the details, and you will also find every detail in this newsletter too! Here you can see the results but if you are interested in a discussion where the community shared their ideas regarding the results, you can watch a video about it on YouTube! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 475 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

Make SqLite database name configurable, Lombiq Training Demo module as a standalone solution - This week in Orchard (10/03/2024)

Make SqLite database name configurable, Select All checkbox UI updates, and a demo about making our Training Demo module as a standalone solution! Oh, and have we mentioned our very special limited offer for DotNest? Head to our post, and let's see the details! Orchard Core updates Make SqLite database name configurable This change sets the default database to OrchardCore.db for new sites. Existing sites that were created in the past using yessql.db will still work as before using yessql.db. This all happens seamlessly and does not introduce any breaking change. There is a new setting called DatabaseName that can be set to a custom name using the appsettings.json file. Here, you can see we just simply extended the AutoSetup example section by providing the name of the database. Select all Content Types This is about mainly updating the JavaScript code for the Select all content types checkbox. As you can see on the screen, you can select the indexed content types or the content types that you want to track using the Audit Trail feature by using the Select all checkbox. If you uncheck one of the content types, the Select all checkbox will be unticked but if you click on the Select all checkbox after that, every content type will be selected again. Demos Lombiq Training Demo module as a standalone solution The Lombiq Training Demo for Orchard Core is our Orchard Core tutorial module containing a lot of documentation that teaches you to become an Orchard Core developer. If you like to learn from code then this is for you. This is only about development and the basic concepts and not the user-facing part of Orchard Core. The point is that we have some simplification here. We got feedback over time that using the Training Demo is hard. Specifically, its context is hard to use because previously you had to use our Open-Source Orchard Core Extensions parent project. This solution contains all of Lombiq's Orchard Core-related projects as submodules. It also uses Node.js for client-side builds, linting, and whatnot. And to run that solution, you have to go through some setup steps. So, a lot of setup is needed just to be able to work with the Training Demo module. But not anymore! We simplified the Training Demo a lot and now if you clone this repository or just download the source code, you get a full solution with an Orchard Core web application with the Training Demo module. After that, you just need to hit F5 or CTRL+F5 if you are using Visual Studio, and it will run. No other dependencies or setups are needed, just .NET. Here we are using Visual Studio but that's not needed either, you can do this from the .NET CLI or you can use another IDE. When you start the application auto setup runs with a recipe to demonstrate the Training Demo. If you want to see this new solution in action, head to YouTube for a recording! News from the community DotNest is 10 years old DotNest is our content management framework as software as a service, for you and your clients. Sign up and create any number of Orchard Core sites you want. Don't worry about deployment, maintenance, and upgrades - your Orchard site just works. And DotNest just turned 10 this week! Celebrate it with our very special limited offer and launch your new site at a discount with free 1-1 consulting! Interested in creating your own Orchard Core site with just a few clicks? Check out this post for the details! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 477 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

Drop Newtonsoft.Json support, GovTech company case study - This week in Orchard (01/03/2024)

GraphQL query for retrieving current user data and its custom settings, drop Newtonsoft.Json support, and a GovTech company case study are the topics for this week! Without further ado, let's get started! Orchard Core updates GraphQL query for retrieving current user data and its custom settings Getting information about the current user and additionally its custom user settings (aka user profile) was not possible out of the box with GraphQL. A query would be handy for using Orchard Core as a headless CMS with front-end users. This can also allow querying custom user settings (i.e., content types with the CustomUserSettings stereotype). So, from now on, there is a new GraphQL object to export for the current user. It gives you your own information and custom settings if you are authenticated. To try this out, you have to enable the GraphQL feature, and after that, you can use a query which you can see in the screen below by using the GraphiQL Explorer. Drop Newtonsoft.Json Support The utilization of Newtonsoft.Json has been discontinued in both YesSql and OrchardCore. Instead, we have transitioned to utilize System.Text.Json due to its enhanced performance capabilities. To ensure compatibility with System.Text.Json during the serialization or deserialization of objects, you have to undertake some steps. For example, if your custom Document includes a collection with a getter-only property, it is imperative to incorporate a setter or utilize the init modifier to facilitate the assignment of values by System.Text.Json. For instance: public class MediaProfilesDocument : Document{ public Dictionary<string, MediaProfile> MediaProfiles { get; } = new(StringComparer.OrdinalIgnoreCase);} Should be changed to the following instead: public class MediaProfilesDocument : Document{ public Dictionary<string, MediaProfile> MediaProfiles { get; init; } = new(StringComparer.OrdinalIgnoreCase);} You also need to change how you register your custom deployment steps, custom AdminMenu nodes, and any serializable object that contains a polymorphic property (a base type that can contain sub-classes instances). It will be a breaking change once the community releases the 1.9 version of Orchard Core. You can read more about what changes you should make under the release notes of the next release. News from the community Municipal government permit management run on Orchard Core Working in the GovTech space brings its own challenges - but not ones that can't be solved with Orchard Core! A customer of ours runs a permit management platform on Orchard Core too. We help them with consulting, Azure, and development. Head to our site and check out a GovTech company case study! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 476 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

New DateTime and TimeSpan Tag Helpers, DiscoverableSterotypes to GraphQLContentOptions - This week in Orchard (23/02/2024)

New DateTime and TimeSpan Tag Helpers and adding DiscoverableSterotypes to GraphQLContentOptions are the topics for this week. Let's check them out in detail! Orchard Core updates New DateTime and TimeSpan Tag Helpers Now, you can use the new DateTime and TimeSpan Tag Helpers. The DateTime Tag Helper has a Utc and a Format attribute. The Utc attribute is a DateTime? and the Format is the format of the datetime. And when it's rendered, it's creating a DateTime shape. You can utilize this Tag Helper like: <datetime utc="@contentItem.ModifiedUtc" format="g" /> The TimeSpan Tag Helper has a Utc attribute, which is a DateTime? and an Origin attribute which is also a nullable DateTime. The Tag Helper will calculate the difference between these two dates using the TimeSpan shape and will give you something like "2 days ago" or "3 minutes ago". You can utilize this Tag Helper like: <timespan utc="@Clock.UtcNow" origin="@contentItem.ModifiedUtc" /> DiscoverableSterotypes to GraphQLContentOptions This is a new option that you can use to set the stereotypes that will be available in the GraphQL queries. When identifying content types for GraphQL exposure, we identify those without a stereotype to provide you with control over the behavior of stereotyped content types. A new option, DiscoverableSterotypes, has been introduced in GraphQLContentOptions. This allows you to specify stereotypes that should be discoverable by default. For instance, if you have several content types stereotyped as ExampleStereotype, you can make them discoverable by incorporating the following code into the startup class: services.Configure<GraphQLContentOptions>(options =>{ options.DiscoverableSterotypes.Add("ExampleStereotype");}); You can read more about configuring contents in the official documentation of Orchard Core. News from the community Orchard Harvest 2024 survey For those too young to remember, we had Orchard conferences, called Orchard Harvest. The conference website was available under orchardharvest.org, but unfortunately, it's not anymore. The last in-person one was in 2017 in New York. So, having another get-together is very much overdue. If you would like to see or get a feeling of how this looked like before, we have a couple of mood videos on the Orchard YouTube channel, like this one from the first conference. The point is that we should think about organizing the next in-person one, and we at Lombiq can take part in that or provide an organizing role with anybody who wants to take part. After last year, the Orchard Harvest Conference will be held again in 2024. Last year, it was held online due to economic reasons. But first, we would like to assess the potential interest and what would be needed. You can fill in the questionnaire here, which should take about 5 minutes. Share your thoughts with us in the survey. We are curious about who we will meet in 2024! :) Work with Lombiq! Do you like developing apps with Orchard Core? Would you like to apply your skills to some of the most challenging Orchard Core apps out there, working with other OC experts? Then come work with us at Lombiq, the biggest Orchard Core team in the world! We've been contributors, supporters, and users of Orchard Core and Orchard 1 for more than a decade (Benedek Farkas and Zoltán Lehóczky, the two founders, for even more), with a huge open-source portfolio. There, you can also check out the code we write, and some of the projects you could take part in. We do a lot. Ready for keywords? Open-source, Orchard Core CMS, .NET software development, ASP.NET Core MVC, distributed team, cloud-first, Microsoft Azure, self-funded R&D, Vue.js, jQuery, Bootstrap, SASS, training, hosting and operations, GitHub Actions, TeamCity, support, SaaS (the only Orchard CMS SaaS, DotNest), Selenium UI testing, xUnit, university courses. And also, greenfield experimental projects like Hastlayer, turning software into computer chips. Write to us at [email protected], and let's talk! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 476 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

New AddDeployment extension methods, new ISmsService and support multiple SMS providers - This week in Orchard (16/02/2024)

New AddDeployment extension methods, new ISmsService interface, and support for multiple SMS Providers are the topics for this week. Let's check them out in detail! Orchard Core updates New AddDeployment extension methods This change is about adding new extensions to make registering custom deployment step easier: services.AddDeployment<TSource, TStep>(); services.AddDeployment<TSource, TStep, TDisplayDriver>(); services.AddDeploymentWithoutSource<TStep, TDisplayDriver>(); By using these extensions, you can simply register the Deployment Step Driver, the Deployment Step, and the Deployment Source. This way, you don't have to know that it's transient, singleton, or scoped, the extension methods will do the right registrations for you. New ISmsService and support multiple SMS Providers In the past, we utilized the injection of ISmsProvider for sending SMS messages. However, from now on, it is necessary to inject ISmsService instead. Additionally, the Twilio provider is no longer enabled by default. The UI is also improved, this affects the UI settings by grouping each provider's settings into its own tab to simply have one place to configure all settings. To check this out, first, you have to enable the SMS Notifications feature under Configuration -> Features. After that, you can navigate to Configuration -> Settings -> SMS, where you will see two different tabs: Providers and Twilio. If you navigate to Configuration -> Settings -> SMS Test, you will see a brand new page to test out SMS providers. News from the community Orchard Harvest 2024 survey For those too young to remember, we had Orchard conferences, called Orchard Harvest. The conference website was available under orchardharvest.org, but unfortunately, it's not anymore. The last in-person one was in 2017 in New York. So, having another get-together is very much overdue. If you would like to see or get a feeling of how this looked like before, we have a couple of mood videos on the Orchard YouTube channel, like this one from the first conference. The point is that we should think about organizing the next in-person one, and we at Lombiq can take part in that or provide an organizing role with anybody who wants to take part. After last year, the Orchard Harvest Conference will be held again in 2024. Last year it was held online due to economic reasons. But first, we would like to assess the potential interest and what would be needed. You can fill in the questionnaire here, which should take about 5 minutes. Share your thoughts with us in the survey. We are curious about who we will meet in 2024! :) Work with Lombiq! Do you like developing apps with Orchard Core? Would you like to apply your skills to some of the most challenging Orchard Core apps out there, working with other OC experts? Then come work with us at Lombiq, the biggest Orchard Core team in the world! We've been contributors, supporters, and users of Orchard Core and Orchard 1 for more than a decade (Benedek Farkas and Zoltán Lehóczky, the two founders, for even more), with a huge open-source portfolio. There you can also check out the code we write, and some of the projects you could take part in. We do a lot. Ready for keywords? Open-source, Orchard Core CMS, .NET software development, ASP.NET Core MVC, distributed team, cloud-first, Microsoft Azure, self-funded R&D, Vue.js, jQuery, Bootstrap, SASS, training, hosting and operations, GitHub Actions, TeamCity, support, SaaS (the only Orchard CMS SaaS, DotNest), Selenium UI testing, xUnit, university courses. And also, greenfield experimental projects like Hastlayer, turning software into computer chips. Write to us at [email protected], and let's talk! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 479 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

Orchard Harvest 2024 survey, Lombiq Login as Anybody for Orchard Core - This week in Orchard (09/02/2024)

Use the file name instead of the technical name in the Media Field, add Environment accessor in Liquid, a demo about our Login as Anybody module, and a survey about the upcoming Harvest conference! We have a lot to cover today, so let's get started! Orchard Core updates Use the file name instead of the technical name in the Media Field When selecting a file using the attached Media Field, it shows the technical name, which is not user-friendly. With this change, we use the uploaded file name if it exists. Let's try it out quickly! If you set up your site using the Blog recipe, it will create a predefined Blog Post content type. That content type has one Media Field called, Banner Image. We uploaded a new image to the Media Library (Content -> Media Library) and will use that for the predefined Blog Post content item. Once we select our file and click on it, you can see the Media Field displays the file name (Loki.jpg) instead of its technical name. Add Environment accessor in Liquid Currently, you can't check if you are in the Development or the Production environment in Liquid. This change introduces a new environment accessor in Liquid which represents the current hosting environment. The following properties are available on the Environment object as mentioned in the docs: IsDevelopment: Checks if the current hosting environment name is Development. IsStaging: Checks if the current hosting environment name is Staging. IsProduction: Checks if the current hosting environment name is Production. Name: Gets hosting environment name. Here, we have created a new template under Design -> Templates with the name Content__BlogPost. This template is called when displaying the Blog Post content item with the Detail display type, for instance, when accessed from its URL. We have one predefined Blog Post content item so we will use that one for testing purposes. The template itself is straightforward, we just print the name of the environment and two boolean values, as you can see in the screen below. Demos Lombiq Login as Anybody for Orchard Core This demo is about the Lombiq Login as Anybody module for administrators to be able to log in as any user. This feature is only available to site owners, thus it's no way to get around security. It's time to see this feature in action! The easiest way is to clone Lombiq's Open-Source Orchard Core Extensions solution. This Orchard Core Visual Studio solution contains most of Lombiq's open-source Orchard modules and themes, as well as related utilities and libraries, containing the Lombiq Login as Anybody module too. Let's run the Open-Source Orchard Core Extensions solution and head to Configuration -> Features to enable the Lombiq Login as Anybody feature. After enabling the module you'll see a new button on the Security -> Users page. You can log in as any registered user there. This is useful if you want to see how your Orchard Core app behaves for certain users. Here you can see that we are logged in with the admin user, and the Log in as user button appears near the two other users on the list. Once you hit that button, you will be logged in as the selected user and will be redirected to the homepage of the site with a notification "Successfully logged in as {UserName}." If you want to see a short demo of this feature, don't forget to head to YouTube for a recording! News from the community Orchard Harvest 2024 survey For those too young to remember, we had Orchard conferences, called Orchard Harvest. And the conference website was available under orchardharvest.org, but unfortunately, it's not anymore. The last in-person one was in 2017 in New York. So, having another get-together is very much overdue. If you would like to see or get a feeling of how this looked like before, we have a couple of mood videos on the Orchard YouTube channel, like this one from the first conference. The point is that we should think about organizing the next in-person one, and we at Lombiq can take part in that or provide an organizing role with anybody who wants to take part. After last year, the Orchard Harvest Conference will be held again in 2024. Last year it was held online due to economic reasons. But first, we would like to assess the potential interest and what would be needed. You can fill in the questionnaire here, which should take about 5 minutes. Share your thoughts with us in the survey. We are curious about who we will meet in 2024! :) Work with Lombiq! Do you like developing apps with Orchard Core? Would you like to apply your skills to some of the most challenging Orchard Core apps out there, working with other OC experts? Then come work with us at Lombiq, the biggest Orchard Core team in the world! We've been contributors, supporters, and users of Orchard Core and Orchard 1 for more than a decade (Benedek Farkas and Zoltán Lehóczky, the two founders, for even more), with a huge open-source portfolio. There you can also check out the code we write, and some of the projects you could take part in. We do a lot. Ready for keywords? Open-source, Orchard Core CMS, .NET software development, ASP.NET Core MVC, distributed team, cloud-first, Microsoft Azure, self-funded R&D, Vue.js, jQuery, Bootstrap, SASS, training, hosting and operations, GitHub Actions, TeamCity, support, SaaS (the only Orchard CMS SaaS, DotNest), Selenium UI testing, xUnit, university courses. And also, greenfield experimental projects like Hastlayer, turning software into computer chips. Write to us at [email protected], and let's talk! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 479 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!

Update Lucene docs with recipe steps, .NET Foundation most active community projects 2023 - This week in Orchard (26/01/2024)

Update ResourceManager to better handle resources that don't specify a version, update Lucene docs with recipe steps, and Orchard Core is in the top 10 of the list of .NET Foundation's most active community projects of 2023! Without any further ado, let's get started! Orchard Core updates Update Lucene docs The Lucene module allows you to manage Lucene indices. This module contains a Lucene Worker feature, which creates a background task that will keep the local file system index synchronized with other instances that could have their local index. It is recommended to use it only if you are running the same tenant on multiple instances (farm) and using a Lucene file system index. The module also provides a management UI and APIs for querying Lucene data using ElasticSearch Queries. And of course, Lucene indices can be created during recipe execution using the ElasticIndexSettings step. The documentation of this module has been updated with these recipe steps to describe how to set the default search settings, how to restart the indexing process from the beginning to update current content items, or how to rebuild a Lucene index. Update ResourceManager to better handle resources that don't specify a version Let's say we have two scripts defined. A "default" version that doesn't specify a version. In another module, we define an override of that resource by defining a resource with the same name and specifying a version number. When we run the site, the script resources fail to load due to an ArgumentNullException. The issue lies in ResourceManager.FindMatchingResource, because when evaluating the second match, resource.Version is null, which causes a new Version(resource.Version) to throw the ArgumentNullException. Note that earlier in the method, the code takes care to avoid the ArgumentNullException by checking for null. A workaround for this issue is to just make sure that all resources specify a version, but since the version is not required by the API, it should handle null gracefully. You can reproduce this issue by following these steps: In an IConfigureOptions<ResourceManagementOptions>, register a new resource. For example, a script called "MyScript". Don't specify a version. Additionally, register a second resource with the same name, and this time also call SetVersion with a valid version number. For example, "MyScript" with a version of "1.0.0". Require the resource. For example, in Layout.cshtml, use the script tag helper to require "MyScript" and don't specify a version. Run the site and notice that the script doesn't load (in fact, no scripts load). Also, notice that you receive an ArgumentNullException in the log. The expectation would be that version 1.0.0 of the resource to be loaded on the page (winning out over the one without a version, and not throwing an error). So, this change is about updating the ResourceManager.cs to better handle resources that don't specify a version. News from the community .NET Foundation most active community projects 2023 Shaun Walker shared this image on X that contains the most active community projects based on the number of pull requests, the number of commits, and the number of new contributors. As you can see, Orchard has 1136 pull requests in 2023, which is great. Orchard has 854 commits, which is weird. Why do we have more pull requests than commits? Do we close that many pull requests? The reason for that could be that we have some mini PRs created by Dependabot. And we haven't talked about which projects are using squash and merge and which aren't. But it's still a nice thing to be able to see Orchard in the top 10 again! And don't forget about the fact that Orchard Core recently reached 7000 stars on GitHub! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 481 subscribers! We have started this newsletter to inform the community around Orchard of the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post is published to Orchard Dojo, including This week in Orchard of course. Do you know of other Orchard enthusiasts who would like to read our weekly articles? Tell them to subscribe here! If you are interested in more news about Orchard and the details of the topics above, don't forget to check out the recording of this Orchard meeting!