Reorganize the Admin Menu, Add PollingTime & MinimumIdleTime to BackgroundServiceOptions - This week in Orchard (13/12/2024)
This week's topics are adding PollingTime and MinimumIdleTime to BackgroundServiceOptions and showing the Remove Field/Part button when it is system-defined. The community is reorganizing the Admin Menu, and we need your valuable feedback to build the best admin menu for Orchard Core!
Orchard Core updates
Add PollingTime & MinimumIdleTime to BackgroundServiceOptions
The ModularBackgroundService executes background tasks in one-minute batches, and there's a 10-second idle time between batches. Neither of these are configurable, which prevents customizing background execution, forcing you to wait at least 1m 10s for a background task. This means that we have to wait for that amount of this for background tasks instead of being able to tell to execute them faster.
This change adds IOptionsConfiguration for both values. The PollingTime and MinimumIdleTime properties have been added to BackgroundServiceOptions, so we can now configure them from appsettings.json or other configuration providers.
Show the Remove Field/Part button when it is system-defined
When you are editing the content definition of a content type/part, you may wonder why, in some cases, you could see the Remove button when, e.g., you want to detach a content part from a content type, and in some cases, you do not see it. The reason for that is in Orchard Core, we have some content that is an integral component of the system and cannot be removed. But, of course, it's not apparent to every user.
This PR aims to add a disabled Remove button near the parts/fields to know why you can't delete them. You can see the Remove button, which tells you you cannot delete it because it's system-defined.
In our example, we enabled the Admin Dashboard feature that creates an HTML Dashboard Widget content type. If you head to Content -> Content Definition -> Content Types and hit Edit near this content type, you can see the disabled Remove button near the Dashboard Part with some tooltip.
News from the community
Reorganize the Admin Menu
Currently, site settings provided by modules are scattered on the menu in many places. From user experience, it would be nice to place all settings under one dedicated location on the menu for easy access and quick knowing where all the settings are located. Also, the text style on the menu items isn’t unified.
One option is to move any site settings or configurations to the Configuration -> Settings menu. We may also want to unify the naming using a standard style — either a title case or sentence case for every menu item. Or should we create new top-level menus? As you can see, we have a new Access control menu that provides us with Open ID Applications, scopes, Roles, and Users.
We removed all the icons under the Tools because before, we had icons for some menus and no icons for others, which didn't look good. Here, you can see Deployments and all the related stuff with the Media and Media-related options. We also moved the Workflows and Audit trail under Tools to free up the top layer.
What do you think about reorganizing the admin menu? Do you think this could be a good structure for the options? Do you like the new Access control and Tools menus?
Please let us know your thoughts under this pull request so we can build the best admin menu for Orchard Core!
Orchard Dojo Newsletter
Lombiq's Orchard Dojo Newsletter has 467 subscribers! We started this newsletter to inform the Orchard community about the latest platform news. By subscribing, you will receive an email whenever a new post is published in Orchard Dojo, including This week in Orchard Posts.
Do you know other Orchard enthusiasts who want to read our weekly articles? Tell them to subscribe here!