* Introduce publishNotifications method on IMembershipMemberService.cs
* Fix test
* Add PublishNotificationSaveOptions
* Fix up according to comments
* Use numeric values for flag enum
* Update src/Umbraco.Core/Services/MemberService.cs
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Update src/Umbraco.Core/Services/MemberService.cs
Co-authored-by: Andy Butland <abutland73@gmail.com>
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Backport use of thread delay over sleep and handle dispose in FileSystemMainDomLock (from PRs #18119 and #18147)
* Applied suggestion from code review.
* Add validation to prevent update of a user or member to an invalid username.
* Avoid password manager updates of user name field on user details screen.
* init
* Aligned default values on security settings.
* Added validator for security settings.
* Provide default implementation for get members by email.
* Refactored constructor of MemberController.
* Validate on unique member email only when configured to do so.
* Further code tidy and use of DI in constructor.
* Used new constructor in tests.
* Add unit test for modified behaviour.
* Removed validator for security settings (it's not necessary, I got confused with users and members).
* Spelling.
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Add CacheNullValues option to RepositoryCachePolicy
* Cache null values in DictionaryByKeyRepository
* Fixed issue with nullable reference.
* Updated logic for caching of null values.
* Update src/Umbraco.Infrastructure/Cache/DefaultRepositoryCachePolicy.cs
Co-authored-by: Sven Geusens <geusens@gmail.com>
* Made the NullValueRepresentation overwritable in a generic manner
* Improve generic NullValueCachePolicyResolver
* Revert Commits and clarify logic with comment
This reverts commit 8befb43792 "Improve generic NullValueCachePolicyResolver"
Also reverts 8adf0a2 - Made the NullValueRepresentation overwritable in a generic manner
And 8adf0a2 - Made the NullValueRepresentation overwritable in a generic manner
* Update src/Umbraco.Infrastructure/Cache/DefaultRepositoryCachePolicy.cs
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Sven Geusens <geusens@gmail.com>
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Set Smidge cachebuster type
* Amend exception and fix typo
* Minor tweak to comment and exception message.
---------
Co-authored-by: Simon Hartfield <simon.hartfield@googlemail.com>
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Flow additional identities to new principal
* Add extension to more easily get member identity
* Ensure the member is used instead of the backoffice user in `MemberManager`
* Update snippet
* Fix the comment that I broke
* Update src/Umbraco.Web.Common/Extensions/MemberClaimsPrincipalExtensions.cs
Co-authored-by: Andy Butland <abutland73@gmail.com>
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
* Only fetch single commit
* Hopefully fixes Nerdbank.GitVersioning.GitException: Shallow clone lacks the objects required to calculate version height. Use full clones or clones with a history at least as deep as the last version height resetting change.
* Do not checkout again
* More test pipeline
* Another attempt
* yet another attempt
* more attempts
* Revert "more attempts"
This reverts commit 5694d97ba6.
* Test without building backoffice and login explicitly
* Fix mem leak in integration tests
* Fixes sqlserver lock test
# Conflicts:
# build/azure-pipelines.yml
* Add TimedScope
* Use TimedScope in login endpoint
* Use seperate default duration and only calculate average of actual successful responses
* Only return detailed error responses if credentials are valid
* Cancel timed scope when credentials are valid
* Add UserDefaultFailedLoginDuration and UserMinimumFailedLoginDuration settings
* Don't save invalid media
* Revert "Don't save invalid media"
This reverts commit c4b6acf542.
* Still allow save, but show validation error, not popup error
* Add clarifying comment
* Don't allow create when there is validation errors
* Fix tests
* Add tests
* Fix last test
* Fix more tests
---------
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Refactor to use IWebhostEnvironment for wwwroot files.
* Obsolete ctor
* Add ActivatorUtiiliesConstructor
* Refactor logic to include folders
* Fix so we can see files in wwwroot/App_Plugins
* Cosmetic: Use invariant comparison for the "umbraco" folder".
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Refactor to use IWebhostEnvironment for wwwroot files.
* Obsolete ctor
* Add ActivatorUtiiliesConstructor
* Refactor logic to include folders
* Fix so we can see files in wwwroot/App_Plugins
* Cosmetic: Use invariant comparison for the "umbraco" folder".
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Property level versioning for the Delivery API using a custom System.Text.Json resolver
* Adding a converter base class that custom converters can implement
* Revert resolver
* Use IHttpContextAccessor for the API version
* Fix attribute and checks in ShouldIncludeProperty
* Fix enumeration
* Fix comment
* Unit tests
* Refactoring
* Remove Assert.Multiple where no needed
* Added Content tests with Approved Color
* Bumped version of test helper
* Make Content tests run in the pipeline
* Using custom datatype builder instead of changing the default approved color data type
* Updated variables
* Fixed comment
* Make all Content tests run in the pipeline
* Reverted
* Update nuget packages
* Cherry pick fixes from v15
* Fixed: Projects that use central package version management should not define the version on the PackageReference items but on the PackageVersion items
* rollback update in tool
* Revert #14234
* Make the boot failure message more descriptive when unable to connect to DB
* Update src/Umbraco.Infrastructure/Runtime/RuntimeState.cs
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Revert changes
* Obsolete InstallMissingDatabase from V16
---------
Co-authored-by: Ronald Barendse <ronald@barend.se>
* Dropzone, upload complete callback with processed file array
* Media card: cosmetic fix for image border-radius
The image's square corners were poking out.
* Validate email for member models
* Add null check or more test cases
* return invalid when not a valid email
* Cleanup
* remove private method in favor of extension
* Remove non used, using statement
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
(cherry picked from commit 6b0f8e7b7c)
* Distinguish between default value and initial zero
* Update special value comment documentation
* Redid solution with dirty/new entity tracking
* rework copy branch sortorder fix
* Change == false to is false
---------
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Add missing backoffice languages as properties etc. are translated via translation section (e.g. with "#Backoffice Settings"). At the moment the swiss languages always need to be added via the umbraco/Config folder.
* Added tests for userGroup
* Clean up
* Updated userGroup tests
* Updated tests
* Updated tests
* Cleane up
* Cleaned up
* Bumped versions
* Run user tests
* Cleaned up
* Added method for checking if the document tree is empty
* Bumped version
* Reverted
* Added Content tests with custom data type
* Added tests for List View Media data type in Media section
* Updated method name due to api helper changes
* Updated the assertion of Content tests with custom data type
* Bumped version of test helper
* Make all Content tests run in the pipeline
* Skipped test for code editor as it is removed
* Fixed comment
* Make Media tests running in the pipeline
* Bumped version
* Updated code due to ui helper changes
* Bumped version of test helper
* Updated tests for bulk trash in the media section
* Fixed notification message
* Make Content tests and Media tests run in the pipeline
* Added more waits
* Reverted
* Added tests for rendering content with numeric
* Added tests for rendering content with textarea
* Added tests for rendering content with approved color
* Added tests for rendering content with numeric
* Added tests for rendering content with tags
* Added tests for rendering content with textarea
* Updated tests for rendering content with textstring due to test helper changes
* Added tests for rendering content with truefalse
* Bumped version of test helper
* Make all tests for rendering content run in the pipeline
* Fixed comments
* Removed blank lines
* Fixed name
* Make all smoke tests run in the pipeline
* Added tests for rendering content with dropdown
* Added tests for rendering content with Image Cropper - not done
* Updated tests for rendering content due to ui helper changes
* Updated tests for rendering content with image cropper
* Updated tests due to the api helper changes
* Bumped version of test helper
* Make all the tests for rendering content run in the pipeline
* Removed blank lines
* Format code
* Fixed test name
* Reverted
* Added tests for rendering content with numeric
* Added tests for rendering content with textarea
* Added tests for rendering content with approved color
* Added tests for rendering content with numeric
* Added tests for rendering content with tags
* Added tests for rendering content with textarea
* Updated tests for rendering content with textstring due to test helper changes
* Added tests for rendering content with truefalse
* Added tests for rendering content with checkbox list
* Added tests for rendering content with date picker - not done
* Updated tests for rendering content with date picker
* Updated tests for rendering content due to ui helper changes
* Bumped version
* Removed blank lines
* Make Rendering Content tests run in the pipeline
* Changed method name due to test helper changes
* Reverted
* Added tests for rendering content with numeric
* Added tests for rendering content with textarea
* Added tests for rendering content with approved color
* Added tests for rendering content with numeric
* Added tests for rendering content with tags
* Added tests for rendering content with textarea
* Updated tests for rendering content with textstring due to test helper changes
* Added tests for rendering content with truefalse
* Bumped version of test helper
* Make all tests for rendering content run in the pipeline
* Fixed comments
* Removed blank lines
* Fixed name
* Make all smoke tests run in the pipeline
* build(deps): update @umbraco-ui/uui from 1.7.1 to 1.11.0
* fix: umb-login-element no attributes
Cherry-picked a fix from V14 where the custom login input component was no longer needed, which was fixed because it errors out. This simplifies the login form.
* cherry-pick code to handle 'enter' click from v14
* fix: anchors and query strings do not work
Since the change from UDIs to localLinks in href, the pattern matched a little too much in the href section completely ignoring any "extras" such as querystrings and anchors after the locallink, which meant that the locallink did not get replaced at all if they were present. This is fixed by limiting the regexp a bit.
* fix: legacy links do not follow the same regexp as new links
Because we are no longer matching the whole `href` attribute but only some of its contents, we need to fix up the old pattern. It has been extended with matching groups that follow the same pattern as the new links.
* feat: allow a-tags to be multiline
example:
```html
<a
type="document"
href="/{localLink:<GUID>}">
Test
</a>
```
* fix: split regex into two parts: first a tokenizer for a-tags and then a type-finder
* fix: ensure only "document" and "media" are matching to speed up the pattern
* feat: allow a-tags to be multiline
(cherry picked from commit 35e8f2e460)
* Added test
* Small changes
* Added content start node tests
* Added media start node tests
* Cleaned up
* More updates
* Cleaned up
* Added wait
* Cleaned up
* Bumped helpers
* Updated to run user tests
* Fixed user tests
* Bumped helpers
* Added missing semicolon
* Fixes based on comments
* Run smoke tests
* Add ContentCache test
* Use SemaphoreSlim as write lock
* Apply lock imrpovements to SnapDictionary
* Obsolete unused MonitorLock
(cherry picked from commit c3db3457e7)
* Updated step to verify the notification message
* Added tests for notification message
* Bumped version
* Updated expected notification message
* Bumped version
* Added tests for textstring in the rendered content
* Updated tests for rendering content with textstring
* Added tests for rendering content with numeric
* Added tests for rendering content with textarea
* Removed tests
* Bumped version
* Make all tests for rendering content run in the pipeline
* Make all smoke tests run in the pipeline
* Added more waits
* Updated assert steps
* Fixed api method name
* Added more waits to avoid the failing test in window
* Updated tests due to business changes
* Added more waits to avoid the failing tests in window
* Updated test due to Ui changes
* Bumped version
* Bumped version of test helper
* Bumped version
* Add ContentCache test
* Use SemaphoreSlim as write lock
* Apply lock imrpovements to SnapDictionary
* Obsolete unused MonitorLock
(cherry picked from commit c3db3457e7)
* Added tests for List view
* More tests
* Added rest of test
* Bumped version
* Fixed failing tests
* Added tests and fixed comments
* Cleaned up tests
* Bumped testhelpers
* Bumped again
* Set condition to only run sql server when enabled
* Run all content test
* Reverted changes
* Added tests for Allow At Root property
* Added Content tests for Allowed Child Nodes property
* Added Content tests for the Allow at root property
* Added Content tests for the Allowed child node property
* Added Content tests for the Collection property
* Added Content tests with allow vary by culture
* Added more waits
* Updated tests due to api helper changes
* Added Content tests with allowed templates
* Bumped version of test helper
* Updated code due to api helper changes
* Fixed naming
* Add tests for all UDI entity types
* Fix IContentBase UDI entity type for blueprints
* Remove redundant switch statements and reorder methods
(cherry picked from commit 609b5f76d4)
* Updated version of test helpers
* Added option to run smoke tests
* Found the issue
* Fixed pipeline
* Removed duplicate file creation
* Removed
* Always run sql server tests
* Removed unused parameter
* Enables sqlServer E2E to run on pipeline
* Removed comment
* Fix warnings SA1111, SA1028, SA1500, IDE1270 in Umbraco.Web.Website, and updated rules.
* Remove warnings: IDE0270: Null check can be simplified
* More SqlServer project warnings resolved
* CS0105 namespace appeared already
* Suppress warning until implementation:
#pragma warning disable CS0162 // Unreachable code detected
#pragma warning disable CS0618 // Type or member is obsolete
CS0162 remove unreachable code
SA1028 remove trailing whitespace
SA1106 no empty statements
CS1570 malformed XML
CS1572 corrected xml parameter
CS1573 param tag added
IDE0007 var not explicit
IDE0008 explicit not var
IDE0057 simplify substring
IDE0074 compound assignment
CA1825 array.empty
Down to 3479 warnings
* - SA1116, SA117 params on same line
- IDE0057 substring simplified
Specific warnings for Umbraco.Tests.Benchmarks
* Fixed IDE0074 compound assignment and added specific warnings for Umbraco.Tests.Common
* Specific warnings for Umbraco.Tests.Integration and Umbraco.Tests.Common
Fixed:
- SA1111, SA1116, SA117 params and line formatting (not all as there are many)
- SA1122 string.Empty
- IDE0057 simplify substring
- IDE0044,IDE0044 make field readonly
- IDE1006 naming rule violation (add _)
- SA1111 closing parenthesis on line of last parameter
- SA1649 filename match type name
- SA1312,SA1306 lowercase variable and field names
* Fixed various warnings where they are more straight-forward, including:
- SA1649 file name match type name
- SA111 parenthesis on line of last parameter
- IDE0028 simplify collection initializer
- SA1306 lower-case letter field
- IDE044 readonly field
- SA1122 string.Empty
- SA1116 params same line
- IDE1006 upper casing
- IDE0041 simplify null check
Updated the following projects to only list their remaining specific warning codes:
- Umbraco.Tests.UnitTests
Typo in `Umbraco.Web.Website` project
* Reverted test change
* Now 1556 warnings.
Fixed various warnings where they are more straight-forward, including:
- SA1111/SA1116/SA1119 parenthesis
- SA1117 params
- SA1312 lowercase variable
- SA1121 built-in type
- SA1500/SA1513/SA1503 formatting braces
- SA1400 declare access modifier
- SA1122 string.Empty
- SA1310 no underscore
- IDE0049 name simplified
- IDE0057 simplify substring
- IDE0074 compound assignment
- IDE0032 use auto-property
- IDE0037 simplify member name
- IDE0008 explicit type not var
- IDE0016/IDE0270/IDE0041 simplify null checks
- IDE0048/SA1407 clarity in arithmetic
- IDE1006 correct param names
- IDE0042 deconstruct variable
- IDE0044 readonly
- IDE0018 inline variable declarations
- IDE0074/IDE0054 compound assignment
- IDE1006 naming
- CS1573 param XML
- CS0168 unused variable
Comment formatting in project files for consistency.
Updated all projects to only list remaining specific warning codes as warnings instead of errors (errors is now default).
* Type not var, and more warning exceptions
* Tweaked merge issue, readded comment about rollback
* Readded comment re rollback.
* Readded comments
* Comment tweak
* Comment tweak
* Reorder templates to save master templates first, and use new ITemplateService
* Add obsoletion
* Fix if statement
* Refactor async calls into async method to avoid multiple get awaiters
* Update interface
* Avoid breaking changes
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Added E2E pipeline
* Set up CI with Azure Pipelines
[skip ci]
* Update nightly-E2E-test-pipelines.yml for Azure Pipelines
* Updated solution file
* Added fetch depth
* Update nightly-E2E-test-pipelines.yml for Azure Pipelines
* Added a step for installing wait-on
* Added runSqlServerE2ETests
* Update nightly-E2E-test-pipelines.yml for Azure Pipelines
* Update nightly-E2E-test-pipelines.yml for Azure Pipelines
* Updated pipeline so we only run smoke
* Update nightly-E2E-test-pipelines.yml for Azure Pipelines
* Update nightly-E2E-test-pipelines.yml for Azure Pipelines
* Removed pipeline
* Fixed tests
* Fixed tests
* Added timeout
* Fixed rest of the failing tests
* Bumped version
* Added timeout
* Bumped version of helpers
* Added parameter
* Applied fixes for tests and did some skips
* Small changes
* Bumped version
* Fixed comments
* Fix upgrade check repo, so it's able to check more than once :)
* Add VersionCheckPeriod to server configuration output
* Add upgrade check endpoint
* Obsolete unused response model
* Update OpenAPI JSON
* Fix warnings SA1111, SA1028, SA1500, IDE1270 in Umbraco.Web.Website, and updated rules.
* Remove warnings: IDE0270: Null check can be simplified
* More SqlServer project warnings resolved
* CS0105 namespace appeared already
* Suppress warning until implementation:
#pragma warning disable CS0162 // Unreachable code detected
#pragma warning disable CS0618 // Type or member is obsolete
CS0162 remove unreachable code
SA1028 remove trailing whitespace
SA1106 no empty statements
CS1570 malformed XML
CS1572 corrected xml parameter
CS1573 param tag added
IDE0007 var not explicit
IDE0008 explicit not var
IDE0057 simplify substring
IDE0074 compound assignment
CA1825 array.empty
Down to 3479 warnings
fix: issue resolved, where content saving breaks due to saving to umbracoLog with error message like that: String or binary data would be truncated in table 'dto.umbracoLog', column 'parameters'. Truncated value: 'English (United States), German (Switzerland), French (France), Italian (Italy), Arabic (Iraq), Pers'...
* Do not run authentication if Umbraco is not ready for it. Fail instead.
* Fix breaking change
* Spelling + code style :)
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Treat warnings as errors for Umbraco.Cms, Umbraco.Cms.Api.Common and Umbraco.Cms.Api.Delivery projects.
* Treat warnings as errors for Umbraco.Cms.Imaging.ImageSharp and Umbraco.Cms.Imaging.ImageSharp2 projects
* Treat warnings as errors for Umbraco.Cms.Persistence.EFCore.Sqlite, Umbraco.Cms.Persistence.EFCore.SqlServer and Umbraco.Cms.StaticAssets
* Treat warnings as errors for Umbraco.Cms.Targets
* Treat warnings as errors for templates/Umbraco.Templates and Umbraco.JsonSchema
* More projects with warnings as errors.
* Reverted warnings as errors due to some file changes since the update.
* Remove unwanted tag
* Removed warnings as errors on TestData project
* Implement warnings as errors in props file, and exclude specific warnings where appropriate as per PR review suggestions.
* Reverted spaces
* Revert "Reverted spaces"
This reverts commit 3734c45e22.
* Update sdk version to fully support Umbraco.code 2.2.0 dependency on Microsoft.CodeAnalysis.CSharp.Workspaces 4.10.0
* Ignore PathToLongErrors for now in static assets
---------
Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Updated search services to start searching from a guid based key.
* Solved api breaking changes with new minor version
* Ordering and formatting
* Changed interface default implementation to the new method...
* Consolidated version
* PR review cleanup and renaming
* Added Content tests with content picker
* Removed the test for content picker
* Added Content tests with the default content picker
* Added more Content tests with Content Picker data type
* Added the Content tests with Dropdown
* Added Content tests with Image Cropper
* Updated upload file method due to test helper changes
* Added Content tests with Image Cropper
* Added Content tests with Image Cropper data type
* Added Content tests with Media Picker data type
* Updated Media tests due to ui helper changes
* Bumped version of test helper and json builder
* Make all Content tests run in pipeline - should remove it before merging
* Fixed the name of tests
* Updated the tests for Media Picker in Content section
* Added the Content tests with Multiple Media Picker
* Updated the Content test with Content Picker due to the test helper changes
* Bumped version of test helper
* Fixed the failing tests for Content
* Removed Image Cropper test in this branch
* Added more waits
* Added smoke tags
* Make smoke tests run in the pipeline
* Added Content tests for Image Cropper
* Added smoke tags to make all Image Cropper tests running in the pipeline
* Added Content tests with Member Picker
* Added Content tests with Multiple Image Media Picker
* Added Content tests with Numeric
* Bumped version of test helper
* Make all Content tests running in the pipeline
* Assert that the content is published
* Assert that the content is published
* Fixed code conflict
* Fixed comment and code conflict
* Make all Content tests run in the pipeline
* Refactor the Content tests with different data type
* Cleaned code
* Make the smoke tests run in the pipeline
* Added a custom RichTextRequiredValidator, to check that the empty richtext object (still with json) can be required or not. We are now testing the markdown needs to have a value
* Fixed namespaced and moved back wrong class
* Cleanup
* Add delivery api toggle
* Add Dockerfile
* add docker compose template
* Ensure no duplicate database containers
* Remove wwwroot/umbraco permission check
We don't need write access to this folder
* Provide environment variables from dokcer-compose
* Build as debug from compose
The compose file is intended to be used for local dev
* Don't store password in docker files
Still not great to store it in .env but it's fine for dev
* Add additional template files
* Add docker ignore file
* Enable delivery API in settings too
* Enable models builder mode toggle
* Add WIP for umbraco release option
* Add starterkit option
* Add option to chose LTS or latest
* Add development mode option
* Add descriptions
* Add display names
* Add backoffice development at explicit default
* Rearrange DevelopmentMode before ModelsBuilderMode
* Allow specifying a port for the compose file
* Add some notes
* Move starterkits into its own template
* Don't update version
* Remove test configuration from Dockerfile
* Add default modelsbuilder option
* Update descriptions
* overwrite default values in IDE development
* Remove obsolete runtime minification
* Try and fix healthcheck
* Don't use post action for starterkit
otherwise it won't work with Rider, also make the version 13.0.0 if LTS is chosen
* Move UmbracoVersion above FinalVersion
Otherwise, rider will use UmbracoVersion for some weird reason
* Fix healthcheck
* Use else instead of second if for modelsbuilder
* Obsolete UmbracoVersion
* Remove custom release option
* Use forward slashes for volumes
* Add MSSQL_SA_PASSWORD env variable
* Temporarily limit acceptance tests so it works
* Try again
* Disable SQLServer integration tests
* Set UseHttps to false in appsettings.Development.json
You still want to be able to use non-https when developing locally
* Fix LTS version
LTS still needs installer endpoints added
* Update permissions of wwwroot/umbraco for v13 sites
* Fix conditional in Program.cs
* Undo pipeline shenanigans
* Updated api tests for Data type due to test helper changes
* Fixed Data Type tests due to test helper changes
* Updated the test for edit password due to ui helper changes
* Bumped version
* Added the test files for article
* Added Content tests with Upload Article datatype
* Added the audio test files
* Fix format
* Updated the Content tests with Upload Article
* Added Content tests with Upload Audio
* Added Content tests with Upload File
* Bumped version
* Make all Content tests run in the pipeline
* Cleaned code
* Make the smoke tests run in the pipeline
* Added Contents test with Textarea
* Added Content tests with textstring
* Removed the tests for Textarea property editor
* Added Content tests for TrueFalse data type
* Bumped version of test helper
* Make all Content tests run in the pipeline
* Cleaned code
* Make the smoke tests run in the pipeline
* Added Content tests with Multi URL Picker
* Bumped version of test helper
* Make all Content tests run in the pipeline - remove it before merging
* Added goToSection step
* Fix comments
* Fix comments
* Fixed comments
* Make the smoke tests run in the pipeline
* Find the constraint name based on table,column,type name instead of hardcoding it
* removed unnecesary using
* Check constraint rename seperatly from column rename
* Added Content tests with Radiobox data type - not done
* Removed Content test with Tags property editor
* Added Content tests with Radiobox datatype
* Added Content tests with Tags data type
* Created content with data type via API
* Bumped version of test helper
* Make all Content tests run in the pipeline
* Make all smoke tests run in the pipeline
* Added Element <-> Document type switch validation
* Apply HasElementconfigured to block grid and block list
Fix smalle bug + optimization
* Moved some of the logic into warnings trough notifcationhandlers and eventmessages
* Cleanup
* Update openApi spec (merge changes)
* Add IsElement check between parent and child on creation
* Typos
* Transformed HasElementConfigured into HasElementConfigured
* Typo
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* IsElement Validation refactor
Moved validation logic regarding doctype IsElement switch into its own service as it will be consumed by more things down the line
* commit missing services...
* Naming improvements
* Bugfix
* First batch of integration tests for ElementSwitchValidator
* More integration tests!
* Little reformatting
* Changed the default values of block based configuration to match expected values.
---------
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
2024-08-15 07:11:17 +02:00
PeterGitHubKvyatkovsky, Petr <pkvyatkovsky@qulix.com>
* Started some tests for imageMediaPicker
* Added tests
* Added additional test
* Fixed based on updates to helpers
* Bumped versions
* Fixes based on comments
* Updated so we run all content test
* Cleaned
* Remove auditlogging from media service
* Refactor to use backofficeSecurityaccessor to get backoffice user
* Fix constructor error
* Reinstate media service move
* Go back to audit type delete
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Combining OpenId and OfflineAccess scope
When the client scope is set to "openid offline_access", the returned scope only has the "offline_access" scope. The "openid" scope and the "id_token" are missing. By combining the OpenId and OfflineAccess as return scope, the refresh_token and id_token are returned.
* Update MemberController.cs
Cleaner way, provided by @kjac, to check if the scope has openid and/or offiline_access set.
(cherry picked from commit 55f9b09ab7)
* Make missing languages a non blocker for usergroup retrieval
* Add logging
* Update obsolete message
---------
Co-authored-by: Zeegaan <skrivdetud@gmail.com>
* Improve migration performance
* Fix PR review comments
* Revert tags migration for sql lite as the optimized sql doesn't work properly and sqlLite datasets should not be large anyway
* Combining OpenId and OfflineAccess scope
When the client scope is set to "openid offline_access", the returned scope only has the "offline_access" scope. The "openid" scope and the "id_token" are missing. By combining the OpenId and OfflineAccess as return scope, the refresh_token and id_token are returned.
* Update MemberController.cs
Cleaner way, provided by @kjac, to check if the scope has openid and/or offiline_access set.
* Removed type attribute from processed local links
improved code readabilty by using multi return type to private class
* Removed type attribute from processed locallinks in delivery api
* Removed type attribute from expected output regarding locallink parsing
* Added type atttribute removal in deliveryapi for local image link and invalid local links
Test rename for clarity and
* Added tests with empty name for Partial View, Stylesheet, Script and Template
* Added tests with non-empty folder for Partial View, Stylesheet, Script
* Added tests to create a partial view in a folder in a folder
* Moved goToSetting to Arrange
* Fixed the failing tests and added the unhappy path tests
* Fixed the failing tests due to UI changes
* Fixed format
* Bumped version of test helper
* Run the tests for Settings in the pipeline
* Fixed the Member failing tests
* Fixed the Document Type Design Tab failing tests
* Fixed the Media Type Design Tab failing tests
* Fixed the Script failing tests
* Bumped version of test helper
* Bumped version of test helper
* Make block editor base classes public
* Update BlockEditorValues.cs
Change to trigger a new build for #16774
---------
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
* Added Content tests with content picker
* Removed the test for content picker
* Added Content tests with the default content picker
* Added more Content tests with Content Picker data type
* Added the Content tests with Dropdown
* Added Content tests with Image Cropper
* Updated upload file method due to test helper changes
* Added Content tests with Image Cropper
* Added Content tests with Image Cropper data type
* Added Content tests with Media Picker data type
* Updated Media tests due to ui helper changes
* Bumped version of test helper and json builder
* Make all Content tests run in pipeline - should remove it before merging
* Fixed the name of tests
* Updated the tests for Media Picker in Content section
* Added the Content tests with Multiple Media Picker
* Updated the Content test with Content Picker due to the test helper changes
* Bumped version of test helper
* Fixed the failing tests for Content
* Removed Image Cropper test in this branch
* Added more waits
* Added smoke tags
* Make smoke tests run in the pipeline
* Removed type attribute from processed local links
improved code readabilty by using multi return type to private class
* Removed type attribute from processed locallinks in delivery api
* Removed type attribute from expected output regarding locallink parsing
* Cleanup
* Fixed spacing bug
* Added 2 more edge test cases
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* chore: remove the `user-defined.css` asset from the RCL
You cannot overwrite an asset in an RCL just like that, as the user-defined.css were intended.
* delete actual file
* Removing override of OnTransformingIndexValues from DeliveryApiContentIndex
* Making sure that TransformingIndexValues event is raised for DeliveryApiContentIndex without performing the special index value transformations
* Review suggestion
* fix: move usernameIsEmail from the current user to the user configuration since it is a static variable not only relevant to the current user
* update OpenApi.json
* update OpenApi.json
* update OpenApi.json
* Added Content tests with checkbox list
* Bumped version of test helper
* Make the Content tests run in the pipeline
* Moved goToBackOffice to beforeEach
* Removed the unnecessary file
* Moved goToBackOffice to beforeEach
* Make smoke test run in the pipeline
* Support new localLink format in core link parsing
* Updated devliery api to work with the new locallinks format
Added tests for old and new format handling.
* Fix error regarding type attribute not always being present (for example old format or non local links)
* Create seperate Create and Update in ContentTypeServiceBase
* Fix up notification for update
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* separate backoffice install into its own template
* add new job to build the backoffice npm package
* move location of templates
* set version, then build, then pack
* use nbgv to get just the NpmPackageVersion
* calculate version earlier and for both builds
* merge two tasks
* add Build keyword to the display name
* get the node version from the backoffice
* update backoffice submodule
* bump npm version before restoring cache to ensure the cache key doesn't change
* add template to umbraco.sln
* Adds url support for x.com/.*/status/.*
* Updated regex
* Obsoleting Twitter as OEmbedProvider
* Introducing X as its new alternative
* Adding X and removing Twitter from EmbedProvidersCollection
* Typo
* Update integration test base class to verify that calls to ServiceDescriptor.ImplementationType are guarded for keyed services
* Fix unguarded calls to ServiceDescriptor.ImplementationType for keyed services
* Do not rely on claims to figure out user access + prepare for claims removal
* Fix typos :)
* Ensure we fire all relevant notifications when creating and updating user groups
* Leave it to the cache refreshers to flush user cache data (start nodes)
* Added tests for users
* Additional tests
* Found additional test scenarios
* File select
* Fixed tests
* Cleaned up user tests
* Bumped versions of helpers and builder
* Updated naming of method
* More updates
* Added more tests
* Fixed tests
* Fixed skipped tests
* Final touches
* Bumped
* Run userTests
* Fixes made based on review
* Updated so we run our smoketest again
* Added unhappy path tests for MemberGroup
* Added unhappy path tests for Member
* Bumped version of test helpers
* Added smoke tag to make all the tests running in the pipeline
* Update tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Members/Members.spec.ts
* Removed smoke tags before merging
---------
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Added tests for Document blueprints
* Fixed the failing tests for Partial View
* Updated tests for Document Blueprints
* Fixed the delete document blueprints tests
* Fixed method name due to the test helpers changes
* Fix arrange steps
* Bumped version of test helpers
* Removed 's' in the file name
* Removed the step to reload tree
* Fixed comments
* Removed test.describe before merging
* Add missing mapping for ActionParameters
* Remove -ActionParameters as that is now mapped
* Update OpenApi.json
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Added tests for Multi URL Picker
* Added tests for Multiple Media Picker
* Added tests for RichTextEditor - not done
* Added tests for Richtext Editor
* Added tests for Content Picker
* Added tests for Tags
* Fixed the tests for Approved Color
* Added tests for Checkbox list
* Fixed tests for DataTypeFolder
* Fixed tests for DatePicker due to api changes
* Added tests for Dropdown
* Fixed tests for ImageCropper due to ui changes
* Added tests for List View
* Added tests for Multiple Media Picker
* Added tests for RichTextEditor
* Added tests for Radiobox
* Added tests for True false
* Added tests for Upload
* Bumped version of test helper
* Bumped version
* Fixed code format
* Removed hard waits
* Updated tests for Template and Partial View - not done
* Added insert section tests
* Used defaultTemplateContent to avoid duplicate code
* Added insert section tests
* Added missing tests for Partial View
* Added missing tests for Scripts
* Added missing tests for Stylesheet
* Added missing tests for Template
* Changed method's name due to test helper changes
* Added skip tests
* Bumped version of test helper
* Reversed waits
* Changed createThreeDotsButton to createButton due to UI changes
* Removed List View - Members tests as the UI changes
* Added more waits
* Removed unnecessary waits
* Added and removed skip tests
* Fixed and added missing tests
* Changed name of test file for Media Picker, Image Media Picker, Multiple Media Picker and Multiple Image Media Picker
* Updated and added missing tests for Data Types
* Bumped version of test helper
* Changed configuration of smokeTest to make all DataType tests run in the pipeline. It should remove before merging
* Added skip for all tests of Numeric as there is no configuration now
* Removed test.describle
* Change syntax of smoke tag
* Removed duplicate code
* Added the tests that avoid the minimum value is greater than the maximum value
* Added the tests that avoid the min height value is greater than the max height value
* Added test for adding available block to RTE
* Remove skip and add more tests
* Added tests for create an empty data type
* Fixed the create data type tests
* Added tests for changing setting a data type
* Updated the test for creating a new data type
* Added skip tests due to UI changes
* Skipped unhappy tests as the front-end is not ready
* Changed the way to create a new stylesheet
* Updated method names due to test helpers changes
* Bumped version of test helper
* Updated expected result
* Updated method name due to UI changes
* Bumped version of test helper
* Bumped version of test helper
* Fixed add start node tests
* Added skip tests
* Updated the expected result
* Fixed add layout tests
* Added more waits
* Add skip tests
* Removed , in the objects and renamed some tests
* Added tests for updating the option
* Fixed naming and removed unnecessary commas
* Update tests/Umbraco.Tests.AcceptanceTest/package.json
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
Co-authored-by: Andreas Zerbst <73799582+andr317c@users.noreply.github.com>
* Do not execute query if no macros found
* Request cache the permission lookup
* Unbreak change by adding obsolete ctor
* Clean up
* Wrap indexing for delivery API in a scope
* Do not ask options every time for the timeout, instead listen for updates
* Lookup content types once instead of one by one
* Use TryGetValue instead
* Do a distinct on user ids before building index, to avoid issue with more than 2100 parameters
* Don't map ContentDto (it's unused)
* Introduce request bound block editor element cache
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Updated tests for Member Group - not done
* Added api tests for Member
* Added api tests for Member Group
* Added ui tests for Members
* Added ui tests for Member Group
* Added tests for Member Type
* Added code to block unnecessary resources
* Updated createFolder
* Bumped version of test helper
* Changed clickCreateButton to clickCreateLink due to UI changes
* Bumped version of json builder
* Reversed previous code
* Removed waitForTimeout
* Removed waitForTimeout after login
* Bumped version of json builder
* Changed delete folder method
* Bumped version of test helper
* Update create link
* Removed waitForTimeout
* Added skip tests since currently only can view relations
* Added more explicit wait
* Removed hard wait
* Removed invalid verification step due to paging
* Moved get set telemetry level from test to before/after test
* Bumped version of test helper
* Added smoke tags - not done
* Added smoke tags
* Changed locator due to Ui changes
* Changed update to rename method due to test helpers change
* Bumped version of test helpers
* Removed tests for MemberType
* Fixed merge conflict
* Added code to run smoke E2E tests after each build instead of full E2E tests
* Updated command to run smoke test
* Added more smoke tag
* Added smoke tags
* Updated the syntax of smoke tag
* Added smoke tag to make all tests run in the pipeline
* Bumped version of test helper
* Fixed comment
* Removed unnecessary lines
* Removed test.describle
* Include umbraco-package.json manifests in package telemetry and add ID
* Add package ID to ManifestResponseModel
* Use async service method and HTTP client factory
* Avoid breaking changes
* Added api tests for Document - not done
* Added ui tests for Content - not done
* Added api test for Documents
* Added ui tests for Content
* Updated method name due to ui changes
* Bumped version of test helpers and json builders
* Added smoke tag to run all Content tests in the pipeline
* Bumped version of json builder
* Revert files
* Updated the syntax of smoke tag
* Added tests for content with different property editors
* Added tests for Info Tab
* Added more steps for before tests
* Added more tests for Redirect Management
* Added more tests for Content
* Bumped version of test helper
* Changed test name
* Updated the method name due to the test helper changes
* Fixed typo
* Added more waits and skip tests
* Updated the test name
* Changed click action for save button
* Bumped version of test helper
* Bumped version of test helper
* Updated choose document type step after clicking create button due to UI changes
* Added skip tests
* Changed clean method
* Fixed arrange step
* Fixed the arrange steps
* Removed test.describe and unnecessary variables
* Added smoke tests
* Made previewhubupdater work with full cache refreshes
* Make signout_Async available on coreSignInManager
* Allow Migrations to signout the logged in user
* Adding a guid to a user requires resignin
* Added a token revoke mechanism during migrations
* Revert "Make signout_Async available on coreSignInManager"
This reverts commit b103cf119a.
* Revert add allRefreshed on preview hub
Clarified with a comment
* Updated failing test setups
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Added tests
* Added the rest of the tests
* Few changes to failing test
* Added tests for folders
* More cleanup
* Updates
* Fixed tests
* More documentType fixes
* Fixed test
* Cleaned up
* Cleaned
* Bumped version of testHelpers
* Added @smoke in the define to test all our tests
* Updated version
* Added smoke tags
* Remove reload
* Added clean
* Updates from comments, not done
* Added smoke tag
* Uncommented test.describe
* Bumped version
* Added semicolon
* Split documentType tests into more files
* Bumped version
* Removed test describe and fixed indentation
* Added mediaType and mediaTypeFolder
* Added more tests
* More tests!
* Even more tests
* More fixes
* Clean up
* Added smoke tags
* Bumped version
* Added wait after clicking login
* Added remaining tests
* Bumped version of testHelpers
* Skipped failing test
* Fixed to comments
* Fixed comments and added missing test
* Bumped version
* Split mediaType tests into different files
* Removed test.describe and fixed indentation
this field will be automatically focused when the user sees the login screen, and it should be valid according to a11y best practices as this is the first and main element on the page
fixes#16276
* Updates JSON schema for Umbraco 10 with latest references for Forms and Deploy (#15918)
* Ported over #15928 changes for 13.3 RC (#16023)
* Ported over #15928 changes for 13.3 RC
* Use GetOrAdd()
* Lock dictionary initialization
---------
Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>
* Make the API content response builder extendable (#16056)
* Make the API content response builder extendable
* DeliveryApiJsonTypeResolver needs to be extendable too
* bump rc to regular
* Bump to next minor
* Add blocks in RTE telemetry (#16104)
* Add blocks telemetry
* Use constants and update tests
* V13: Add property type information to telemetry (#16109)
* Add property type counts to telemetry
* Use constants and fix tests
* Update description
* V10: Fix for fallback file upload (#14892) (#15868)
* Fix for fallback file upload (#14892)
* Added check for file type
* Removed unneeded null checks and fixed tabs
* Cleaning
* Cleanups, cleanups, and removal of unneeded null checks
* Reverted removal of relationshipservice
* Revert null check removals (too risky)
---------
Co-authored-by: Ambert van Unen <AvanUnen@ilionx.com>
Co-authored-by: Laura Neto <12862535+lauraneto@users.noreply.github.com>
(cherry picked from commit 0b5d1f8aa6)
* Fix up formatting
---------
Co-authored-by: Ambert van Unen <ambertvu@gmail.com>
* Implementors using Umbraco.Tests.Integration won't have to override GetLocalizedTextService
(cherry picked from commit b0016687eb)
(cherry picked from commit 2bb56f1b81)
* Fix logic for retrieving lastKnownElement
(cherry picked from commit cae106bfe8)
* bump version
* Bump version
* Bump version
* Since v13 properties can sometimes be of type IRichTextEditorIntermediateValue - this was unexpected in the XPath navigator code (#16121)
* Webhook log improvements (#16200)
* fix: include all headers in webhook log
* feat: return webhook log status from server
* feat: make webhook logs deep linkable
* feat: add webhook log pagination
* feat: improve webhook request/response body preview
* V13: Optimize custom MVC routing (#16218)
* Introduce EagerMatcherPolicy to conditionally bypass content routing
* Ensure that the candidate we disable dynamic routing for is valid
* Skip Umbraco endpoints
* Simplify logic a bit
* Move install logic to matcher
* Ensure that dynamic routing is still skipped when in upgrade state
* Fixup comments
* Reduce nesting a bit
* Don't show maintenance page when statically routed controllers are hít
* Remove excess check, since installer requests are statically routed
* V13: Optimize custom MVC routing (#16218)
* Introduce EagerMatcherPolicy to conditionally bypass content routing
* Ensure that the candidate we disable dynamic routing for is valid
* Skip Umbraco endpoints
* Simplify logic a bit
* Move install logic to matcher
* Ensure that dynamic routing is still skipped when in upgrade state
* Fixup comments
* Reduce nesting a bit
* Don't show maintenance page when statically routed controllers are hít
* Remove excess check, since installer requests are statically routed
(cherry picked from commit ba9ddd11da)
* Property source level variation should only be applied when configured (#16270)
* Property source level variation should only be applied when configured (#16270)
(cherry picked from commit ab32bac5d9)
* Merge pull request from GHSA-j74q-mv2c-rxmp
* Merge pull request from GHSA-j74q-mv2c-rxmp
* Merge pull request from GHSA-j74q-mv2c-rxmp
* Fix up after merge
* Remove obselete test
---------
Co-authored-by: Andy Butland <abutland73@gmail.com>
Co-authored-by: Kenn Jacobsen <kja@umbraco.dk>
Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Mole <nikolajlauridsen@protonmail.ch>
Co-authored-by: Ambert van Unen <ambertvu@gmail.com>
Co-authored-by: Lars-Erik <lars-erik@aabech.no>
Co-authored-by: Joshua Daniel Pratt Nielsen <jdpnielsen@gmail.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Sebastiaan Janssen <sebastiaan@umbraco.com>
Co-authored-by: Rasmus John Pedersen <mail@rjp.dk>
* Refactor permissions
* Fix user startnode caching
* Relax permissions on user item endpoint
* Refactor media types to align with newly refactored content permissions
* Remove permissions from member type item endpoint
* Adds `preview.js`
to replace the legacy `umbraco.websitepreview.min.js` script.
Updates the content's `Id` with `Key`.
* allow any protected route to render the backoffice
* optimise component so it doesn't need to observe its attributes and use the popover API to show it on top of the content
* handle case where the culture could be set to "invariant" - we just want to set the "lang" attribute to the default ui language
* convert 'end preview' into an api request and reset the style of the button
* minimize function
* move static text into constants
---------
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* AB40660 - untangle the preview cookie from the auth cookie
* Clean up
* Allow anonymous to end preview sessions
* Some refinements
* update OpenApi.json
* Fix enter preview test
* correct tests to match new expectations of the preview cookie
* sync preview tests with correct expectations of access level
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Working import/export media/document types
* WIP
* Refactoring of import doctype/media types
- added analyze endpoint to extract relevant data without fully processing the file
- split up import endpoints into POST & PUT
- removed availableAtAction as the new endpoint allows clients to call the POST/PUT endpoints with confidence
- Added a new service that is responsible for turning temp files into Import compatible XML and being able to extracty partial information from it
* Wrap persistance access in scopes
* Typos, formatting, clean-up
* PR feedback
* update openapi spec
* Changed deleteFile flag to _temporaryFileService.EnlistDeleteIfScopeCompletes
* Itty bitty typo
* Moved magic cleanup into its own method so orchestration can decide when.
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
* Sends GUID instead of the numeric ID for SignalR Preview Hub
* Add possibility to set cookies as HttpOnly
* Set UMB_PREVIEW cookie as HttpOnly
* fixup! Add possibility to set cookies as HttpOnly
* Refactor ContentFinderByIdPath to more readable
* Create ContentFinderByKeyPath reusing logic from ContentFinderByIdPath
* Add a comment to DisableFindContentByIdPath setting
* Append new content finder
* Change ordering of content finders registrations
* Refactor with a base class
* Update/refactor and add tests regarding ContentFindersByIdentifier
* Fix comment
* Avoiding breaking change
* Make usages use non-obsolete implementation
* Fixed todo in config instead of use the one old legacy name even more. Also obsoleted the ContentFinderByIdPath
* add `preview` as an allowed backoffice client route
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Refactor user group endpoints to use reference by id models instead
* Update user endpoints to use reference by id models
* Update usergroup ids to ReferenceByIdModel
* Added endpoint and backing service for backoffice login providers and the status per user.
* Improve link login redirect forming and error handling
* Add responseModel and mapping instead of returning core model
* Moved unlink endpoint logic into a service
* Refactored ExternalLinkLoginCallback logic into BackofficeExternalLoginService method
* typo and minor code style improvements
* async method name alignment
* Add BackOfficeExternalLoginService tests
* Remove helper method that makes less sense that thought.
* Minor formatting, clean-up and conventions
* Replaced cookie authentication in link-login with a short lived secret
Applied PR feedback
* Update openapi
* Changed link login to a form endpoint
* fix broken comment link
* Do not store claimsprinciple in secret + comments
* update redirect paths
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: kjac <kja@umbraco.dk>
Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
* Improve getting and initializing new block value layouts
* Remove unnecessary generic type constraints
* Add and use new block value/layout item constructors in tests
* Removed GetLayouts that did not make sense
* Added constructor to BlockItemData to simplify explicit usages
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Changed name from Dictionary to Translation
* Removed old Dictionary
* Adding missing tests for Dictionary
* Added smoke tag to test
* Bumped version of test helper
* Add comments
* Fixed comments
* Removed smoke tag
* handle 403 and unknown error codes from the server
* resolve 2fa errors in repository
error handling was never being activated because this specific endpoint did not return api errors as it works exactly like the "authorize" endpoint, which is being called directly
* chore: add obsolete message to unused `SetupViewPath`
* chore: remove unused events
* add missing labels
* fix: send only 'error' back if the response is not ok
* chore: remove duplicate error handling for 500 errors
* fix: add hack to allow to submit the form on enter click
* Allow FileUpload and Imagecropper to upload files in the same way
* Fixed issue with backward compatibility
* Exclude from converter
* Bugfix if editorvalue is not a string
* Fix file upload value editor + clean up + throw explicitly if editor value is invalid
* Revert changes to FileUploadPropertyEditor - the stored property data format remains the file path
* Actually revert all changes to FileUploadPropertyEditor
* Also revert JsonValueConverter
* Cleanup remove unused equality methods
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Revert "v14: Remove mentions of UmbracoApiController (#15863)"
This reverts commit 30e2dea57a.
* Obsolete UmbracoApiController
* Added a few more obsoletion messages
* Removed some of the reintroduced stuff again
* Add obsoletion to FrontEndRoutes controller
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Introduce EagerMatcherPolicy to conditionally bypass content routing
* Ensure that the candidate we disable dynamic routing for is valid
* Skip Umbraco endpoints
* Simplify logic a bit
* Move install logic to matcher
* Ensure that dynamic routing is still skipped when in upgrade state
* Fixup comments
* Reduce nesting a bit
* Don't show maintenance page when statically routed controllers are hít
* Remove excess check, since installer requests are statically routed
(cherry picked from commit ba9ddd11da)
* Introduce EagerMatcherPolicy to conditionally bypass content routing
* Ensure that the candidate we disable dynamic routing for is valid
* Skip Umbraco endpoints
* Simplify logic a bit
* Move install logic to matcher
* Ensure that dynamic routing is still skipped when in upgrade state
* Fixup comments
* Reduce nesting a bit
* Don't show maintenance page when statically routed controllers are hít
* Remove excess check, since installer requests are statically routed
* Return all data types from GetAllAsync
* Remove unnecessary async/awaits
* Ensure we don't accidentally fetch all data types when we mean to fetch none.
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Use Attempt<string> result to display the unhealthy error message
* Update OpenApi.json
* Code readability improvements
* Add unittest covering the bug
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* bump from es2020 to es2022 for better javascript support
* remove the hardcoded "paths" in tsconfig and replace with the backoffice package
* import uui-css to have styling on the dev server
* change endpoint mock url
* cleanup unused code
* Move audit log endpoints to their respective silos and clean up
* Fix failing integration tests
* Using DateTimeOffset in management api and new methods in service layer
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Fixed failing tests
* Updated tests to use the updated helpers
* Clean up tests
* Enabled our pipeline for E2E testing
* Updated the CMS URl for our E2E tests
* Bumped version of our testHelpers
* Did some fixing, still a bit more to do
* Updated auth tests to use LoginUiHelper
* Updated Telemetry tests to use TelemetryUiHelper
* Updated LogViewer tests to use LogViewerUiHelper
* Updated api tests to apply AAA pattern and fix failed tests
* Removed unused import
* Updated api tests for Language
* Added ui tests for Language
* Updated ui test of Language as test helper is changed
* Bumped version of test helper
* Updated create language tests
* Updated delete language test
* Added Language folder
* Fixed method name
* Bumped version of test helper
* Fix merge conflict
* Fixed typo
* Added more waits
* Fixed locator
* Updated locator
* Added timeout
* Fixed password
* Reversed file
* Bumped version
* Bumped version of test helper
* Added more waits
* Added skip for add language test
* Bumped version of test helper
* Added smoke tags
* Fix conflict
* Added @smoke tag to test all Language tests in the pipeline
* Fixed comment
* Removed smoke tag in describe
---------
Co-authored-by: Andreas Zerbst <andr317c@live.dk>
* fix: include all headers in webhook log
* feat: return webhook log status from server
* feat: make webhook logs deep linkable
* feat: add webhook log pagination
* feat: improve webhook request/response body preview
* Added missing alias and Id to usergroup models
create/update/response/item
* Changed userGroup IsSystemGroup to more meaningfull fields
Also enforced the AliasCanBeChanged businessrule 🙈
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
Co-authored-by: Mads Rasmussen <madsr@hey.com>
* Amend user start node handling
* Add "has root access" to current user endpoint
* Add document and media root access to user response model
* Update OpenApi.json
* Applied API suggestions
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* set the default for `AuthorizeCallbackPathName` to "/umbraco/oauth_complete" to allow the server to redirect the user back to a route where we don't load the entire backoffice.
* remove redundant method
* Added code to block unnecessary resources
* Updated createFolder
* Bumped version of test helper
* Changed clickCreateButton to clickCreateLink due to UI changes
* Bumped version of json builder
* Reversed previous code
* Removed waitForTimeout
* Removed waitForTimeout after login
* Bumped version of json builder
* Changed delete folder method
* Bumped version of test helper
* Update create link
* Removed waitForTimeout
* Added skip tests since currently only can view relations
* Added more explicit wait
* Removed hard wait
* Removed invalid verification step due to paging
* Moved get set telemetry level from test to before/after test
* Bumped version of test helper
* Added smoke tags - not done
* Added smoke tags
* Fixed merge conflict
* Added code to run smoke E2E tests after each build instead of full E2E tests
* Updated command to run smoke test
* Added more smoke tag
* Added reload tree steps
* Bumped version
* Removed hard waits
* Reduced wait time
* Reversed hard waits
* Set up full test suite in nightly build
* Fixed conditions
* Changed config
* Fix operation status msg
* Cleanup
* Removing unused status
* Adding WithConfigurationEditor on DataEditorBuilder to be able to create new list views with custom configuration
* Adding list view service tests for content and media
* Adding list view service tests base
* Consistency
* Clean up
* More cleanup
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Add endpoint for retrieving allowed media types for file extensions
* Moved paging into service
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Added code to block unnecessary resources
* Updated createFolder
* Bumped version of test helper
* Changed clickCreateButton to clickCreateLink due to UI changes
* Bumped version of json builder
* Reversed previous code
* Removed waitForTimeout
* Removed waitForTimeout after login
* Bumped version of json builder
* Changed delete folder method
* Bumped version of test helper
* Update create link
* Removed waitForTimeout
* Added skip tests since currently only can view relations
* Added more explicit wait
* Removed hard wait
* Removed invalid verification step due to paging
* Moved get set telemetry level from test to before/after test
* Bumped version of test helper
* Added smoke tags - not done
* Added smoke tags
* Fixed merge conflict
* Added code to run smoke E2E tests after each build instead of full E2E tests
* Updated command to run smoke test
* Added more smoke tag
* Added reload tree steps
* Bumped version
* Removed hard waits
* Reduced wait time
* Reversed hard waits
* Set up full test suite in nightly build
* Fixed conditions
* Changed config
* Added more waits
* Reversed yaml file
* Reversed yaml files
* Reversed YAML files
* Added .skip for failing tests due to RTE
* This fix ensures the claims added doing OnExternalLogin is persisted in the OpenIddict tokens
* Update comment
* Tiniest bit of formatting
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Added media tests
* Bumped versions
* Bumped version of testhelpers
* Cleaned up
* Added additional media tests
* Bumped version of playwright and testHelpers
* add option to SecuritySettings.cs to allow the developer to set an authorized logout callback path in line with the login callback path
* allow clients using the "Umbraco back-office access" descriptor to return back to either the login path or the logout path
* Cache user by id
* Add todo
* Fix tests
* Clear cache after update
* Refer to base class cache instead of implementing own
* Dont hardcode cache key
* Update to be Payload cache refresher instead
* Migrate nofication chars to strings
* Add a length to the UserGroup2PermissionDto.Permission
* Remove StripWhitespace
It was only nececary when it was nchar
* Better name for migration
* Reuse dictionary in migrations
---------
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
* Renamed the language item controllers to follow the current standard (they should not be called "entity")
* Renamed the webhook item controllers to follow the current standard (they should not be called "entity")
* Moved the webhook item controllers to the "/item" silo
* Renamed the user gorup controller base to be singular instead of plural
* Create member group endpoint should yield a 201 created response
* Update member endpoint should yield an empty 200 OK upon success
* Update UpdateUserDataController with correct action name and return an empty 200 OK upon success
* More item endpoints alignment
---------
Co-authored-by: Elitsa <elm@umbraco.dk>
* Add blocks telemetry
* Use constants and update tests
* V13: Add property type information to telemetry (#16109)
* Add property type counts to telemetry
* Use constants and fix tests
* Update description
* Adds new functionality to the migrations.
This requires a migration to call Context.SetDone() on the migration context. This happens automatically on scoped migrations before the scope is completed. But migrations inheriting the UnScopedMigrationBase needs to call this manually, inside the scopes or when it is considered done.
Thereby, we minimize the risk (and eliminate it for SqlServer) that a migration is executed but the state is not saved.
If a migration is executed without the SetDone is called, the migration upgrader throws an error, so we do not start executing the next migration
* Updated tests
* Renamed after review suggestion
* Rename in test
* More renaming after review
* Remove public modifier from interface
* Add missing space in exception message
---------
Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
* Consider max login lifetime with access and refresh tokens
* Adding clarification comment
* Updated comment and added a little explanation for future clarity
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Added mostly working linking methods to the backoffice controller
Cleanup still required
* Added proposed default error handling extionsion methods
* Cleanup, clarification and PR feedback
* More cleanup
* Transformed the OAuthOptionsExtensions into a helper class
this allows for proper DI for the dependencies
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Do not add index if it already exists
* Add the JsonObjectConverter by default. This is required by the block editor
* Update test to reflect that fact we have the json object converter applied
* Adding ISchemaIdHandler and core implementation enabling custom package implementations
* Adding IOperationIdSelector and refactoring core implementation to enable custom package implementations
* Adding OperationIdSelector core implementation enabling custom package
* Removing old way of Operation id extensibility
* Registering schema and operation id handlers
* Refactoring based on unnecessary param
* Obsoletion
* Refactoring SchemaIdSelector to make use of the new ISchemaIdHandler
* Update OpenApi.json
* Revert "Update OpenApi.json"
This reverts commit c9165f174b.
---------
Co-authored-by: kjac <kja@umbraco.dk>
* Removed hard waits
* Updated tests for Template and Partial View - not done
* Added insert section tests
* Used defaultTemplateContent to avoid duplicate code
* Added insert section tests
* Added missing tests for Partial View
* Added missing tests for Scripts
* Added missing tests for Stylesheet
* Added missing tests for Template
* Changed method's name due to test helper changes
* Added skip tests
* Bumped version of test helper
* Reversed waits
* Changed createThreeDotsButton to createButton due to UI changes
* Removed List View - Members tests as the UI changes
* Added more waits
* Removed unnecessary waits
* update the login image to the v14 variant
* switch out the default value of the "alternative" logo to the dark version since it fits better in this version
* Ported over #15928 changes for 13.3 RC
* Use GetOrAdd()
* Lock dictionary initialization
---------
Co-authored-by: Jason Elkin <jasonelkin86@gmail.com>
* Add async method to IContextCache
* Add async methods to IImageSourceParser and ILocalLinkParser
* Add async methods to IDataTypeConfigurationConnector, IServiceConnector and IValueConnector
* Obsolete non-aysnc methods
* Add cancellation tokens to new async methods
* Add ConfigureAwait(false) to awaits
* Use require modifier instead of setting null-suppressed default values
* Only remove read-only properties when IgnoreReadOnlyProperties is set
* Obsolete UmbracoPath property and remove work-around for obsolete setter
* Only add a SQL in statement if there are keys to filter on
* Improved faulty query fix by calling a cached path.
---------
Co-authored-by: Sven Geusens <sge@umbraco.dk>
* Implement using keymap for member
* Remove current usages of GetUserById
* User userId resolver to resolve user key
* Refactor user repository to use GUID not int
* Add happy path test
* Remove user in cache when user gets updated
* Use await in async method
* Fix up according to review
* Update IMetricsConsentService.cs to have async method
* Fix according to review
* Fix more according to comments
* Revert "Fix up according to review"
This reverts commit a75acaaa
* Get current backoffice user from method
* Update user repository delete functionality
* Fix up more test
* Try to get user by id if key fails
* Add user key as required claim
* Fix tests
* Don't set claim in BackofficeController
* Create constant for the Sub claim
---------
Co-authored-by: kjac <kja@umbraco.dk>
@@ -15,7 +15,7 @@ If the answer is yes, please read on. Otherwise, make sure to head on over [to t
## Getting Started:
To run umbraco, we first need to initialize the client git submodule:
* Execute `git submodule init` and then `git submodule update` to get the files into Umbraco.Web.UI.Client project
* Execute `git submodule update --init` to get the files into Umbraco.Web.UI.Client project
* If you are going to work on the Backoffice, you can either go to the Umbraco.Web.UI.Client folder and check out a new branch or set it up in your IDE, which will allow you to commit to each repository simultaneously:
* **Rider**: Preferences -> Version Control -> Directory Mappings -> Click the '+' sign
* If you get a white page delete Umbraco.Cms.StaticAssets\wwwroot\umbraco folder and run `npm ci && npm run build:for:cms` inside Umbraco.Web.UI.Client folder to clear out any leftover files from older versions.
[](https://twitter.com/intent/follow?screen_name=umbraco)
[](https://github.com/codespaces/new?hide_repo_select=true&ref=contrib&repo=10601208&machine=basicLinux32gb&devcontainer_path=.devcontainer%2Fdevcontainer.json&location=WestEurope)
Umbraco is the friendliest, most flexible and fastest growing ASP.NET CMS, and used by more than 500,000 websites worldwide. Our mission is to help you deliver delightful digital experiences by making Umbraco friendly, simpler and social.
### Umbraco is a free and open source .NET content management system. Our mission is to help you deliver delightful digital experiences by making Umbraco friendly, simpler and social.
Learn more at [umbraco.com](https://umbraco.com)
<p align="center">
<img src="img/logo.png" alt="Umbraco Logo" />
<img src="img/logo.png" alt="Umbraco Logo" />
</p>
See the official [Umbraco website](https://umbraco.com) for an introduction, core mission and values of the product and team behind it.
## <a name="install"></a>Looking to install Umbraco?
- [Getting Started](#getting-started)
- [Documentation](#documentation)
- [Community](#join-the-umbraco-community)
- [Contributing](#contributing)
You can get started using the following commands on Windows, Linux and MacOS (after installing the [.NET Runtime and SDK](https://docs.umbraco.com/umbraco-cms/fundamentals/setup/requirements)):
Please also see our [Code of Conduct](https://github.com/umbraco/.github/blob/main/.github/CODE_OF_CONDUCT.md).
## Getting Started
[Umbraco Cloud](https://umbraco.com/cloud) is the easiest and fastest way to use Umbraco yet, with full support for all your custom .NET code and integrations. You're up and running in less than a minute, and your life will be made easier with automated upgrades and a built-in deployment engine. We offer a free 14-day trial, no credit card needed.
If you want to DIY, then you can [download Umbraco]((https://our.umbraco.com/download)) either as a ZIP file or via NuGet. It's the same version of Umbraco CMS that powers Umbraco Cloud, but you'll need to find a place to host it yourself, and handling deployments and upgrades will be all up to you.
```
dotnet new install Umbraco.Templates
dotnet new umbraco --name MyProject
cd MyProject
dotnet run
```
## Documentation
The documentation for Umbraco CMS can be found [on Our Umbraco](https://docs.umbraco.com/). The source for the Umbraco docs is [open source as well](https://github.com/umbraco/UmbracoDocs) and we're happy to look at your documentation contributions.
Our [comprehensive documentation](https://docs.umbraco.com/umbraco-cms) takes you from the fundamentals on how to start with Umbraco to deploying it to production.
## Join the Umbraco community
Some important documentation links to get you started:
Our friendly community is available 24/7 at the community hub, we call ["Our Umbraco"](https://our.umbraco.com/). Our Umbraco features forums for questions and answers, documentation, downloadable plugins for Umbraco, and a rich collection of community resources.
- [Getting to know Umbraco](https://docs.umbraco.com/umbraco-cms/fundamentals/get-to-know-umbraco)
- [Tutorials for creating a basic website and customizing the editing experience](https://docs.umbraco.com/umbraco-cms/tutorials/overview)
Besides "Our", we all support each other in our [Community Discord Server](https://discord.gg/umbraco) and on Twitter: [Umbraco HQ](https://twitter.com/umbraco), [Release Updates](https://twitter.com/umbracoproject), [#umbraco](https://twitter.com/hashtag/umbraco)
## Get help
If you need a bit of feedback while building your Umbraco projects, we are [chatty on Discord](https://discord.umbraco.com). Our Discord server serves both a social space but also has channels for questions and answers. Feel free to lurk or join in with your own questions. Or just post your daily Wordle score, up to you!
## Looking to contribute back to Umbraco?
## Contributing
You came to the right place! Our GitHub repository is available for all kinds of contributions:
- [Create a bug report](https://github.com/umbraco/Umbraco-CMS/issues)
- [Create a feature request](https://github.com/umbraco/Umbraco-CMS/discussions)
Umbraco is contribution-focused and community-driven. If you want to contribute back to the Umbraco source code, please check out our [guide to contributing](CONTRIBUTING.md).
### Tip: You should not run Umbraco from source code found here. Umbraco is extremely extensible and can do whatever you need. Instead, [install Umbraco as noted above](#looking-to-install-umbraco) and then [extend it any way you want to](https://docs.umbraco.com/umbraco-cms/extending/).
<!-- Both OpenIddict.AspNetCore, Npoco.SqlServer and Microsoft.EntityFrameworkCore.SqlServer bring in a vulnerable version of Microsoft.IdentityModel.JsonWebTokens -->
# condition: or(eq(stageDependencies.Build.A.outputs['build.NBGV_PublicRelease'], 'True'), ${{parameters.sqlServerAcceptanceTests}}) # Outcommented due to timeouts
/// Generates a sanitized and consistent schema identifier for a given type following Umbraco's schema id naming conventions.
/// </summary>
protectedstringUmbracoSchemaId(Typetype)
{
varname=SanitizedTypeName(type);
name=HandleGenerics(name,type);
if(name.EndsWith("Model")==false)
{
// because some models names clash with common classes in TypeScript (i.e. Document),
// we need to add a "Model" postfix to all models
name=$"{name}Model";
}
// make absolutely sure we don't pass any invalid named by removing all non-word chars
returnRegex.Replace(name,@"[^\w]",string.Empty);
}
privatestringSanitizedTypeName(Typet)=>t.Name
// first grab the "non-generic" part of any generic type name (i.e. "PagedViewModel`1" becomes "PagedViewModel")
.Split('`').First()
// then remove the "ViewModel" postfix from type names
.TrimEnd("ViewModel");
privatestringHandleGenerics(stringname,Typetype)
{
if(!type.IsGenericType)
{
returnname;
}
// use attribute custom name or append the generic type names, ultimately turning i.e. "PagedViewModel<RelationItemViewModel>" into "PagedRelationItem"
// because some models names clash with common classes in TypeScript (i.e. Document),
// we need to add a "Model" postfix to all models
name=$"{name}Model";
}
// make absolutely sure we don't pass any invalid named by removing all non-word chars
returnRegex.Replace(name,@"[^\w]",string.Empty);
}
privatestringSanitizedTypeName(Typet)=>t.Name
// first grab the "non generic" part of any generic type name (i.e. "PagedViewModel`1" becomes "PagedViewModel")
.Split('`').First()
// then remove the "ViewModel" postfix from type names
.TrimEnd("ViewModel");
privatestringHandleGenerics(stringname,Typetype)
{
if(!type.IsGenericType)
{
returnname;
}
// use attribute custom name or append the generic type names, ultimately turning i.e. "PagedViewModel<RelationItemViewModel>" into "PagedRelationItem"
<!-- Both OpenIddict.AspNetCore, Npoco.SqlServer and Microsoft.EntityFrameworkCore.SqlServer bring in a vulnerable version of Microsoft.IdentityModel.JsonWebTokens -->
:thrownewInvalidOperationException("Could not retrieve the current member. This method should only ever be invoked when a member has been authorized.");
@@ -34,8 +35,8 @@ public class ConfigureUmbracoManagementApiSwaggerGenOptions : IConfigureOptions<
swaggerGenOptions.UseOneOfForPolymorphism();
// Ensure all types that implements the IOpenApiDiscriminator have a $type property in the OpenApi schema with the default value (The class name) that is expected by the server
@@ -50,6 +59,11 @@ public class BackOfficeLoginController : Controller
model.ReturnUrl=model.UmbracoUrl;
}
if(Uri.TryCreate(model.ReturnUrl,UriKind.Relative,out_)isfalse)// Needs to test for relative and not absolute, as /whatever/ is an absolute path on linux
{
returnBadRequest("ReturnUrl must be a relative path.");
// TODO This have temporarily been uncommented, to support the client sends values from all cultures, even when the user do not have access to the languages.
// The values are ignored in the ContentEditingService
// TODO This have temporarily been uncommented, to support the client sends values from all cultures, even when the user do not have access to the languages.
// The values are ignored in the ContentEditingService
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.