Commit Graph

1235 Commits

Author SHA1 Message Date
Jacob Overgaard
07b7c26fd9 Feature: Build static assets conditionally for Backoffice and Login (#17527)
* feat: conditionally install and build the 'login' and 'backoffice' targets depending on source files

* feat: remove the preconditions target, because we are now compiling a file list to check if we need to build

* feat: remove the 'clean' targets, because the project will be cleaned if any of the compiled file lists do not exist

* feat: remove the preserve.* files as they are no longer needed

* Enable default content items again

* Remove package.json from restore target inputs

* Include generated files as static assets after build

* Clean up project files

* Exclude CS0618 warning as error and fix CA2264

* Exclude CS0612 warning as error

* Suppress removal of test fixture

* Use separate property/item groups for backoffice and login project

---------

Co-authored-by: Ronald Barendse <ronald@barend.se>
2024-11-19 13:29:39 +01:00
kasparboelkjeldsen
7cc8f844f7 Support for SMTP OAuth authentication through easier IEmailSenderClient implementation (#17484)
* Implement IEmailSenderClient interface and implementation

In an effort to support oauth 2 and other schemes, we extract a emailsenderclient interface, allowing to replace default smtp client with one that fits the usecase, without having to implement all of Umbracos logic that builds the mimemessage

* fix test

* Documentation

* EmailMessageExtensions public, use EmailMessage in interface and impl.

* move mimemessage into implementation

* revert EmailMessageExtensions back to internal

* use StaticServiceProvider to avoid breaking change

* Fix test after changing constructor

* revert constructor change and add new constructor an obsoletes

* Moved a paranthesis so it will build in release-mode

(cherry picked from commit bff321e6f5)
2024-11-19 08:49:35 +01:00
Nhu Dinh
66569f7fa8 V15 QA Fixed TODO tests (#17488)
* Fixed todo of content tests with image cropper

* Fixed TODO in partial view tests

* Fixed waits

* Fixed TODO in Media type design tab tests

* Fixed TODO tests for document type template tab

* Fixed TODO tests for document type setting tab

* Cleaned up

* Fixed Todo tests for document type design tab

* Removed skip tests

* Added comment

* Fixed flaky member group tests

* Removed skip tests

* Cleaned up

* Fixed TODO tests for media

* Fixed TODO tests for dictionary

* Fixed TODO tests for Content info tab

* Fixed TODO tests

* Bumped version

* Cleaned up

* Updated tests due to UI changes

* Fixed failing tests

* Bumped version

* Fixed failing tests for Content Picker, Block setting due to UI changes

* Bumped version
2024-11-18 05:59:11 +00:00
Bjarke Berg
c846633ff9 Fixes to templates: Do not allow deletion of masters and ensure file names are pascal case (#17539)
* Make template file names start with capical character

* https://github.com/umbraco/Umbraco-CMS/issues/16443

Also ensure master templates cannot be deleted

* Fix test

* Do not check breaking changes in integration tests

---------

Co-authored-by: nikolajlauridsen <nikolajlauridsen@protonmail.ch>
2024-11-16 20:30:43 +01:00
Bjarke Berg
ba8092fac7 Fixes https://github.com/umbraco/Umbraco-CMS/issues/17506 (#17536)
Now the validation of ClientId has a max of 255 characters
2024-11-15 09:40:26 +01:00
Sebastiaan Janssen
021c178257 Merge branch 'contrib' into v15/dev 2024-11-14 11:34:37 +01:00
Sebastiaan Janssen
9056851eed Revert "Making Culture Invariant When Validating Date to negate deferent formats (#17257)"
This reverts commit dabaeac262.

# Conflicts:
#	src/Umbraco.Core/PropertyEditors/Validators/DateTimeValidator.cs
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/PropertyEditors/Validators/DateTimeValidatorTests.cs
2024-11-14 11:29:50 +01:00
Zeegaan
b8b96f05d1 Merge branch 'release/15.0' into v15/dev
# Conflicts:
#	Directory.Build.props
#	version.json
2024-11-14 09:03:28 +01:00
Nikolaj Geisle
a9636d5429 V15: Implement not-implemented methods for media cache (#17524)
* Implement not-implemented methods for media cache

* Fixed test

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-11-13 12:04:27 +01:00
Zeegaan
b9b7cb6d85 Rename extension methods back 2024-11-13 09:27:29 +01:00
Bjarke Berg
8d631e9dc1 Update NuGet packages 2024-11-12 + Final .NET 9 (#17511)
* Update nuget packages

* Update message pack

* Updated microsoft packages and .net to final .net 9

* Update more rcs to final
2024-11-12 21:09:51 +01:00
Bjarke Berg
c9fa2a57d7 Merge branch 'release/15.0' into v15/dev
# Conflicts:
#	src/Umbraco.Core/DependencyInjection/UmbracoBuilder.Configuration.cs
#	src/Umbraco.Core/Extensions/PublishedContentExtensions.cs
#	src/Umbraco.Web.UI.Client/src/packages/tiptap/components/input-tiptap/tiptap-toolbar.element.ts
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/Services/ContentNavigationServiceBaseTests.cs
2024-11-12 12:14:50 +01:00
Ronald Barendse
b002ac8600 Add UDI support for relation, user and user-group entity types (#17490)
* Add GetUdi() extension methods for IUser and IUserGroup

* Add GetUdi() extension methods for IRelation

* Move GetUdi() extension methods for Script and Stylesheet to interface types

* Register relation, user and user-group as known UDI types

* Obsolete UdiParserServiceConnectors

* Use IScript and IStylesheet types in tests

* Fix UdiTests after obsoleting UdiParserServiceConnectors
2024-11-12 08:45:58 +01:00
Bjarke Berg
87aff77054 Explicit cache entry settings and expose cache settings in json schema (#17480)
* Changed the cache entry settings to be explicit and exposed it in the schema file

* commit of tests

* Fix seed options

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-11-11 12:52:11 +01:00
Elitsa Marinovska
c26016b0b0 V15: Implement content type filtering for in-memory navigation structure (#17456)
* Adding contentType to navigation node

* Loading contentType from DB

* Considering contentTypeKey when adding a navigation node & fixing references

* Using IContentTypeBaseService to load content types

* Adding generics to ContentNavigationServiceBase and fixing references

* Adding TryGetChildrenKeysOfType and implementation

* Refactoring test data

* Adding unit tests for TryGetChildrenKeysOfType

* Update CreateContentCreateModel in tests to receive content type

* Fix references

* Cleanup

* Adding integration tests for TryGetChildrenKeysOfType

* Cleanup

* Cleanup

* Descendants of type implementation

* Descendants of type tests

* Interface updates

* Ancestors of type implementation and tests

* Siblings of type implementation and tests

* Cleanup

* Integration tests

* Adding root of type implementation and tests

* Fix Ancestors extension methods

* Fix descendants extension methods

* Fix children extension methods

* Fix siblings extension methods

* Add helper methods

* Fix a bug

* Fixed unit tests by setting up mocks

* Adding missing extension method

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-11-11 12:00:20 +01:00
Sven Geusens
e7eb14d310 V15/task/cleanup obsolete (#17433)
* Replace obsolete UserGroup Alias consts to key equivalent in tests

* Update use of usergroup alias consts to key equivalent in IsSystemgroup extension method

* Obsolete (internally) unused helper function which purpose doesn't even seem true

* Prepped EmbedProviders for proper removal of non async methods and unneeded proxy methods

* Remove obsoleted UmbracoPath and updated internal references

* Corrected  mistake and updated unittets

* Update usergroup tests that use aliases for "system" groups

* Replace more uses of globalsettings.UmbracoPath

* Remove GetDateType by key non async

* Cleanup some usages of hostingEnvironment.MapPathContentRoot

* More easy obsoletion cleanup

* Small Typeload cleanup

* More obsolete removal

* Deploy obsoletion cleanup

* Remove obsolete methods from OEmbedProviderBase.cs

---------

Co-authored-by: Zeegaan <skrivdetud@gmail.com>
2024-11-07 12:20:22 +01:00
Kenn Jacobsen
669c585ac4 Validate client IDs before applying them (#17426)
* Validate client IDs before applying them

* Add operation result to return

* Update src/Umbraco.Cms.Api.Management/Controllers/User/ClientCredentials/ClientCredentialsUserControllerBase.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Zeegaan <skrivdetud@gmail.com>
Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2024-11-07 10:42:40 +01:00
Bjarke Berg
16d8ad8115 Fixes https://github.com/umbraco/Umbraco-CMS/issues/17430 (#17439)
Fixed issue where block based types did not use their StorageValueType but fallback to the short string
2024-11-07 09:12:04 +01:00
Sebastiaan Janssen
2949658cb5 Merge branch 'v15/dev' into contrib
# Conflicts:
#	src/Umbraco.Core/PropertyEditors/Validators/t.cs
2024-11-06 15:18:36 +00:00
Bjarke Berg
336bd997f1 Merge remote-tracking branch 'origin/release/15.0' into v15/dev
# Conflicts:
#	src/Umbraco.Infrastructure/Migrations/Upgrade/V_15_0_0/ConvertBlockEditorPropertiesBase.cs
#	src/Umbraco.Web.UI.Client
2024-11-05 09:14:08 +01:00
Kenn Jacobsen
2c04e37b42 Support limited language access at block level (#17322)
* Support limited language access at block level

* Account for AllowEditInvariantFromNonDefault when updating properties (#17333)

* Remove obsolete ctor

* Add explanatory comment

* Set AllowEditInvariantFromNonDefault to true on tests

* Refactor to account for merge and default language

* Merge invariant values on top of the already merged values

* Add integration test to prove invariant merging

---------

Co-authored-by: kjac <kja@umbraco.dk>

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-11-05 06:32:34 +01:00
nikolajlauridsen
8f86ac1bd1 Merge branch 'release/15.0' into v15/dev
# Conflicts:
#	src/Umbraco.Core/Services/DocumentUrlService.cs
2024-11-04 12:49:38 +01:00
Bjarke Berg
6417948a58 #17391 (#17413)
Fixes issue with the delivery api can find unpublished content
2024-11-04 12:27:47 +01:00
Kenn Jacobsen
1fe689e027 Add logging to RTE integration tests to trace the source of the failing tests (#17376)
* Add logging to RTE integration tests to trace the source of the failing tests

* Revert build host change

* Explicitly log to console

* Make the test assertions less fragile
2024-11-04 07:26:32 +01:00
Kenn Jacobsen
5fe91f837d Validation for block level variation (#17355)
* Validation for block level variation

* Make the "missing property value" JSON path expression valid

* Update src/Umbraco.Core/Services/ContentValidationServiceBase.cs

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

* Update src/Umbraco.Core/Services/ContentValidationServiceBase.cs

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

* Update src/Umbraco.Infrastructure/PropertyEditors/BlockEditorValidatorBase.cs

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>

---------

Co-authored-by: Nikolaj Geisle <70372949+Zeegaan@users.noreply.github.com>
2024-10-31 10:04:54 +01:00
Sebastiaan Janssen
7faceb365b Merge branch 'v15/dev' into contrib 2024-10-28 17:11:47 +01:00
Mole
d1799ecdd2 V15: Refresh caches on load balanced environments (#17296)
* Move DocumentCacheService

* Add clear all documentws from memory cache

* Fix RedirectTracker

* Implement refresh node/branch/all/delete

* Only update databasecache in RefreshContentAsync

* Fix tests

* Skip blueprints in cache

* Clear caches when contenttype is updated

* Clear cache on data type update

* Refresh media

* Only update memory cache from refreshers

* Fix imports

* Add named options

* Use cache entry settings in media

* Obsolete nucache settings

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-10-28 15:31:39 +01:00
Bjarke Berg
e92a1b73f0 Formatting and disable warningsaserrors on tests 2024-10-28 13:19:46 +01:00
Bjarke Berg
9a80328224 Merge remote-tracking branch 'origin/release/15.0' into v15/dev
# Conflicts:
#	src/Umbraco.Web.UI.Client
#	tests/Umbraco.Tests.AcceptanceTest/tests/DefaultConfig/Dictionary/Dictionary.spec.ts
#	version.json
2024-10-28 12:32:39 +01:00
Bjarke Berg
935c3b8e42 Initialize important services before unattended installs (#17366)
* Added new notification to hook in after the premigrations and use this to init different services.

* Force MaxDegreeOfParallelism to 1, while investigating scopes

* Tried some more workarounds

* Updated scopes and changed parallel to non parallel to ensure migration works

* Missing scope

* Make it parallel again - The secret is, the SuppressFlow needs to be when you create the task, but not on the await!.

* Fixed issue when DEBUG_SCOPES is not added to tests.

* Remove test exception

* Try build on ubuntu again, even that we know it can be stuck. Just a test to see if all tests pass

* Updated comment

---------

Co-authored-by: kjac <kja@umbraco.dk>
2024-10-28 12:10:38 +01:00
Elitsa Marinovska
853e605665 V15: Adding tests for INavigationQueryService.TryGetLevel() (#17375)
* Fixing implementation to return null as level when it cannot retrieve it

* Adding unit tests
2024-10-28 08:15:43 +01:00
Elitsa Marinovska
64b6c8a47e V15: Adding unit tests for INavigationQueryService.TryGetRootKeys() (#17374)
* Changing to Guid.NewGuid()

* Adding unit tests for TryGetRootKeys
2024-10-28 08:04:55 +01:00
Andreas Zerbst
2edbd7d419 V15 QA updated E2E tests (#17359)
* Updated tests for v15

* V14 QA Skip Users tests on Sqlite (#17330)

* Split sqlite test because we run into db locks

* Uses the new command

(cherry picked from commit 728dc89909)
(cherry picked from commit 126bce7721)

* Fixed tests

---------

Co-authored-by: Nhu Dinh <hnd@umbraco.dk>
2024-10-25 12:17:30 +02:00
Nikolaj Geisle
5a5de18843 Format sql statement (#17354)
(cherry picked from commit aa9f194d76)
2024-10-24 15:07:40 +02:00
Nikolaj Geisle
226819de21 Format sql statement (#17354)
(cherry picked from commit aa9f194d76)
2024-10-24 15:07:04 +02:00
Andreas Zerbst
126bce7721 V14 QA Skip Users tests on Sqlite (#17330)
* Split sqlite test because we run into db locks

* Uses the new command

(cherry picked from commit 728dc89909)
2024-10-22 13:13:42 +02:00
Andreas Zerbst
f3c3b25657 Fixed test (#17325) 2024-10-21 14:47:45 +02:00
Kenn Jacobsen
bafcc2b945 Block level variants - search indexing (#17239)
* Support block level variance for search indexing

* Rename base class

---------

Co-authored-by: Elitsa <elm@umbraco.dk>
2024-10-20 15:42:13 +02:00
Andreas Zerbst
60ddff1ce2 Fixed build errors (#17298) 2024-10-17 10:49:33 +02:00
Jacob Overgaard
4f4f6787dc Merge remote-tracking branch 'origin/release/15.0' into v15/dev
# Conflicts:
#	src/Umbraco.Core/Services/DocumentUrlService.cs
#	src/Umbraco.Web.UI.Client
#	tests/Umbraco.Tests.UnitTests/Umbraco.Core/Services/ContentNavigationServiceBaseTests.cs
2024-10-17 09:02:19 +02:00
Jacob Overgaard
35e8f2e460 V15: Rich Text Editor links do not work with query strings and anchors (#17288)
* 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
2024-10-16 16:53:10 +02:00
Elitsa Marinovska
44ff8dc5e1 V15: Implement sorting for the in-memory navigation structures (document and media) (#17280)
* bump version to 15.1.0

* V15 Fixed the failing smoke tests in the pipeline v15 (#17158)

* Fixed the failing tests of Member Group due to UI changes

* Fixed the failing tests of Member due to UI changes

* Fixed the failing tests of User due to UI changes

* Fixed failing tests for Dictionary and Document Type

* Updated tests due to test helper changes

* Bumped version

* Updated assert steps due to the response changes

* Updated tests due to api helper changes

* Updated tests due to UI changes

* Fixed tests for delete partial view

* Fixed tests

* Added more waits

* Updated assert steps

* Fixed failing tests for Block Grid and Media

* Added more waits

* Added skip tests

* Removed waits time

* Updated assertion steps for User

* Added todo

* Updated tests due to api helper changes

* Bumped version

* Added skip tests

* Fetch sortOrder for each navigationNode

* Update NavigationNode to have sortOrder and change Parent and Children props to keys instead of NavigationNodes

* Consider sortOrder when building the navigation structures

* Renaming tests

* Adding tests for items being the last in structure when added, moved, etc.

* Updating names

* Cleanup

* Updating cache refreshers with changes due to sorting

* Refactoring due to sorting changes and resolving key to NavigationNode

* Removing sortOrder params from test as they are calculated automatically

* Adding content and media integration tests to test sorting functionality

* Adding sortOrder param for special case when adding new nodes

* Adding new UpdateSortOrder to INavigationManagementService

* Revert "V15 Fixed the failing smoke tests in the pipeline v15 (#17158)"

This reverts commit 31399c3b15.

* Revert "bump version to 15.1.0"

This reverts commit 5e4d15be

* Fix revert

* Add sort order when creating media

---------

Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com>
Co-authored-by: Nhu Dinh <150406148+nhudinh0309@users.noreply.github.com>
Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-10-16 09:51:42 +02:00
Bjarke Berg
b477cf50f2 Bugfix: Do not allow routing content that is unpublished (#17251)
* Ensure routing respect publish status

* Check published status per culture

* Added PublishStatusService to get publish status for a given documentkey and culture

* Added tests and fixed bug with a static fields that should not have been static

* Make sure the write and read cache key is always the same no matter where the request comes from

There is an edge case where the incomming culure is fully capitalized while the read is camelcase

* Fixed review comments

---------

Co-authored-by: Sven Geusens <sge@umbraco.dk>
2024-10-15 19:33:23 +02:00
Kenn Jacobsen
0e700af35d Support block level variant tags (#17268) 2024-10-15 12:03:05 +02:00
Ibrahim Muhammad Nada
dabaeac262 Making Culture Invariant When Validating Date to negate deferent formats (#17257)
* CultureInfo.InvariantCulture,

* adding unitTests by @Matthew-Wise
2024-10-12 14:33:17 +01:00
Jason Prothero
421a3a9bd9 Fix stylecop errors with function parameters on separate lines 2024-10-12 02:00:56 +02:00
Bjarke Berg
6e0ab4dd7e Merge remote-tracking branch 'origin/release/15.0' into v15/dev
# Conflicts:
#	src/Umbraco.PublishedCache.HybridCache/Services/MediaCacheService.cs
#	src/Umbraco.Web.UI.Client
#	tests/Umbraco.Tests.Common/Builders/MediaTypeEditingBuilder.cs
2024-10-10 11:11:08 +02:00
Bjarke Berg
d28f04d750 Updated to .NET9 RC2 + other nuget packageds (#17235)
* Updated to .NET9 RC2 and a few other nuget packages. Most notable is OpenIddict v6 preview that supports .net 9

* Revert "temp remove tag helpers (#16977)"

This reverts commit 84cc3051ad.
2024-10-10 10:14:46 +02:00
Mole
2b12eadd3d V15: Refresh IPublishedContentTypeFactory when data types change (#17180)
* Refresh IPublishedContentTypeFactory when data types change

* Add tests
2024-10-07 11:11:22 +02:00
Bjarke Berg
537a657de3 V15: Fix previews (#17181)
* default to preview value from cookie instead of draft.

* Fix tests

---------

Co-authored-by: Zeegaan <skrivdetud@gmail.com>
2024-10-03 15:35:17 +02:00