This week in Orchard - 11/08/2019

Gábor Domonkos's avatar
Admin UI, This week in Orchard

Orchard Core has a brand new redesigned admin menu to help you find the settings you want easier. The CMS gets a lot of new improvements and fixes from time to time and it's time to start a discussion about releasing version 1.0. And now it's time to organize the next Orchard Harvest! Would like to know more? Then don't hesitate, check out our latest post with this week's news!

On Orchard Core

Add UI for PageSize

You can edit the setting named PageSize that exists for a time ago, but there was no UI for it. This setting should be used when using pagers so that users can define how many items they want to see on the page.

Rename Default into Current in Themes

It could be quite confusing that the currently active theme is called Default on the admin UI. It's not something that would be enabled by default (since setup recipes decide this) and it's not a fallback in case of no other theme either since that's the Safe Mode Theme. So from now the new name of the Default theme is Current theme. Just head to Design -> Themes to see the changed interface.

Adding token expiry for GlobalMethod and documenting scripts

There was an issue with the lifetime of the workflow token. Now when you don't specify the lifetime of the workflow token you will get the value of the NoExpiryTokenLifespan variable in days, which is 100 years. Here you can see the updated code using the mentioned NoExpiryTokenLifespan variable.

public class TokenMethodProvider : IGlobalMethodProvider
{
private readonly GlobalMethod _createWorkflowToken;

public TokenMethodProvider()
{
createWorkflowToken = new GlobalMethod
{
Name = "createWorkflowToken",
Method = serviceProvider => (Func<string, string, int, string>)((workflowTypeId, activityId, days) =>
{
var securityTokenService = serviceProvider.GetRequiredService<ISecurityTokenService>();
var payload = new WorkflowPayload(workflowTypeId, activityId);

if (days == 0)
{
days = HttpWorkflowController.NoExpiryTokenLifespan;
}

return securityTokenService.CreateToken(payload, TimeSpan.FromDays(days));
})
};
}

public IEnumerable<GlobalMethod> GetMethods()
{
return new[] { _createWorkflowToken };
}
}

And now you can find documentation for the javascript methods that are available in workflows for instance.

When to ship Orchard Core 1.0?

If you check the .NET Core Roadmap, you could see that the release of .NET Core 3.1 is scheduled for December 2019. The suggestion is to ship Orchard Core 1.0 with this version of .NET Core because there won't be any update until the .NET 5.0 and this way the community could align the same way as did when released Orchard Core RC. It gives the community one month to polish and merge missing PRs. This way there will be no need to reupdate when 3.1 is released.

Starting the discussion about the next Orchard Harvest

We will have a 1.0 soon and we already have the RC of Orchard Core. The community decided to organize the next Harvest if Orchard Core reaches a state that we can show at the conference. Now it's time to show the new framework by workshops too to learn the features of the new version. The suggestion is to make it happen in February or April of 2020. Let's do it probably in Europe because the last time it was in the United States. There are some options like Hungary, Italy, Greece, Spain or England.

So, let's come back to this topic later and keep up the discussion!

Building Workflow Driven .NET Core Applications with Elsa

Sipke Schoorstra decided it was about time to take Orchard Core’s workflow engine and philosophies and turn it into a reusable, .NET Standard library, enabling any .NET application to enjoy the power of workflow. In this huge and informative post, he introduces Elsa, an open source suite of .NET Standard libraries and tools that enable developers to implement long-running workflows. The core philosophy of Elsa is to be able to connect small executable units with one another, allowing you to orchestrate real business processes such as document approval, customer on-boarding and order fulfillment processes.

Following the guide "Creating a new decoupled CMS Website" live on Twitch

Davin Davies a.k.a. copperbeardy decided to follow the guide called Creating a new decoupled CMS Website and broadcasting it using a live stream in Twitch. He tried to follow it once at the end of October, that session was very useful to fix and update the documentation and in some cases the code to be able to follow that with the latest changes of Orchard Core. Check out his second stream about following that guide again to create a decoupled site!

Demos

New Admin menu

Here you can see the admin menu of Orchard Core if you enable every feature. Some of them don't have many sub-items, for example, the Content has only two (Content Items and Assets), and some of them have quite a lot. If you check the Configuration option, there are 13 sub-items. And at the bottom of the screen, you could see that every authentication provider has its own entry instead of grouping them in a section something like Authentication.

There was a suggestion to reorganize the admin menu to make it cleaner that could make it easier to find the options you want. That could be a good point for the new structure to use the same setup as we used when updating the documentation. If you open the docs and click on the Key Topics, you could see a menu in the left with the following points:

  • Manage your Content
  • Customize the Display
  • Localize your site
  • Handle the Media
  • Navigate between pages
  • Query and Search data
  • Secure your application
  • Workflows

When you update to the dev branch of Orchard Core you will face with the new, redesigned admin menu. Let's see what will you see if you enable every feature that is available right now.

As you can see, the Content menu has everything you need to define your content types and manage your content items dynamically.

Under Design, you could see everything related to the look and feel of your site. Here you can define templates, change the themes, etc. Widgets is a new option where you can edit the widgets and layers. That option was called Layers in the previous structure.

Under Security, you will find the settings of the third-party authentication providers, can manage the users and the roles, and of course the OpenID settings.

But that's enough talk for now, check out to the dev branch of Orchard Core and try the new admin menu now!

On Lombiq

Searching for performance-intensive codes

Do you write a performance-intensive code? Then help us build the nerdiest .NET thing! Drop us a line to [email protected] and we'll ask a few questions about the challenges you encounter, and in exchange, we'll show you how to make a chip out of your programs!

Orchard Dojo Newsletter

Now we have 100 subscribers of the Lombiq's Orchard Dojo Newsletter! We have started this newsletter to inform the community around Orchard with the latest news about the platform. By subscribing to this newsletter, you will get an e-mail whenever a new post published to Orchard Dojo, including This week in Orchard of course.

Do you know of other Orchard enthusiasts who you think would like to read our weekly articles? Tell them to subscribe here!

If you are interested in more news around Orchard and the details of the topics above, don't forget to check out the recording of this week's Orchard meeting!

No Comments

Add a Comment