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

Featured tags

IIS
API
All tags >

Make Resources Tag Helper extensible, keep only important virtual methods in drivers - This week in Orchard (30/08/2024)

This week's topics are making Resources Tag Helper extensible and keeping only important virtual methods in drivers. And after the nomination of exemplary community members to the Jean-Thierry Kéchichian Community Award, it's time to cast your votes! There are only two weeks left until the Orchard Harvest conference! Let's see the news for this week! Orchard Core updates Make Resources Tag Helper extensible Right now, you can define any custom resource type in the resource manager. For example, in Lombiq.VueJs, we use it to define Vue SFC resources and JS module resources. But there is a huge pain point: the <resources /> Tag Helper doesn't support any other resource type besides the built-in ones, so if you add a custom resource type you can require it, but it won't be rendered. This leads to a lot of added complexity and additional failure points because you have to display the resources in weird ways, such as using widgets, custom themes, or injecting the resources to render them in the Content zone (since other zones are not guaranteed to exist depending on the theme). Now both the <resources /> tag helper and the {% resources type: "..." %} Liquid tag can be extended with IResourcesTagHelperProcessor to run custom rendering logic. To make this possible, the OrchardCore.ResourceManagement.TagHelpers.ResourceType and OrchardCore.Resources.Liquid.ResourcesTag.ResourceType enums have been replaced with a common OrchardCore.ResourceManagement.ResourceTagType. It was renamed to avoid confusion with ResourceDefinition.Type. This change is breaking in code, but it does not affect the uses of the Razor Tag Helper or the Liquid tag in templates. Keep only important virtual methods in drivers Starting from Orchard Core 2.0, we mark all unnecessary methods in the base DisplayDriver obsolete. Then address all the warnings/errors by implementing the necessary methods. Also, the signatures of the UpdateAsync() method within the SectionDisplayDriver base class have undergone modifications. Previously, these signatures accepted the BuildEditorContext parameter. However, with this update, all signatures now require the UpdateEditorContext instead. This alteration necessitates that every driver inheriting from this class adjusts their contexts accordingly. These adjustments ensure compatibility and adherence to the latest conventions within the DisplayDriver class. Similar refactoring was done to the SectionDisplayDriver class. The following methods have been marked as obsolete: Display(TSection section, BuildDisplayContext context) Display(TSection section) Edit(TSection section, BuildEditorContext context) UpdateAsync(TSection section, UpdateEditorContext context) UpdateAsync(TSection section, IUpdateModel updater, string groupId) and removed the following methods: UpdateAsync(TModel model, TSection section, IUpdateModel updater, UpdateEditorContext context) UpdateAsync(TSection section, IUpdateModel updater, UpdateEditorContext context) UpdateAsync(TSection section, IUpdateModel updater, string groupId) UpdateAsync(TSection section, UpdateEditorContext context) EditAsync(TSection section, BuildEditorContext context) DisplayAsync(TSection section, BuildDisplayContext context) You can read more about the changes related to display management in the release notes of the upcoming release. News from the community Jean-Thierry Kéchichian Community Award 2024 - cast your votes At the end of last year, our good friend, Jean-Thierry Kéchichian, a truly extraordinary member of our community, unexpectedly passed away. To honor him, keep his memory alive, and foremost, inspire people to do good work for the community, we launched an award named after him for exceptional community members. Every year, the community votes on who has done the most for Orchard Core. This can entail activities in the form of e.g., code contributions (including documentation), help under issues and discussion, evangelization outreach, community management, or anything else. However, it needs to be public and tangible. After the nominations, it's now time to vote! Cast your vote here! Voting ends at 2:00 AM UTC on 12 September and we'll announce the winner at Harvest! Orchard Harvest 2024 Two weeks left until the Orchard Harvest conference! This year’s program is packed with insightful sessions, engaging panels, and ample opportunities to connect with the Orchard community and to make Orchard Harvest the biggest Orchard Core event of the year. All sessions will be recorded and published on the Orchard YouTube channel after the event, so even if you can't make it live, you can see the sessions. However, being there live will allow you to ask the speakers, meet other community members, and have a lot of fun! All indicated times are local time in Las Vegas. After each session, you'll have a chance to ask questions, and we'll have a short break too. Here is a detailed schedule to help you prepare for the conference. Can't wait until September? Check out recordings from last year's special online Orchard Harvest on this YouTube channel here. Ready to be a part of something extraordinary? Reserve your spot today at Orchard Harvest Conference 2024, and get ready to level up your skills! See you there! Orchard Dojo Newsletter Lombiq's Orchard Dojo Newsletter has 463 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!