* Started implementing new LongRunningOperationService and adjusting tasks to use this service This service will manage operations that require status to be synced between servers (load balanced setup). * Missing migration to add new lock. Other simplifications. * Add job to cleanup the LongRunningOperations entries * Add new DatabaseCacheRebuilder.RebuildAsync method This is both async and returns an attempt, which will fail if a rebuild operation is already running. * Missing LongRunningOperation database table creation on clean install * Store expire date in the long running operation. Better handling of non-background operations. Storing an expiration date allows setting different expiration times depending on the type of operation, and whether it is running in the background or not. * Added integration tests for LongRunningOperationRepository * Added unit tests for LongRunningOperationService * Add type as a parameter to more repository calls. Distinguish between expiration and deletion in `LongRunningOperationRepository.CleanOperations`. * Fix failing unit test * Fixed `PerformPublishBranchAsync` result not being deserialized correctly * Remove unnecessary DatabaseCacheRebuildResult value * Add status to `LongRunningOperationService.GetResult` attempt to inform on why a result could not be retrieved * General improvements * Missing rename * Improve the handling of long running operations that are not in background and stale operations * Fix failing unit tests * Fixed small mismatch between interface and implementation * Use a fire and forget task instead of the background queue * Apply suggestions from code review Co-authored-by: Andy Butland <abutland73@gmail.com> * Make sure exceptions are caught when running in the background * Alignment with other repositories (async + pagination) * Additional fixes * Add Async suffix to service methods * Missing adjustment * Moved hardcoded settings to IOptions * Fix issue in SQL Server where 0 is not accepted as requested number of rows * Fix issue in SQL Server where query provided to count cannot contain orderby * Additional SQL Server fixes --------- Co-authored-by: Andy Butland <abutland73@gmail.com>
83 lines
5.0 KiB
C#
83 lines
5.0 KiB
C#
namespace Umbraco.Cms.Core;
|
|
|
|
public static partial class Constants
|
|
{
|
|
public static class Configuration
|
|
{
|
|
/// <summary>
|
|
/// Case insensitive prefix for all configurations.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// ":" is used as marker for nested objects in JSON, e.g. <c>"Umbraco:CMS:" = {"Umbraco":{"CMS":{...}}</c>.
|
|
/// </remarks>
|
|
public const string ConfigPrefix = "Umbraco:CMS:";
|
|
public const string ConfigContentPrefix = ConfigPrefix + "Content:";
|
|
public const string ConfigContentNotificationsPrefix = ConfigContentPrefix + "Notifications:";
|
|
public const string ConfigCorePrefix = ConfigPrefix + "Core:";
|
|
public const string ConfigCustomErrorsPrefix = ConfigPrefix + "CustomErrors:";
|
|
public const string ConfigGlobalPrefix = ConfigPrefix + "Global:";
|
|
public const string ConfigGlobalId = ConfigGlobalPrefix + "Id";
|
|
public const string ConfigGlobalDistributedLockingMechanism = ConfigGlobalPrefix + "DistributedLockingMechanism";
|
|
public const string ConfigHostingPrefix = ConfigPrefix + "Hosting:";
|
|
public const string ConfigModelsBuilderPrefix = ConfigPrefix + "ModelsBuilder:";
|
|
public const string ConfigSecurityPrefix = ConfigPrefix + "Security:";
|
|
public const string ConfigContentNotificationsEmail = ConfigContentNotificationsPrefix + "Email";
|
|
public const string ConfigGlobalUseHttps = ConfigGlobalPrefix + "UseHttps";
|
|
public const string ConfigHostingDebug = ConfigHostingPrefix + "Debug";
|
|
public const string ConfigCustomErrorsMode = ConfigCustomErrorsPrefix + "Mode";
|
|
public const string ConfigActiveDirectory = ConfigPrefix + "ActiveDirectory";
|
|
public const string ConfigMarketplace = ConfigPrefix + "Marketplace";
|
|
public const string ConfigLegacyPasswordMigration = ConfigPrefix + "LegacyPasswordMigration";
|
|
public const string ConfigContent = ConfigPrefix + "Content";
|
|
public const string ConfigDeliveryApi = ConfigPrefix + "DeliveryApi";
|
|
public const string ConfigCoreDebug = ConfigCorePrefix + "Debug";
|
|
public const string ConfigExceptionFilter = ConfigPrefix + "ExceptionFilter";
|
|
public const string ConfigGlobal = ConfigPrefix + "Global";
|
|
public const string ConfigUnattended = ConfigPrefix + "Unattended";
|
|
public const string ConfigHealthChecks = ConfigPrefix + "HealthChecks";
|
|
public const string ConfigHosting = ConfigPrefix + "Hosting";
|
|
public const string ConfigImaging = ConfigPrefix + "Imaging";
|
|
public const string ConfigExamine = ConfigPrefix + "Examine";
|
|
public const string ConfigIndexing = ConfigPrefix + "Indexing";
|
|
public const string ConfigLogging = ConfigPrefix + "Logging";
|
|
public const string ConfigLongRunningOperations = ConfigPrefix + "LongRunningOperations";
|
|
public const string ConfigMemberPassword = ConfigPrefix + "Security:MemberPassword";
|
|
public const string ConfigModelsBuilder = ConfigPrefix + "ModelsBuilder";
|
|
public const string ConfigModelsMode = ConfigModelsBuilder + ":ModelsMode";
|
|
public const string ConfigNuCache = ConfigPrefix + "NuCache";
|
|
public const string ConfigPlugins = ConfigPrefix + "Plugins";
|
|
public const string ConfigRequestHandler = ConfigPrefix + "RequestHandler";
|
|
public const string ConfigRuntime = ConfigPrefix + "Runtime";
|
|
public const string ConfigRuntimeMode = ConfigRuntime + ":Mode";
|
|
public const string ConfigSecurity = ConfigPrefix + "Security";
|
|
public const string ConfigBasicAuth = ConfigPrefix + "BasicAuth";
|
|
public const string ConfigTypeFinder = ConfigPrefix + "TypeFinder";
|
|
public const string ConfigWebRouting = ConfigPrefix + "WebRouting";
|
|
public const string ConfigUserPassword = ConfigPrefix + "Security:UserPassword";
|
|
public const string ConfigRichTextEditor = ConfigPrefix + "RichTextEditor";
|
|
public const string ConfigPackageMigration = ConfigPrefix + "PackageMigration";
|
|
public const string ConfigContentDashboard = ConfigPrefix + "ContentDashboard";
|
|
public const string ConfigHelpPage = ConfigPrefix + "HelpPage";
|
|
public const string ConfigInstallDefaultData = ConfigPrefix + "InstallDefaultData";
|
|
public const string ConfigDataTypes = ConfigPrefix + "DataTypes";
|
|
public const string ConfigPackageManifests = ConfigPrefix + "PackageManifests";
|
|
public const string ConfigWebhook = ConfigPrefix + "Webhook";
|
|
public const string ConfigWebhookPayloadType = ConfigWebhook + ":PayloadType";
|
|
public const string ConfigCache = ConfigPrefix + "Cache";
|
|
|
|
public static class NamedOptions
|
|
{
|
|
public static class InstallDefaultData
|
|
{
|
|
public const string Languages = "Languages";
|
|
|
|
public const string DataTypes = "DataTypes";
|
|
|
|
public const string MediaTypes = "MediaTypes";
|
|
|
|
public const string MemberTypes = "MemberTypes";
|
|
}
|
|
}
|
|
}
|
|
}
|