* Added dictionary import/export
* Added umb tree to dictionary import & level for displaying preview dictionary import
* Indented dictionaries for import, added new text for choosing where to import dictionary items
* Removed console.log for dictionary/import.controller.js
Co-authored-by: Michael <michael@crossingpaths.be>
* Fixed issues with basic auth middleware to support Umbraco Cloud usecase
* Fix redirects to return url, now allows website urls
* Strip potential domain part of returnPath
* Fix default value in appsettings schema
* Reintroduce check of basic auth enabled.
* Fix wrong negation introduced in #12349
* Fixed issues with redirects
* Also check external login cookie, while authenticating backoffice
commit e0aa430d4c
Author: Paul Johnson <pmj@umbraco.com>
Date: Thu May 19 10:00:57 2022 +0100
Fix typo in pipeline yaml
commit 2ec450f2d6
Author: Paul Johnson <pmj@umbraco.com>
Date: Thu May 19 09:14:47 2022 +0100
Fix yaml conditions
commit c2d548039a
Author: Paul Johnson <pmj@umbraco.com>
Date: Thu May 19 09:02:50 2022 +0100
Azure pipeline refactor (#12428)
* Skip symbols for Umbraco.Templates
* Resolve some test issues
+ Fixed whitespace dependant tests to pass regardless of build OS vs
run OS.
+ Snap dictionary tests were failing when Configuration was release
+ Removed hardcoded baseUrl from one of the acceptance tests
* Move docfx setup to ./build and fix
* Update UI docs title
* Added dockerfile that can be used when running the acceptance tests.
* Take explicit dependency on System.Security.Cryptography.Pkcs
* Refactor ci/cd pipeline
commit ee8359af75
Author: Mole <nikolajlauridsen@protonmail.ch>
Date: Thu May 19 09:57:21 2022 +0200
V10: Reintroduce appsettings-schema.json (#12416)
* Reintroduce language files tests (#12367)
* Reintroducing language files tests
* Fix casing
* Update tests/Umbraco.Tests.UnitTests/Umbraco.Core/EmbeddedResources/LanguageXmlTests.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Change Umbraco.Cms and Umbraco.Templates nuspecs to csproj
* Remove Umbraco.Templates from VerifyNuGet step
* Remove duplicate and unnecessary properties
* Generate json schema on build
* Add targets file
* Gitignore auto generated appsettings schema
* Fix build not copying file
* Use the new path in appsettings
* Update copy message
* Build json schema as release
* Update json schema options
Otherwise just running the project will put the file in the wrong place
* Generate schema if it doesn't exist in Web.Ui
* Update json schema options
Otherwise just running the project will put the file in the wrong place
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Ronald Barendse <ronald@barend.se>
commit dd617ede80
Author: Ronald Barendse <ronald@barend.se>
Date: Thu May 19 09:51:11 2022 +0200
v10: Change Umbraco.Cms and Umbraco.Templates nuspecs to csproj (#12413)
* Reintroduce language files tests (#12367)
* Reintroducing language files tests
* Fix casing
* Update tests/Umbraco.Tests.UnitTests/Umbraco.Core/EmbeddedResources/LanguageXmlTests.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
* Change Umbraco.Cms and Umbraco.Templates nuspecs to csproj
* Remove Umbraco.Templates from VerifyNuGet step
* Remove duplicate and unnecessary properties
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
commit b83216876f
Author: Ronald Barendse <ronald@barend.se>
Date: Thu May 19 08:36:04 2022 +0200
v10: Project template database/connection string improvements (#12407)
* Add new connection-string-provider-name parameter
* Use template value forms to correctly encode JSON values
* Add new development-database-type parameter
* Update package template and fix App_Plugins directory rename
* Remove conflicting short parameter name
* Lowercase framework parameter to align with MS templates
* Cleanup default template settings
* Write unattended install parameters when either connection string or development database is set
* Include RootNamespace in UmbracoPackage template
* Update Umbraco specific gitignore rules
* Revert "Lowercase framework parameter to align with MS templates"
This reverts commit 22de389272a7e119df569ec2e54190265f6d0ae0.
* Add exclude-gitignore parameter
* Update template schemas
* Add minimal-gitignore parameter
commit e40049dcf1
Author: Mole <nikolajlauridsen@protonmail.ch>
Date: Wed May 18 15:22:51 2022 +0200
Fix domain for invariant content nodes (#12405)
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
commit a3692b887a
Author: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Date: Mon May 9 11:42:10 2022 +0200
Use SnippetCollection to when working with snippets (#12355)
* Introducing a new Snippet type
* Adding a SnippetCollection and SnippetCollectionBuilder
* Using snippetCollection to get the snippets instead of fileService
* Fixed fetching the correct content
* Make ISnippet non-discoverable
* Split the SnippetCollection into PartialViewSnippetCollection and PartialViewMacroSnippetCollection
* Update CodeFileController to use the 2 snippet collections
* Display the names with Empty.cshtml on top
* Remove merging embedded snippets with custom snippets from ~\Umbraco.Web.UI\umbraco\PartialViewMacros\Templates folder for the Partial View Collection
* Fix naming
* Fix another naming
* Cleanup + Use base items
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
(cherry picked from commit 9326cc5fc6)
commit 4f48a4937b
Author: patrickdemooij9 <patrickdemooij98@hotmail.com>
Date: Fri Oct 8 11:18:00 2021 +0200
Cherry picked from 4c08b44684
commit 4fdbfee597
Author: Bjarne Fyrstenborg <bjarne_fyrstenborg@hotmail.com>
Date: Wed May 11 00:51:37 2022 +0200
Show nicer overlay when clicking block card for deleted element type (#12140)
* Show nicer overlay when clicking block card for deleted element type
* Cleanup
* Remove stop-scrolling container
* Use flex-start instead on start
* Remove legacy flexbox fallback
* Remove unnecessary hack
* Use standard gap property instead
* Localization of message
* Fix translation
* End sentence with a dot
(cherry picked from commit ebb1dc21a9)
commit 3856bf8288
Author: Henk Jan Pluim <henkjan.pluim@greenchoice.nl>
Date: Mon Apr 25 10:02:06 2022 +0200
#fix 12254 return emptyresult
(cherry picked from commit 7993d19c1b)
commit 7087c3d9f6
Author: Ronald Barendse <ronald@barend.se>
Date: Tue May 17 12:59:01 2022 +0200
v10: Use ForceCreateDatabase during unattended install and extend GetUmbracoConnectionString extension methods (#12397)
* Add extension methods to get the Umbraco connection string/provider name from configuration
* Added tests for configuration extension methods.
* Fix issue with InstallMissingDatabase and ForceCreateDatabase
* Fix comments
* Revert casing change in GenerateConnectionString
* Re-add AddOptions (without config binding) to fix test
* Update src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Update src/Umbraco.Core/Configuration/Models/ConnectionStrings.cs
* Update src/Umbraco.Infrastructure/Runtime/RuntimeState.cs
* Whitespace and documentation updates
* Add DatabaseProviderMetadataExtensions
* Filter before ordering
* Replace DataDirectory placeholder when setting connection string
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
(cherry picked from commit 8e6e262c7f)
commit e90bf26577
Author: Ronald Barendse <ronald@barend.se>
Date: Tue May 17 07:33:54 2022 +0200
v10: Support System.Data.SqlClient provider name (#12408)
* Add support for System.Data.SqlClient provider name
* Only update connection string when required
(cherry picked from commit e82bcb1b76)
commit fd0637c96d
Author: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
Date: Mon May 16 14:23:59 2022 +0200
Reintroduce language files tests (#12367)
* Reintroducing language files tests
* Fix casing
* Update tests/Umbraco.Tests.UnitTests/Umbraco.Core/EmbeddedResources/LanguageXmlTests.cs
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
(cherry picked from commit 2ed71a64ec)
* Introducing a new Snippet type
* Adding a SnippetCollection and SnippetCollectionBuilder
* Using snippetCollection to get the snippets instead of fileService
* Fixed fetching the correct content
* Make ISnippet non-discoverable
* Split the SnippetCollection into PartialViewSnippetCollection and PartialViewMacroSnippetCollection
* Update CodeFileController to use the 2 snippet collections
* Display the names with Empty.cshtml on top
* Remove merging embedded snippets with custom snippets from ~\Umbraco.Web.UI\umbraco\PartialViewMacros\Templates folder for the Partial View Collection
* Fix naming
* Fix another naming
* Cleanup + Use base items
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
(cherry picked from commit 9326cc5fc6)
* Introducing a new Snippet type
* Adding a SnippetCollection and SnippetCollectionBuilder
* Using snippetCollection to get the snippets instead of fileService
* Fixed fetching the correct content
* Make ISnippet non-discoverable
* Split the SnippetCollection into PartialViewSnippetCollection and PartialViewMacroSnippetCollection
* Update CodeFileController to use the 2 snippet collections
* Display the names with Empty.cshtml on top
* Remove merging embedded snippets with custom snippets from ~\Umbraco.Web.UI\umbraco\PartialViewMacros\Templates folder for the Partial View Collection
* Fix naming
* Fix another naming
* Cleanup + Use base items
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Ensured container collections retrieved from content type services return empty rather than nullable.
* Reverted change to ILocalLinkParser.
* Reverted change to ILocalLinkParser (2).
* Update GetByParentOrChildId in IRelationService to return non-nullable result.
* Added obsoleted constructor due to change in MemberTypeService.
* Updated nullability of Compare method parameters in IServiceConnector.
* Adjusted nullability of method on IValueConnector.
* Removed nullability of ArtifactDeployState.
* Update language models to get and set manual name
* Save custom language name in controller
* Rewrite AngularJS language edit view and controller
* Cleanup language overview
* Remove icon from language overview
* Make styling of control group the same as properties
* Ensure both ISO code and culture name are set in language model
* Use new language model constructor
* Update tests to use new language constructor
* Update culture name in dictionary package export
* Use language name in dictionary
* Fix language nullability issues
* Cleanup GetAllCultures and added null checks
* Re-add obsolete constructors
* Make language name required and update Cypress test
* Fix routing/saveNewLanguages Cypress test
* Make language name optional (improved backwards compatibility)
Co-authored-by: Ronald Barendse <ronald@panoramastudios.nl>
* Amended GetAll() on IDataTypeService to return an empty collection rather than null.
* Added a ClearSessionValue method to ISessionManager (given you can no longer set a value to null).
* Allow for null values in a StatefulNotification.
* Removed obsoletion of synchronous messages on TreeControllerBase.
* Fixed further CS8620 warnings in core project.
* Further fix to nullable warning.
* Aligned nullablility of retreiving tree nodes and menus, synchronously or asynchronously (such that we no longer can get null values, always empty collection objects).
* Update to ImageSharp 2.1.0 and ImageSharp.Web 2.0.0-alpha.0.23
* Rename CachedNameLength to CacheHashLength and add CacheFolderDepth setting
* Replace PhysicalFileSystemProvider with WebRootImageProvider
* Support EXIF-orientation in image dimention extractor
* Remove virtual methods on FileProviderImageProvider
* Simplify FileInfoImageResolver
* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.25 and remove custom providers
* Make CropWebProcessor EXIF orientation-aware
* Improve width/height sanitization
* Also use 'v' as cache buster value
* Add WebP to supported image file types
* Update to SixLabors.ImageSharp.Web 2.0.0-alpha.0.27 and fix test
* Fix rounding error and add test cases
* Update to newest and stable releases
* Move ImageSharpImageUrlGenerator to Umbraco.Web.Common
* Use IConfigureOptions to configure ImageSharp options
* Implement IEquatable on ImageUrlGenerationOptions classes
* Fix empty/null values in image URL generation and corresponding tests
* Use IsSupportedImageFormat extension method
* Remove unneeded reflection
* Add new columns to the member table
* Add missing IsApproved column
* Add joins with nested query
* Add query for selecting new column values from existing members
* Update the member data from the same query
* Make escapes work for sqlite
* Use GetFieldNameForUpdate instead of GetFieldName
* Left join on memberDto
* Remove the now unused property types and data
* Don't create member columns as properties anymore
* Store old properties in fields on member
Also switch the dates to nullable since they can be null
* Map columns when mapping from DTO to Member object
* Display columns in the member content app
* Fix null exception when creating new user
* Hide value if user doesn't have access to sensitive data
* Remove hardcoded member properties
* Obsolete old member alias constants
* Map and persist member properties
* Correctly update LastLogin when member logs in
* Map IsApproved and IsLockedOut when saving member in backoffice
* Update the query mappers for members
* Fix member service tracks dirty changes test
* Remove no longer existing property types from member type builder
* Fix null error in UpdateMemberProperties
* Fix builder tests
* Fix SetupMemberTestData in MemberControllerUnitTests
* Let LastLoginDate be null and handle check in controller
There's no reason to default a perfectly nullable property to default(DateTime)
* Add translation key for is approved and use that instead of constant
* Obsolete old label constants
* Fix whitespace post merge
* Fix up test comments
* Apply suggestions from code review
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Fix member properties always being sensitive
Co-authored-by: Elitsa Marinovska <elm@umbraco.dk>
Co-authored-by: Elitsa Marinovska <21998037+elit0451@users.noreply.github.com>
* Add initial classes
* Add TelemetryProviders
* Add new NodeCountService.cs and NodeTelemetryProvider
* Add data contract attribute to UsageInformation
Otherwise it wont serialize correctly
* Implement more providers
* Fix builders and propertyEditorTelemetry
* Add MediaTelemetryProvider
* Add MediaTelemetryProvider
* Fix doubling of media telemetry
* Move contentCount from NodeCountTelemetryProvider and move to ContentTelemetryProvider
* Revert ContentTelemetryProvider changes
* Add detailed information to TelemetryService
* Add integration tests
* Add more tests and todos for tests
* Fix stylecop warnings
* Use yield return instead of instantiating local list
* Implement Macro test
* Inject interface instead of implementation in TelemetryService
* Fix TelemetryServiceTests.cs
* Implement media tests
* Implement propertyTypeTests
* Implement constants instead of hardcoded strings
* Add SystemInformationTelemetryProvider
* Use SystemInformationTableDataProvider in UserDataService
* Implement more properties
* Add UsageInformation
* Replace UserDataService with SystemInformationTelemetryProvider
* Undo changes to UserDataService and obsolete it
* Remove ISystemInformationTableDataProvider
* Register SystemInformationTelemetryProvider as telemetry provider
* Use constants for telemetry names
* Make UserDataServiceTests test SystemInformationTelemetryProvider instead
* Update UserDataServiceTests to cover new data
* Add unit tests
* Add integration test testing expected data is returned
* Implement Analytics dashboard
* Improve assertion message
* Add text and styling to analyticspage
* Rename consent to analytic
* implement save button for consent level
* Implement save button
* Fix system information test
* Add TelemetryResource
* Move telemetry providers to infrastructure
* Add database provider to system information
* Set startvalue for slider
* Fix unit tests
* Implement MetricsConsentService using KeyValueService
* Return void hen setting the telemetry level
* fix startposition when not reloading
* Add a couple tests
* Update src/Umbraco.Core/Services/MetricsConsentService.cs
* Rename ConsentLevel.cs
* Use direct Enum instead of parsing
* rename consent resource
* add lazy database
* refactor slider
* Implement ng-if and propers pips
* Make classes internal
* Fix slider not loading when navigating to tab
* Add telemetry level check to TelemetryService.cs
* Add Consent for analytics text
* Fix build errors for unit tests
* Fix TelemetryServiceTests
* revert package-lock.json
* Fix integration test
* Update slider
* Update TelemetryService.cs
* Apply suggestions from code review
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Nikolaj Geisle <niko737@edu.ucl.dk>
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Added functionality to enable 2FA for users..
* Do not use the obsolete ctor in tests
* cleanup
* Cleanup
* Convert User view from overlay to infinite editor
* Add support for having additional editors on top of the user (2fa) which overlay does not support
* Add controllerAs syntax in the template
* Remove unused dependencies
* Adjustments to 2fa login view
* organize elements
* add translations
* add a11y helpers
* add autocompletion = one-time-code
* change to controllerAs syntax
* add callback to cancel 2fa and fix error where submit button was not reset when all other validations were
* add a cancel/go back button to the 2fa view
* replace header with something less obstrusive
* move logout button to the footer in the new editor view
* change 'edit profile' to an umb-box and move ng-if for password fields out to reduce amount of checks
* Add umb-box to external login provider section
* add umb-box to user history section
* bug: fix bug where notificationsService would not allow new notifications if removeAll had been called
* add styling and a11y to configureTwoFactor view
- also ensure that the view reloads when changes happen in the custom user view to enable 2fa
- ensure that view updates when disabling 2fa
- add extra button to show options (disable) for each 2fa provider
* add notification when 2fa is disabled
* add data-element to support the intro tour
also changed a minor selector in the cypress test
* correct usage of umb-box with umb-box-content
* do not use the .form class twice to prevent double box-shadow
* make tranlastion for 2fa placeholder shorter
* ensure that field with 2fa provider is always visible when more than 1 provider
* move error state of 2fa field to token field
* update translation of multiple 2fa providers
* move CTA buttons to right side to follow general UI practices
* rename options to disable
* add disabled state
* add helper folders to gitignore so you can work with plugins and custom code without committing it accidentally
* move the disable functionality to its own infinite editor view
* use properties from umb-control-group correctly
* add 'track by' to repeater
* make use of umb-control-group
* remove unused functions
* clean up translations
* add Danish translations
* copy translations to english
* Only return enabled 2fa providers as expected
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Added "move" action for dictionaries
* Replaced DictionaryMove with MoveOrCopy for PostMove
* Removed int parse for dictionary postmove id & parentId, changed paramtype for move in dictionary.resource
* Added localizedText for new dictionary validationProblems & adjusted nullcheck for move.ParentId
* Fixed logic for move dictionary parent